Commit Graph

28 Commits

Author SHA1 Message Date
hjk
538901d441 preprocessor: make Preprocessor::preprocess private
Change-Id: Ic81e3ebec1b42ae0698a340ee7e1c711225c1162
Reviewed-by: hjk <qthjk@ovi.com>
2012-04-19 18:47:03 +02:00
hjk
acf6f8f0cb preprocessor: make Environment::{resolve,remove} work on ByteArrayRefs only
Change-Id: Idb93d359bd45696a38cb863dcea30c5c377eeabb
Reviewed-by: hjk <qthjk@ovi.com>
2012-04-19 18:41:18 +02:00
hjk
3428240233 preprocessor: add autotest for defined(...) and undefined(...)
Change-Id: I7c843a449bb6db348ab374b4bd2c378b797b94cd
Reviewed-by: hjk <qthjk@ovi.com>
2012-04-19 18:38:00 +02:00
hjk
37e3853090 preprocessor tests: compile fix
Change-Id: Iab9fb8ecbad94e08d39b6fad60caaf98a85d5980
Reviewed-by: hjk <qthjk@ovi.com>
2012-04-17 09:40:34 +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
1a10bcdaad Add test case to preprocessor.
- This enables some tests which had been unexpectedly disabled in
earlier test.
- Tests to show issue QTCREATORBUG-7225.
- Tests which validates somehow behavior of preprocessor for
QTCREATORBUG-7217: the test passes, so the problem is likely not in the
startExpandingMacro() notification.

Change-Id: Ib7c1433e4dcdd8c1d19fa117371f94c1645ec3fb
Reviewed-by: Roberto Raggi <roberto.raggi@nokia.com>
2012-04-02 15:16:25 +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
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
558b6e08ae Preprocessor: fix expanding macro arguments.
Expanding macro arguments can add or remove argument for a nested macro,
so the actual parameters list was not correct.

Also, remove unused arguments reference list and reserve space for the
expected number of arguments.

Change-Id: I4cf369cbb3909927c6bf65750bd715fa6f070fad
Reviewed-by: Erik Verbruggen <erik.verbruggen@nokia.com>
2012-03-19 10:35:21 +01:00
Francois Ferrand
3e9105e401 Preprocessor: fix handling of first empty argument.
First empty argument used to be dropped: e.g. MACRO(,test) would be
expanded with one parameter only, with value 'test'.

Change-Id: I693fbb7faf1360f62266fa04c4b39c2de0d159a7
Reviewed-by: Erik Verbruggen <erik.verbruggen@nokia.com>
2012-03-19 10:33:14 +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
3a231e734c Cleanup testcase.
Change-Id: I3db86fa5df4a2747f4c24e0414279dab59098c54
Reviewed-by: Roberto Raggi <roberto.raggi@nokia.com>
2012-03-13 12:00:43 +01:00
Erik Verbruggen
a621c99a0f [C++] Add error recovery for namespace declarations.
Change-Id: I884ff9901c95467524e5eba38e91f75992d30e14
Reviewed-by: Roberto Raggi <roberto.raggi@nokia.com>
Reviewed-by: Flex Ferrum <flexferrum@gmail.com>
2012-02-28 10:22:31 +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
Erik Verbruggen
b3237d7d42 Fixed (C)opyright headers.
Change-Id: I755bdd1788770b7edd34f06372219d27abd0af11
Reviewed-on: http://codereview.qt.nokia.com/1214
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Tobias Hunger <tobias.hunger@nokia.com>
2011-07-06 11:57:21 +02:00
hjk
8397663964 Update license. 2011-04-13 11:49:28 +02:00
Bill King
3593fe08ae tests: add licence headers 2011-02-18 14:48:16 +01:00
Bill King
1f0b600b82 Autotests: More cleanup of tests, and initial marking of components belonged to. 2010-09-02 15:32:04 +10:00
Erik Verbruggen
9806b1e165 Fixed pre-precessor bug.
When a PP line ended with a \ (join line) and the next line was empty
(ending th joining), the following token would be incorrectly marked as
joined.

Done-with: Roberto Raggi
2010-02-10 11:07:18 +01:00
Roberto Raggi
8ef85c6489 Removed obsoleted test. 2009-10-27 11:05:35 +01:00
Roberto Raggi
e6d0f2ca0c Fixed the auto tests. 2009-06-19 11:19:56 +02:00
Roberto Raggi
55d0e4f860 Improved the way we expand function-like macros when we can't collect all the arguments. 2009-03-03 16:32:08 +01:00
Roberto Raggi
6670cf1fc4 Compile. 2009-03-03 14:54:31 +01:00
Roberto Raggi
f4e875b9bb Initial testing of the preprocessor. 2009-03-02 11:30:43 +01:00