Nikolai Kosjar
9f38f7bfbc
C++: Store lambda captures in the code model.
...
Done-with: Erik Verbruggen
Task-number: QTCREATORBUG-7968
Task-number: QTCREATORBUG-7949
Change-Id: I0cf727052d0a3536ed96ee894b18768c9538c213
Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com >
2012-11-07 13:36:20 +01:00
Christian Kamm
aa645254a2
C++11: More (expression-list) or brace-init-list.
...
This time in the 'new' expression. Changed it to make
new C(1, abc...) and new C{1, abc}
work.
Change-Id: I7232798fd083b653ee04ef9ede386d6536133e16
Reviewed-by: hjk <qthjk@ovi.com >
2012-09-19 12:23:18 +02:00
Christian Kamm
83da5f68be
C++11: Allow for typename Foo<T>{}, Foo{} and int{}.
...
As a postfix expression.
Change-Id: I65cae0571080a9fb699af61c661328ef06f97890
Reviewed-by: hjk <qthjk@ovi.com >
2012-09-19 12:21:31 +02:00
Christian Kamm
44c9cef30a
C++11: Make 'enum struct', enum-base and opaque enum decls work.
...
For declarations like:
enum struct Foo : long int;
Change-Id: Id813efdbc31c8d70a4b40bb0101dc33a8dd2556a
Reviewed-by: hjk <qthjk@ovi.com >
2012-09-19 11:57:23 +02:00
Christian Kamm
8711121197
C++11: Parse alias declarations.
...
The parser no longer fails declarations like:
using Foo = std::vector<int>::iterator;
Change-Id: Ib3a552ebbe0147fa138db6448a52cdba8f9b9207
Reviewed-by: hjk <qthjk@ovi.com >
2012-09-19 11:56:33 +02:00
Christian Kamm
9bd86e7d68
C++11: Allow brace-init-list in range-for statement.
...
Also drop the unused 'initializer' member from
RangeBasedForStatementAST.
Change-Id: I078ebbc85cafa643af4bfe62d698bf7de71360e4
Reviewed-by: hjk <qthjk@ovi.com >
2012-09-19 11:54:50 +02:00
Christian Kamm
ecd54059d3
C++11: Add alignof() expression.
...
Change-Id: Id3fb30b9a16ea724bab0d5b05e8cbddb0064e6eb
Reviewed-by: hjk <qthjk@ovi.com >
2012-09-19 11:53:46 +02:00
Christian Kamm
8c1a45565c
C++11: Accept ref-qualifiers in function declarators.
...
Means
void foo() const &; void bar() &&;
and the corresponding pointer-to-member declarators
now parse.
Change-Id: Idbf295bd4f51cd5d9e38efcac1940b8cc2e32fce
Reviewed-by: hjk <qthjk@ovi.com >
2012-09-19 11:51:48 +02:00
Christian Kamm
b9f6f1bcf7
C++11: Allow uniform initialization in ctor init lists.
...
So
class C { C() : _x{12}, _y({12}) {} };
now parses correctly.
Change-Id: I4281dcb0541a86b550e74630cad6ae0a59fef1b4
Reviewed-by: hjk <qthjk@ovi.com >
2012-09-19 11:47:49 +02:00
Christian Kamm
23a11e2ddb
C++: Rename NewPlacementAST to ExpressionListParenAST.
...
It'll be reused as the initializer expression for declarators
that are followed by "( expression-list )".
Change-Id: I6c76a76641941874ef1ed21daa7b6e057c6d170f
Reviewed-by: hjk <qthjk@ovi.com >
2012-09-17 14:53:20 +02:00
Sergey Shambir
95c5ab2746
Added support for override/final and enum classes
...
Change-Id: I6dfe9dd606781046ff5a1ed61315741d2f332cb8
Reviewed-by: Christian Kamm <christian.d.kamm@nokia.com >
2012-07-30 09:42:30 +02: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
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
Roberto Raggi
cae8d4169b
Fix the AST code generator
2011-05-16 12:48:05 +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