Erik Verbruggen
275e207d26
Fix invalid decltype error recovery which resulted in crashes.
...
Task-number: QTCREATORBUG-7174
Change-Id: I653db71adc45586cd8518ffd96118425fd3763be
Reviewed-by: Roberto Raggi <roberto.raggi@nokia.com >
2012-03-28 13:41:48 +02: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
Erik Verbruggen
3c635ef1d4
[C++] Correctly parse inline constructors for templates.
...
This failed for:
template<class T> inline S<T>::S(nullptr_t):_p(0){}
Change-Id: Ibb48f403a66cb19567e65270aa166849ee81a162
Reviewed-by: Roberto Raggi <roberto.raggi@nokia.com >
2012-02-23 18:15:46 +01:00
Erik Verbruggen
368d5926ca
C++: handle destructor names with template parameters.
...
Change-Id: I74b4fd5e043db935abc18345b303d294b71e8fc2
Reviewed-by: Tobias Hunger <tobias.hunger@nokia.com >
Reviewed-by: Erik Verbruggen <erik.verbruggen@nokia.com >
2012-02-23 08:39:34 +01:00
Flex Ferrum
da2aa0df72
C++: Add support for C++11 range-based 'for' loops
...
Change-Id: I7eef048a7952a79f031ae3d0abba68e3c5ffbfb8
Reviewed-by: Roberto Raggi <roberto.raggi@nokia.com >
2012-02-21 15:27:00 +01:00
Erik Verbruggen
19e15d332a
C++11: Add static_assert as block declaration.
...
Change-Id: I35c93b7a970a7b659a4bca7b680c2db776dc07ab
Reviewed-by: Roberto Raggi <roberto.raggi@nokia.com >
2012-02-10 16:29:12 +01:00
Erik Verbruggen
3f5dc36a53
C++11: first set of changes for decltype.
...
Change-Id: I49d6ff7eb1805cd07bdfcb27bb37d4c6cadc9115
Reviewed-by: Roberto Raggi <roberto.raggi@nokia.com >
2012-02-10 16:29:04 +01:00
Erik Verbruggen
1d3dc30153
C++11: add support for static_assert.
...
Change-Id: I82d8d60acaa9265fd25e0a3734855b19bdef9c06
Reviewed-by: Roberto Raggi <roberto.raggi@nokia.com >
2012-02-02 13:49:22 +01:00
Erik Verbruggen
dd4299073e
C++11: handle noexcept specifications.
...
Change-Id: I7da3affea2758b2e01124105e2521e1f2c5f6678
Reviewed-by: Roberto Raggi <roberto.raggi@nokia.com >
2012-02-02 12:22:20 +01:00
Erik Verbruggen
13dd213f60
C++11: handle inline namespaces.
...
Change-Id: Iafdcd5bc72d9724e217767ae9c216be4363cc0d3
Reviewed-by: Roberto Raggi <roberto.raggi@nokia.com >
2012-02-02 11:07:20 +01:00
Leandro Melo
057fad645b
C++: Recognize C++11 nullptr
...
Change-Id: I5b7ac8f9b2137ffe9439ada4ec4aeb9cee8e249d
Reviewed-by: Roberto Raggi <roberto.raggi@nokia.com >
2011-11-18 13:50:19 +01:00
Leandro Melo
9f73c5848b
C++: Recognize C++11 constexpr
...
Change-Id: Iac8ba58404284f0d90fd5a3640eb9ccd7e98058d
Reviewed-by: Roberto Raggi <roberto.raggi@nokia.com >
2011-11-18 12:14:10 +01:00
Christian Kamm
49fbe56def
C++ parser: Don't fail on REVISION in Q_PROPERTY.
...
Change-Id: Ia7407969dc56308fe3eb843e97b93e65eb235186
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com >
2011-10-25 14:30:03 +02:00
Erik Verbruggen
29dff7221d
Fixed stack-overflow when parsing insanely nested compound statements.
...
Thanks to Clang's parser_overflow.cpp which has >16000 nested compound
statements to check exactly the same.
Change-Id: I2b604f8ceb01115d7fe950994e0677a081e99481
Reviewed-by: Christian Kamm <christian.d.kamm@nokia.com >
2011-10-17 11:17:46 +02:00
Leandro Melo
89ac110ab0
C++: Relax parsing for templateid in some cases
...
The correct parsing for certain templateids would require name
lookup. In order to avoid erroneous syntax errors detection (like
the one below ) we block the notification for such cases.
bool r = a < b ? c > d : false;
Task-number: QTCREATORBUG-5122
Change-Id: I9eb9ee89cd21bec3ed924982957f50f9346f90be
Reviewed-on: http://codereview.qt.nokia.com/1704
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com >
Reviewed-by: Roberto Raggi <roberto.raggi@nokia.com >
2011-07-15 16:31:03 +02:00
Erik Verbruggen
b83932708c
Fixed invalid parsing of boolean expression "x < y && z > this".
...
Task-number: QTCREATORBUG-4362
Reviewed-by: Roberto Raggi
2011-05-17 17:05:52 +02:00
Oswald Buddenhagen
b342ad8cf4
remove nokia copyrights from roberto's code
...
they are lying. nokia has no copyright on this code. and the double
license in a single file looks weird. that's why we moved it to
3rdparty/, so it is clear it is not nokia's.
Approved-by: legal
2011-05-16 11:05:30 +02:00
Oswald Buddenhagen
67704b8b41
move src/shared/cplusplus/ -> src/libs/3rdparty/cplusplus/
...
Approved-by: legal
2011-05-16 11:05:30 +02:00