summaryrefslogtreecommitdiff
path: root/src/libs/cplusplus/pp-macro-expander.cpp
Commit message (Collapse)AuthorAgeFilesLines
* [C++] Rewrite of the preprocessor.Erik Verbruggen2012-03-291-449/+0
| | | | | | | | | | | | | 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>
* Preprocessor: fix expanding macro arguments.Francois Ferrand2012-03-191-13/+35
| | | | | | | | | | | 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>
* Preprocessor: fix handling of first empty argument.Francois Ferrand2012-03-191-1/+1
| | | | | | | | 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>
* Long live the king!hjk2012-01-261-1/+1
| | | | | Change-Id: I2b72b34c0cfeafc8bdbaf49b83ff723544f2b6e2 Reviewed-by: Daniel Teske <daniel.teske@nokia.com>
* Merge remote-tracking branch 'origin/2.4'Eike Ziller2011-11-111-2/+2
|\ | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/libs/qmljs/qmljsinterpreter.cpp src/libs/qmljs/qmljsinterpreter.h src/plugins/debugger/qml/scriptconsole.cpp src/plugins/git/gitplugin.cpp src/plugins/qmlprofiler/canvas/qdeclarativetiledcanvas.cpp src/plugins/qmlprofiler/canvas/qdeclarativetiledcanvas_p.h Change-Id: Iad59c8d87c72a21c79c047e374c0ab689998af39
| * all: s/info@qt.nokia.com/qt-info@nokia.com/hjk2011-11-031-2/+2
| | | | | | | | | | Change-Id: If18afb5d4665924e7d9250dccbc60a65e6daa75e Reviewed-by: Eike Ziller <eike.ziller@nokia.com>
* | C++: Handle multi-line if/elif directivesLeandro Melo2011-10-311-0/+11
|/ | | | | | | Task-number: QTCREATORBUG-5843 Change-Id: Ie32ed9daadf70f3b972a96fb53edcde9b1debb6c Reviewed-by: Christian Kamm <christian.d.kamm@nokia.com>
* Fix/add copyright headersTobias Hunger2011-05-061-1/+1
| | | | Change-Id: I8b73d583be1ee7183f4074bce49d5390e38631a2
* Update license.hjk2011-04-131-14/+13
|
* s:// end of namespace :// namespace :g for consistencyhjk2011-02-041-1/+1
| | | | We use the latter style everywhere else to signify the end of a namespace block.
* It's 2011 now.con2011-01-121-1/+1
| | | | Reviewed-by: hjk
* License headers.con2010-12-171-7/+11
|
* Improved the expansion of variadic macros.Roberto Raggi2010-09-011-4/+18
|
* Long live the king!hjk2010-03-051-1/+1
|
* Small inclusion fixes.Tobias Hunger2010-01-081-1/+2
| | | | | | | * Remove duplicate headers. * Move own headers to the top. Reviewed-by: Roberto Raggi
* Store in the document's macroUsages only the top-level macro expansions.Roberto Raggi2009-10-151-12/+0
|
* Track more macro uses.Christian Kamm2009-09-251-1/+19
| | | | | | | | | | | | In particular macros that are only checked for definition or are expanded during the evaluation of an #if or #elif directive are now also added to the list available through Document::macroUses(). The names of undefined macros that are interesting (because they're used in an #ifdef or a defined(...)) are now available through Document::undefinedMacroUses(). Reviewed-by: Roberto Raggi <roberto.raggi@nokia.com>
* long live the kinghjk2009-08-141-1/+1
|
* Update license headers and sales contact details.Jason McDonald2009-06-171-2/+2
| | | | Reviewed-by: Trust Me
* Store the encoded file name in a QString.Roberto Raggi2009-05-271-5/+3
|
* Obsoleted code.Roberto Raggi2009-03-031-6/+4
|
* More cleanup.Roberto Raggi2009-03-031-10/+28
|
* Some refactoring of the preprocessor, it'll simplify my next commits.Roberto Raggi2009-03-021-2/+8
|
* Fixes: change file license headers to include LGPLhjk2009-02-251-21/+17
|
* Bump year in licence header.Daniel Molkentin2009-01-131-1/+1
|
* Some more clean up in the preprocessor.Roberto Raggi2008-12-221-3/+3
|
* Nicer implementation of CPlusPlus::Macro.Roberto Raggi2008-12-221-12/+12
|
* Some cleanup in the C++ preprocessor.Roberto Raggi2008-12-221-1/+16
| | | | Introduced pp-scanner.cpp, renamed `pp' to `Preprocessor' and removed useless #includes.
* chancge Nokia GPL exception version from 1.2 to 1.3hjk2008-12-161-1/+1
|
* Fixed macro locations.Roberto Raggi2008-12-091-2/+2
|
* Moved the preprocessor.Roberto Raggi2008-12-081-0/+361