hjk
3df5728dce
preprocessor: use strtol immediately instead of intermediate bytearrays
...
Change-Id: I92ffe360847fc828b23467d0639824aea63fab32
Reviewed-by: Thomas Hartmann <Thomas.Hartmann@nokia.com >
2012-04-19 18:35:47 +02:00
hjk
6808719962
preprocessor: avoid using QVector += QVector.
...
It destroys preallocation. See https://bugreports.qt-project.org/browse/QTBUG-25371 .
Change-Id: Idde09a07f250a347f8016d8fdb04cd00d031fe10
Reviewed-by: Thomas Hartmann <Thomas.Hartmann@nokia.com >
2012-04-18 13:20:51 +02:00
hjk
4e83279123
preprocessor: provide direct char* overloads for ByteArrayRef::operator==
...
Change-Id: I58de7e704bdbd3861a4a534d8080cc2a8399b7eb
Reviewed-by: Thomas Hartmann <Thomas.Hartmann@nokia.com >
2012-04-18 13:20:17 +02:00
hjk
9e3127a2f6
preprocessor: don't create temporary bytearray objects to handle commas
...
Change-Id: I1c45bb9a5118e19b15878eb04e65b52bd6c5d1e7
Reviewed-by: Thomas Hartmann <Thomas.Hartmann@nokia.com >
2012-04-18 13:20:04 +02:00
hjk
7383220d73
preprocessor: prevent temporary copy
...
Change-Id: Ic86d8b091da332393a527ba634a23556f2001a8b
Reviewed-by: Thomas Hartmann <Thomas.Hartmann@nokia.com >
2012-04-18 13:06:22 +02:00
Thiago Macieira
8a5074734a
Fix the compilation with GCC 4.6's headers.
...
std::list is in #include <list>
/home/thiago/src/qt/creator/src/libs/cplusplus/pp-engine.cpp(110): error: qualified name is not allowed
std::list<PPToken> tokens;
^
Change-Id: I02a08afe6a678d66d528ce5dfca08317735704e8
Reviewed-by: Roberto Raggi <roberto.raggi@nokia.com >
2012-04-11 13:32:44 +02:00
Francois Ferrand
68471c2100
Preprocessor: fix macro definition line.
...
The line corresponding to the macro definition is simply the token's
line. This caused errors in the macro definitions, since there were
multiple macros defined on the same line of the same file.
Task-number: QTCREATORBUG-7217
Change-Id: I56d17eeba677ac51f9eed283c0e964019bdfe4b7
Reviewed-by: Roberto Raggi <roberto.raggi@nokia.com >
2012-04-02 17:01:52 +02:00
Francois Ferrand
332072019a
Preprocessor: Fix client notification.
...
- Notify end of macro if function expansion is skipped.
- Do not notify client of generated macros expansion.
Change-Id: Ic027fc13ee391425a5ebadc8e84b9305912dbcf0
Reviewed-by: Roberto Raggi <roberto.raggi@nokia.com >
2012-04-02 13:49:00 +02:00
Erik Verbruggen
f5aacb89eb
[C++] Robustness fix for boost's preprocessor/seq/fold_right.hpp.
...
Change-Id: I11f6cff556519b768dd5d979dfd184809ed18291
Reviewed-by: Roberto Raggi <roberto.raggi@nokia.com >
2012-03-30 16:05:18 +02:00
Erik Verbruggen
48154450de
[C++] Fix crash for missing token after #include directive.
...
Change-Id: Ia54c5ddc801962c89dc0483f5912f1de436b8f43
Reviewed-by: Erik Verbruggen <erik.verbruggen@nokia.com >
2012-03-30 13:36:31 +02:00
Erik Verbruggen
ff0a465403
[C++] Always output a #line as first line of the pp output.
...
Change-Id: I60d25109ae8fe3628b1899078a21010263787c33
Reviewed-by: Roberto Raggi <roberto.raggi@nokia.com >
2012-03-30 13:24:36 +02:00
Erik Verbruggen
2a74097b54
Fix #include MACRO_NAME.
...
Change-Id: Id1c4046d028ad26d17b28feb53a832f3b48363f1
Reviewed-by: Erik Verbruggen <erik.verbruggen@nokia.com >
2012-03-29 17:17:00 +02:00
Erik Verbruggen
60db573660
[C++] Rewrite of the preprocessor.
...
This rewrite fixes a couple of issues with the pre-processor. It now
supports:
- macros in macro bodies
- stringification of parameters [cpp.stringize]
- the concatenation operator [cpp.concat]
- #include MACRO_HERE
- defined() inside macro bodies used in pp-conditions.
Change-Id: Ifdb78041fb6afadf44f939a4bd66ce2832b8601f
Reviewed-by: Roberto Raggi <roberto.raggi@nokia.com >
2012-03-29 14:28:17 +02:00
Francois Ferrand
2386d701b6
Preprocessor: fix line for generated code.
...
The macro used to be at the same line as the first token after the
closing parenthesis.
Change-Id: I4c2d7317632baf612900e84572017aeb247d0585
Reviewed-by: Erik Verbruggen <erik.verbruggen@nokia.com >
2012-03-19 10:48:43 +01:00
Francois Ferrand
ffd58c577a
Preprocessor: Handle variadic arguments (__VA_ARGS__).
...
Change-Id: I69aa6c5e01ea97a4413f77f20ebbb4d4beb971aa
Reviewed-by: Erik Verbruggen <erik.verbruggen@nokia.com >
2012-03-19 10:31:09 +01:00
Erik Verbruggen
3fa55b7ab9
Removed module names from #include directives.
...
Getting the #include directives ready for Qt5. This includes the
new-project wizards.
Change-Id: Ia9261f1e8faec06b9285b694d2b7e9a095978d2b
Reviewed-by: Eike Ziller <eike.ziller@nokia.com >
2012-02-15 16:24:46 +01:00
hjk
2931a499e6
Long live the king!
...
Change-Id: I2b72b34c0cfeafc8bdbaf49b83ff723544f2b6e2
Reviewed-by: Daniel Teske <daniel.teske@nokia.com >
2012-01-26 19:55:36 +01:00
hjk
31600758de
all: s/info@qt.nokia.com/qt-info@nokia.com/
...
Change-Id: If18afb5d4665924e7d9250dccbc60a65e6daa75e
Reviewed-by: Eike Ziller <eike.ziller@nokia.com >
2011-11-03 10:33:19 +01:00
Benito van der Zander
d6e46f7a84
add always defined macro Q_CREATOR_RUN to cpp parser
...
Merge-request: 336
Reviewed-by: Erik Verbruggen <erik.verbruggen@nokia.com >
Change-Id: Iefd0c60bb3e78047e28dcff33cc62c15ed11f711
Reviewed-on: http://codereview.qt-project.org/4292
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com >
Reviewed-by: Christian Kamm <christian.d.kamm@nokia.com >
2011-09-08 14:09:48 +02:00
Leandro Melo
d91c218d54
C++: More flexibility for string representation of macros
...
It's now possible to get the macro definition with the actual
line breaks used on the code. This is particularly useful for
tooltips in order for them to look nice.
The preprocessor is changed so the macro also stores the breaks
positions. This doesn't seem to have any impact on performance.
In my machine, for example, the total time for parsing Creator's
source code is approx. 18100ms with or without the patch.
Change-Id: Ic7487236315c3567d26496315accdb2adfea894a
Reviewed-on: http://codereview.qt.nokia.com/4253
Reviewed-by: Christian Kamm <christian.d.kamm@nokia.com >
2011-09-06 14:21:04 +02:00
Christian Kamm
9f1c294dd4
C++ preprocessor: Fix multiline tokens in ifdef'ed out blocks.
...
Change-Id: If6f9819565f891e861f9e111423d99caa7c0f7aa
Reviewed-on: http://codereview.qt.nokia.com/3884
Reviewed-by: Roberto Raggi <roberto.raggi@nokia.com >
Reviewed-by: Leandro T. C. Melo <leandro.melo@nokia.com >
2011-08-31 07:41:32 +02:00
Christian Kamm
93e367ed0c
C++: Don't strip comments from preprocessed source code.
...
Change-Id: I3a4817d36b9c724abca504c42914a73f97ab34c7
Reviewed-on: http://codereview.qt.nokia.com/3480
Reviewed-by: Roberto Raggi <roberto.raggi@nokia.com >
2011-08-25 13:20:09 +02:00
Tobias Hunger
aa2acec14c
Fix/add copyright headers
...
Change-Id: I8b73d583be1ee7183f4074bce49d5390e38631a2
2011-05-06 15:17:05 +02:00
Friedemann Kleint
774fa49412
Fix more krazy warnings.
2011-04-19 15:43:53 +02:00
hjk
8397663964
Update license.
2011-04-13 11:49:28 +02:00
hjk
57eae3191e
s:// end of namespace :// namespace :g for consistency
...
We use the latter style everywhere else to signify the end of a namespace block.
2011-02-04 12:45:32 +01:00
con
d1023c7614
It's 2011 now.
...
Reviewed-by: hjk
2011-01-12 09:46:24 +01:00
Christian Kamm
16542241c9
C++: Add parsing of Q_PRIVATE_PROPERTY.
...
Reviewed-by: Roberto Raggi
2011-01-04 15:58:22 +01:00
Christian Kamm
633c254986
C++: Fix bind of Q_INVOKABLE functions.
...
Reviewed-by: Roberto Raggi
2011-01-04 15:58:21 +01:00
con
04e32b0049
License headers.
2010-12-17 16:03:42 +01:00
Roberto Raggi
b68a16f1b5
Highlight user defined types.
2010-05-25 17:15:22 +02:00
Roberto Raggi
2355799901
Get rid of unsigned/long suffixes before evaluating numbers.
...
Task-number: QTCREATORBUG-1292
2010-04-29 12:34:50 +02:00
Roberto Raggi
000b637523
Handle unary ~ operator.
2010-04-27 09:55:19 +02:00
Erik Verbruggen
b4d72a78db
Added parser support for Q_INTERFACES.
2010-03-17 10:30:17 +01:00
Roberto Raggi
37c042703f
Take the branch when evaluating #ifndef QT_NO_XXX and QT_NO_XXX has been defined in a pro file.
2010-03-12 15:25:48 +01:00
hjk
9595504bda
Long live the king!
2010-03-05 11:28:13 +01:00
Roberto Raggi
293f67580d
Fixed: Wrong usage highlighting if function's argument list contains comment.
...
Task-number: QTCREATORBUG-577
2010-03-03 14:11:45 +01:00
Erik Verbruggen
72c3ba791e
Fixed pre-processor handling for Q_PROPERTY, Q_ENUMS and Q_FLAGS.
2010-02-22 18:00:26 +01:00
Erik Verbruggen
1af05166d9
Removed Q_DECLARE_FLAGS parsing, leaving it to the CPP to expand it.
2010-02-08 15:41:18 +01:00
Erik Verbruggen
8d8b05da5a
Reworked parts of the QtPropertyDeclaration parsing and handling.
2010-02-07 10:49:03 +01:00
Erik Verbruggen
b7cbc9b0c1
Removed methods which always returned a constant (false).
2010-01-28 17:05:26 +01:00
Erik Verbruggen
0fdf02ab4d
Changed binary expression parsing to use precedence parsing.
2010-01-28 15:22:50 +01:00
Wolfgang Beck
4b33881729
Merge ichecker branch changes into the mainline. New project can be found under src/tools/ICheck
2010-01-19 15:26:08 +10:00
Tobias Hunger
df2a2dc118
Small inclusion fixes.
...
* Remove duplicate headers.
* Move own headers to the top.
Reviewed-by: Roberto Raggi
2010-01-08 15:48:32 +01:00
Christian Kamm
c3cc7cf4d8
Enhance data stored for macros and macro uses.
...
In preparation for finding macro uses.
* Macro: add offset and length
* MacroUse: add line
* Document: add convenience functions for finding a macro definition, use
or undefined use at a given location.
Reviewed-by: Erik Verbruggen
2009-12-21 14:57:05 +01:00
Roberto Raggi
599d4aa355
Fixed line/column position of the tokens after multiline string literals.
2009-12-17 16:06:35 +01:00
Roberto Raggi
0be80466b8
Save/Restore the if-level.
2009-12-09 16:01:20 +01:00
mae
c1120587a8
Merge commit 'origin/1.3'
...
Conflicts:
src/plugins/cppeditor/cppeditor.cpp
2009-12-03 18:41:21 +01:00
Christian Kamm
cc6c543a75
Compile fix for 42f849c4da.
...
Reviewed-by: Roberto Raggi
2009-12-03 16:05:53 +01:00
con
8b9c748abb
Merge remote branch 'origin/1.3'
2009-12-03 15:15:08 +01:00