Commit Graph

728 Commits

Author SHA1 Message Date
Thiago Macieira
e1cab76344 Fix ICC warnings about commas at the end of enums
They're non-standard. Remove them.

Change-Id: I58dc093c2459747ce0183685d325522fb51e86ab
Reviewed-by: Kai Koehne <kai.koehne@nokia.com>
2012-05-23 16:25:08 +02:00
Friedemann Kleint
d7f6bc3369 Fix warning about truncation from size_t to quint.
qstrncmp() takes a quint.

Change-Id: I6e11155a793e3a4d9d29861ebb7c7a9c5c2f31c8
Reviewed-by: hjk <qthjk@ovi.com>
2012-05-07 13:20:51 +02:00
Thorbjørn Lindeijer
b35b0dd5e2 CPlusPlus: Removed two unused member variables
Change-Id: I1dd97c742af7c2783baaf04384ef2749027f3b9f
Reviewed-by: hjk <qthjk@ovi.com>
2012-05-02 11:12:52 +02:00
hjk
0672d873d0 preprocessor: concatenate tokens need to preserve previous whitespace
Change-Id: Ibca5737ad906c1db7e1bf4e15e5c92030e87c0bb
Reviewed-by: Thomas Hartmann <Thomas.Hartmann@nokia.com>
2012-05-02 00:37:11 +02:00
Bradley T. Hughes
fb9146a9c3 Compile after qt5/qtbase commit 75a0c7f9
Commit 75a0c7f9b52cde47f20fdc1b89e1264d60350848 in qt5/qtbase changed
some QRegExp methods to be non-const (they were previously const). This
change makes Qt Creator compile again.

Change-Id: Ibc98c678126c3b3189df7fcc043463b940951445
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Daniel Teske <daniel.teske@nokia.com>
2012-04-30 14:32:08 +02:00
hjk
feba990f6e preprocessor: swallow ) after defined(...
Task-number: QTCREATORBUG-7256
Change-Id: I6149e56e5f50f75c9e039be9c162036a3890e2d7
Reviewed-by: David Schulz <david.schulz@nokia.com>
Reviewed-by: hjk <qthjk@ovi.com>
2012-04-25 13:41:51 +02:00
Erik Verbruggen
bd47622183 Fix out-of-memory crash when indenting generated tokens.
Generated tokens do not have a position in any source file, so not try
to indent them. Previously, the 'source' used was the scratch buffer,
which would not contain newlines, so the indent depth would be the
length of the scratch buffer at that point.

Task-number: QTCREATORBUG-7262
Change-Id: If94213d6dffd13dd2b47c7038ec2398ad925d904
Reviewed-by: Yuchen Deng <loaden@gmail.com>
Reviewed-by: Thomas Hartmann <Thomas.Hartmann@nokia.com>
2012-04-23 11:06:35 +02:00
Erik Verbruggen
d1eefacd55 Code clean-up.
Change-Id: Ib2ba453e98befceaf3445a2daa6ecc4660a6a9b4
Reviewed-by: Erik Verbruggen <erik.verbruggen@nokia.com>
2012-04-22 15:46:32 +02:00
hjk
6d393252c4 preprocessor: rename operator() into run.
Easier to follow.

Change-Id: I6da1ca862ddb7048a6d16bf5e6ea18d6b2cfc7f8
Reviewed-by: hjk <qthjk@ovi.com>
2012-04-19 19:37:14 +02:00
hjk
6d837b627a preprocessor: don't store original sources, it's never accessed again
Change-Id: I3b06cfc827543d20069f69e00123ccf2bc19ed31
Reviewed-by: hjk <qthjk@ovi.com>
2012-04-19 19:30:17 +02:00
hjk
493cde8335 preprocessor: do not expand macros when checking defined(...)
Change-Id: I39cfbd7f7adf13ec52527c79c9481d56283087df
Reviewed-by: hjk <qthjk@ovi.com>
2012-04-19 19:29:56 +02:00
hjk
0362016f02 preprocessor: inline state setup
Change-Id: Icc3ee542c8e8f95dfd48604144e3f4ab638fdcd4
Reviewed-by: hjk <qthjk@ovi.com>
2012-04-19 19:05:29 +02:00
hjk
ef09a67c6b preprocessor: add some helper function to dump Environment state
Change-Id: I5e1d549f96e899aadd5c94a5d7ef7f3169f45806
Reviewed-by: hjk <qthjk@ovi.com>
2012-04-19 18:48:07 +02:00
hjk
a9a894558f preprocessor: the state stack seems unused. remove it.
Change-Id: Id53c5ebc2867c1ea1e62bb9be6eebe9732774713
Reviewed-by: Thomas Hartmann <Thomas.Hartmann@nokia.com>
2012-04-19 18:47:37 +02:00
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
64565e795a preprocessor: remove unused Preprocessor::string function
Change-Id: I12e487d278621325bfc3add4c569297efe3c264b
Reviewed-by: hjk <qthjk@ovi.com>
2012-04-19 18:42:45 +02:00
hjk
e78f9e4dfe preprocessor: used std::deque instead of std::list for token buffer
Change-Id: I56b1ee492469c523266337a885f664dea5deab98
Reviewed-by: hjk <qthjk@ovi.com>
2012-04-19 18:41:36 +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
17c114fde8 preprocessor: make CPlusPlus::Internal::ByteArrayRef public
Change-Id: Ief6ea71f750b6ba19b650050bae376f4ad82d9d2
Reviewed-by: hjk <qthjk@ovi.com>
2012-04-19 18:37:31 +02:00
hjk
d4b4a75603 preprocessor: save cycles by using ByteArrayRef
Change-Id: I339696763b045ef1bda17dd55746738ef4ddbb67
Reviewed-by: hjk <qthjk@ovi.com>
2012-04-19 18:36:33 +02:00
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
Oswald Buddenhagen
822233629d Merge remote-tracking branch 'origin/2.5'
Conflicts:
	qtcreator.pri
	src/libs/utils/utils.qbs
	src/plugins/projectexplorer/miniprojecttargetselector.cpp
	src/plugins/qmljseditor/qmljseditor.qbs
	src/plugins/qmljsinspector/qmljsinspector.qbs

Change-Id: Ib239d50c21cb06d3a8e821e03dc093552f40ffab
2012-04-19 16:13:09 +02:00
hjk
97069c2274 preprocessor: streamline ByteArrayRef
Change-Id: Iec09651a6aa2fe3b8a50e631fd2fdc57830892a5
Reviewed-by: Thomas Hartmann <Thomas.Hartmann@nokia.com>
2012-04-19 10:53:10 +02:00
Joerg Bornemann
0834958063 qbs files updated
Property bindings in ProductModules now need explicit Depends items.
Also, some Qt dependencies were propagated wrongly and are now
added explicitely.

Change-Id: I58cd389eb0ab106004b1d575438d1ad2ff36189f
Reviewed-by: Marco Bubke <marco.bubke@nokia.com>
2012-04-18 17:10:55 +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
hjk
59debcd0e9 preprocessor: avoid branches in tight code
Change-Id: I8dc0910f1cf11e506eb415a6f313b47ad2d41eae
Reviewed-by: Thomas Hartmann <Thomas.Hartmann@nokia.com>
2012-04-17 13:38:26 +02:00
hjk
f5203b67c2 preprocessor: make PPToken inlineable.
Change-Id: Ie86b4ff4a6f1987a15fcc46e8de9db487af1729a
Reviewed-by: hjk <qthjk@ovi.com>
2012-04-17 11:21:35 +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
Joerg Bornemann
96a7fbe3ae qbs files: use Qt5 module dependencies
Renamed gui -> widgets.
Renamed declarative -> quick1.

With qbs the usage of qt.widgets and qt.quick1 with Qt4 is supported.

Change-Id: I6cadaf34527f1f880d74ced7d2d18dd9801b7de1
Reviewed-by: Alessandro Portale <alessandro.portale@nokia.com>
2012-04-10 18:02:39 +02:00
Eike Ziller
c814538d95 Merge remote-tracking branch 'origin/2.5' 2012-04-04 16:20:10 +02:00
Orgad Shaneh
06aa0363b0 Qbs: Libraries capitalized and relocated in bin on Windows
Change-Id: I994027ef50f5f7c4ff1b2bef06d9f8db037243e4
Reviewed-by: Marco Bubke <marco.bubke@nokia.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
2012-04-04 14:16:12 +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
6c24b8b740 Removed debug-build flags.
Change-Id: Ic95a68e46f4f4df38cbee2c0d5fe2428f5bee39f
Reviewed-by: Erik Verbruggen <erik.verbruggen@nokia.com>
2012-03-29 14:46:18 +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
dfd28a1d32 Fix build breakage after making plugins dependent on cpptools.
Change-Id: Iae2c15efe25580fb616bdc3dd4b8ff3581cd481a
Reviewed-by: Eike Ziller <eike.ziller@nokia.com>
2012-03-15 15:28:17 +01:00
Erik Verbruggen
f1b2100e34 Move the ModelManagerInterface out of the CPlusPlus library.
Change-Id: Iffaa18f848a22f6961b49dff048672b194570df6
Reviewed-by: Roberto Raggi <roberto.raggi@nokia.com>
2012-03-14 11:46:24 +01:00
Eike Ziller
63f0c0a62f Merge remote-tracking branch 'origin/2.5'
Conflicts:
	qtcreator.pri

Change-Id: Ic24b756b41d2a13f3d696dee69553d2c3241ab95
2012-03-14 09:33:25 +01:00
Francois Ferrand
a450c13327 CppEditor: Fix go to definition of macros.
- Go to macro definition only on macro name (ie not in parameters).
- Prefer macro definition over expanded code definition, as the
  preprocessor is executed first: when trying to go to definition, the
  user sees the macro, not the expanded code.

Task-number: QTCREATORBUG-2240
Task-number: QTCREATORBUG-6175
Task-number: QTCREATORBUG-6848
Task-number: QTCREATORBUG-7008
Task-number: QTCREATORBUG-7009

Change-Id: I819c763524e79b20518c26a46a99a3a3b0a131bd
Reviewed-by: Andre Hartmann <aha_1980@gmx.de>
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
Reviewed-by: Erik Verbruggen <erik.verbruggen@nokia.com>
2012-03-13 10:15:17 +01:00