Argyrios Kyrtzidis
2c7137d8d1
Resolve ambiguous C++ statements (C++ 6.8p1).
...
'ParseTentative.cpp' implements the functionality needed to resolve ambiguous C++ statements, to either a declaration or an expression, by "tentatively parsing" them.
llvm-svn: 57084
2008-10-05 00:06:24 +00:00
Douglas Gregor
aa1e21dcbd
Give string literals const element typesin C++, and cope with the deprecated C++ conversion from a string literal to a pointer-to-non-const-character
...
llvm-svn: 56137
2008-09-12 00:47:35 +00:00
Argyrios Kyrtzidis
176edb5490
Do implicit conversion to bool for the condition in a do-while statement.
...
llvm-svn: 56096
2008-09-11 05:16:22 +00:00
Argyrios Kyrtzidis
fea38016a9
Fix do-while scoping in C++.
...
llvm-svn: 56095
2008-09-11 04:46:46 +00:00
Argyrios Kyrtzidis
996677e12d
In the 'condition.cpp' test case, make sure that condition declarations are local to the statement.
...
llvm-svn: 56077
2008-09-10 23:34:50 +00:00
Argyrios Kyrtzidis
7620ee4550
Implement Sema support for the 'condition' part of C++ selection-statements and iteration-statements (if/switch/while/for).
...
llvm-svn: 56044
2008-09-10 02:17:11 +00:00
Anders Carlsson
d059d5bba0
Add carbon.cpp and cocoa.mm tests
...
llvm-svn: 55262
2008-08-23 22:21:00 +00:00
Anders Carlsson
4f177f803a
treat bool literals as constatnt expressions.
...
llvm-svn: 55255
2008-08-23 21:12:35 +00:00
Argyrios Kyrtzidis
0116530ba2
Add a null pointer test in the type-convert-construct.cpp tests.
...
llvm-svn: 55247
2008-08-23 19:24:45 +00:00
Argyrios Kyrtzidis
3d0f51d703
Move the rest of the Sema C++ tests into the SemaCXX test directory.
...
llvm-svn: 55178
2008-08-22 15:43:49 +00:00
Argyrios Kyrtzidis
857fcc2f8e
Add support for C++'s "type-specifier ( expression-list )" expression:
...
-The Parser calls a new "ActOnCXXTypeConstructExpr" action.
-Sema, depending on the type and expressions number:
-If the type is a class, it will treat it as a class constructor. [TODO]
-If there's only one expression (i.e. "int(0.5)" ), creates a new "CXXFunctionalCastExpr" Expr node
-If there are no expressions (i.e "int()" ), creates a new "CXXZeroInitValueExpr" Expr node.
llvm-svn: 55177
2008-08-22 15:38:55 +00:00
Anders Carlsson
41e0881b34
Initial sema support for C++ static initializers.
...
llvm-svn: 55166
2008-08-22 05:00:02 +00:00
Argyrios Kyrtzidis
00441dfcd4
Type::isIntegerType() returns true for types between Bool and LongLong.
...
Put WChar between them to make it integer type.
llvm-svn: 54882
2008-08-17 13:24:01 +00:00
Argyrios Kyrtzidis
3014572ea2
Move the C++ Sema tests into a separate SemaCXX directory.
...
llvm-svn: 54853
2008-08-16 20:53:59 +00:00