- Aug 26, 2007
-
-
Chris Lattner authored
llvm-svn: 41441
-
Chris Lattner authored
llvm-svn: 41440
-
Chris Lattner authored
llvm-svn: 41439
-
Chris Lattner authored
llvm-svn: 41438
-
Chris Lattner authored
llvm-svn: 41437
-
Chris Lattner authored
llvm-svn: 41436
-
Chris Lattner authored
llvm-svn: 41435
-
Chris Lattner authored
llvm-svn: 41434
-
Chris Lattner authored
llvm-svn: 41433
-
Chris Lattner authored
llvm-svn: 41432
-
Chris Lattner authored
hold declarations. Instead, introduce a new "DeclScope" scope type that holds them explicitly. For now, all scopes have this bit, but in the future we can use them to fix some issues Neil noticed. llvm-svn: 41431
-
Chris Lattner authored
llvm-svn: 41430
-
Chris Lattner authored
llvm-svn: 41429
-
Chris Lattner authored
fixes GCC PR33193 llvm-svn: 41428
-
Chris Lattner authored
GCC bug PR33192. llvm-svn: 41427
-
Chris Lattner authored
llvm-svn: 41426
-
Chris Lattner authored
llvm-svn: 41425
-
Chris Lattner authored
llvm-svn: 41424
-
Chris Lattner authored
llvm-svn: 41423
-
Neil Booth authored
llvm-svn: 41422
-
Chris Lattner authored
llvm-svn: 41421
-
Chris Lattner authored
llvm-svn: 41420
-
Chris Lattner authored
llvm-svn: 41419
-
Chris Lattner authored
llvm-svn: 41418
-
Chris Lattner authored
llvm-svn: 41417
-
Chris Lattner authored
specifier of functions. llvm-svn: 41416
-
Chris Lattner authored
llvm-svn: 41415
-
Chris Lattner authored
llvm-svn: 41414
-
Chris Lattner authored
represent imaginary literals: float _Complex A; void foo() { A = 1.0iF; } generates: (BinaryOperator 0x2305ec0 '_Complex float' '=' (DeclRefExpr 0x2305e60 '_Complex float' Decl='A' 0x2305cf0) (ImaginaryLiteral 0x2305f40 '_Complex float' (FloatingLiteral 0x2305ea0 'float' 1.000000)))) llvm-svn: 41413
-
Chris Lattner authored
llvm-svn: 41412
-
Chris Lattner authored
2) Add support for lexing imaginary constants (a GCC extension): t.c:5:10: warning: imaginary constants are an extension A = 1.0iF; ^ 3) Make the 'invalid suffix' diagnostic pointer more accurate: t.c:6:10: error: invalid suffix 'qF' on floating constant A = 1.0qF; ^ instead of: t.c:6:10: error: invalid suffix 'qF' on floating constant A = 1.0qF; ^ llvm-svn: 41411
-
Chris Lattner authored
to merge duplicate code. llvm-svn: 41410
-
Dale Johannesen authored
llvm-svn: 41409
-
Chris Lattner authored
char *C; C != ((void*)0); Should not warn about incompatible pointer types. Also, make sure to insert an implicit conversion even if the operand is null. llvm-svn: 41408
-
Dale Johannesen authored
over uses in DAGCombiner. Fix interfaces to work with APFloats. llvm-svn: 41407
-
- Aug 25, 2007
-
-
Chris Lattner authored
llvm-svn: 41406
-
Chris Lattner authored
llvm-svn: 41405
-
Steve Naroff authored
Surpress the UsualUnaryConversions for compound assignment operators. This change eliminates the possibility that the left hand expression is an ImplicitCastExpr. As a result, I removed the check for ImplicitCastExpr in Expr::isLvalue(). This results in the following AST's... [dylan:~/llvm/tools/clang] admin% cat fix.c short x; void test4(char c) { x += c; x = x + c; } [dylan:~/llvm/tools/clang] admin% ../../Debug/bin/clang fix.c -parse-ast-dump Read top-level variable decl: 'x' void test4(char c) (CompoundStmt 0x2605d30 (CompoundAssignOperator 0x2605c40 'short' '+=' (DeclRefExpr 0x2605c00 'short' Decl='x' 0x2605a80) (DeclRefExpr 0x2605c20 'char' Decl='c' 0x2605bc0)) (BinaryOperator 0x2605d10 'short' '=' (DeclRefExpr 0x2605c60 'short' Decl='x' 0x2605a80) (ImplicitCastExpr 0x2605d00 'short' (BinaryOperator 0x2605ce0 'int' '+' (ImplicitCastExpr 0x2605cc0 'int' (DeclRefExpr 0x2605c80 'short' Decl='x' 0x2605a80)) (ImplicitCastExpr 0x2605cd0 'int' (DeclRefExpr 0x2605ca0 'char' Decl='c' 0x2605bc0)))))) llvm-svn: 41404
-
Chris Lattner authored
llvm-svn: 41403
-
Steve Naroff authored
This fixes the following bug... t.c:1:31: error: expression is not assignable short x; void foo(char c) { x += c; } This case, among others are now captured in implicit-casts.c. llvm-svn: 41402
-