- Jun 15, 2007
-
-
Chris Lattner authored
llvm-svn: 39656
-
Chris Lattner authored
llvm-svn: 39655
-
- Jun 13, 2007
-
-
Steve Naroff authored
Submitted by: Reviewed by: Fix CheckRelationalOperands/CheckEqualityOperands to deal with null pointer constants. The new logic also deals (more) correctly for non-pointer/integer operands. llvm-svn: 39654
-
Chris Lattner authored
llvm-svn: 39653
-
Chris Lattner authored
int test(int X, short Y, float Z) { return (int)(X*Y+Z); } to: define i32 @test(i32 %X, i16 %Y, float %Z) { entry: %promote = sext i16 %Y to i32 ; <i32> [#uses=1] %mul = mul i32 %promote, %X ; <i32> [#uses=1] %promote3 = sitofp i32 %mul to float ; <float> [#uses=1] %add = add float %promote3, %Z ; <float> [#uses=1] %conv = fptosi float %add to i32 ; <i32> [#uses=1] ret i32 %conv } with: $ clang -emit-llvm t.c | llvm-as | opt -std-compile-opts | llvm-dis llvm-svn: 39652
-
Chris Lattner authored
llvm-svn: 39651
-
Bill Wendling authored
Reviewed by: Chris Lattner - Created a base class (TextDiagnostics) for all text diagnostic classes. Moved the "IgnoreDiagnostic" method up there, and created a method that will format the diagnostic string, replacing %# with the appropriate string. This is in preparation for adding a text diagnostic checker. llvm-svn: 39650
-
Steve Naroff authored
Submitted by: Reviewed by: Fixed typechecking bugs wrt UsualUnaryConversions. Includes two distinct fixes: #1: Call UsualUnaryConversions in CheckRelationalOperands/CheckEqualityOperands. #2: UsualArithmeticConversions arguments are now output parameters. This insures the implicit conversion is seen by clients (and fixes bugs in CheckAdditionOperands and CheckSubtractionOperands when doing pointer arithmetic). ~ llvm-svn: 39649
-
- Jun 12, 2007
-
-
Chris Lattner authored
void printutf8(unsigned int X) { if (X <= 127) printf("%c", (char)X); else if (X <= 2047) printf("%d %d ", 128 + 64 + (X >> 6), 128 + (X & ((1 << 6) - 1))); else if (X <= 65535) printf("%c%c%c", 128 + 64 + 32 + (X >> 12), 128 + ((X >> 6) & 63), 128 + (X & 63)); else printf("UNKNOWN %d\n", X); instead of: if (X <= 127) printf("%c", (char)X); else if (X <= 2047) printf("%d %d ", 128 + 64 + (X >> 6), 128 + (X & ((1 << 6) - 1))); else if (X <= 65535) printf("%c%c%c", 128 + 64 + 32 + (X >> 12), 128 + ((X >> 6) & 63), 128 + (X & 63)); else printf("UNKNOWN %d\n", X); llvm-svn: 39648
-
- Jun 11, 2007
-
-
Chris Lattner authored
llvm-svn: 39647
-
Chris Lattner authored
llvm-svn: 39646
-
Chris Lattner authored
llvm-svn: 39645
-
Chris Lattner authored
llvm-svn: 39644
-
Steve Naroff authored
Submitted by: Reviewed by: Implement semantic analysis for vector_size attribute! We now produce the following diagnostics... [administrators-powerbook59:~/llvm/tools/clang] admin% ../../Debug/bin/clang vector.c vector.c:2:29: error: attribute requires precisely 1 argument typedef int __attribute__(( vector_size )) tVecp; ^ vector.c:7:32: error: attribute requires precisely 1 argument extern int foo __attribute__(( vector_size )); ^ vector.c:8:34: error: attribute requires precisely 1 argument extern float bar __attribute__(( vector_size(16,18) )); ^ vector.c:11:34: error: vector_size requires integer constant (attribute ignored) extern char foo2 __attribute__(( vector_size(16.2) )); ^ ~~~~ vector.c:21:47: error: invalid vector type 'struct s' struct s { int a; } structVar __attribute__(( vector_size(16) )); llvm-svn: 39643
-
Chris Lattner authored
static int seminal(from, to) { } llvm-svn: 39642
-
- Jun 10, 2007
-
-
Bill Wendling authored
Reviewed by: Chris Lattner - Added a method "IgnoreDiagnostic" so that the diagnostic client can tell the diagnostic object that it doesn't want to handle a particular diagnostic message. In which case, it won't be counted as either a diagnostic or error. llvm-svn: 39641
-
Steve Naroff authored
Submitted by: Reviewed by: Changed the name of DeclSpec.AddAttribute and Declarator.AddAttribute to AddAttributes(). Also added some (much needed) comments. While documenting, realized I could simplify & tighten up Declarator.AddAttributes... llvm-svn: 39640
-
- Jun 09, 2007
-
-
Steve Naroff authored
Submitted by: Reviewed by: Add initialization and memory management for AttributeList. Added a big FIXME comment for handling expressions (which are currently leaked). llvm-svn: 39639
-
Chris Lattner authored
void foo() { "\0"; } llvm-svn: 39638
-
Chris Lattner authored
llvm-svn: 39637
-
Chris Lattner authored
a // comment, this reduces noise in the llvm testsuite. llvm-svn: 39636
-
Chris Lattner authored
llvm-svn: 39635
-
Chris Lattner authored
llvm-svn: 39634
-
Chris Lattner authored
2005-10-18-VariableSizedElementCrash.c:5:41: warning: expected ';' at end of declaration list struct bar {foo f1; int f2:3; int f3:4} *p = (struct bar *) pi; ^ llvm-svn: 39633
-
Chris Lattner authored
e.g.: struct A { ; int X;; const; }; llvm-svn: 39632
-
Steve Naroff authored
Submitted by: Reviewed by: Incorporate some feedback from Chris. Fixed a crasher, added an assert. llvm-svn: 39631
-
Steve Naroff authored
Submitted by: Reviewed by: Move Attr.h to the correct group in the Xcode project file... llvm-svn: 39630
-
Steve Naroff authored
Submitted by: Reviewed by: Lot's of attribute scaffolding. Modernized ParseArraySubscriptExpr...call DefaultFunctionArrayConversion (which simplified the logic considerably) and upgrade Diags to use the range support. llvm-svn: 39629
-
Steve Naroff authored
Submitted by: Reviewed by: Lot's of attribute scaffolding. Modernized ParseArraySubscriptExpr...call DefaultFunctionArrayConversion (which simplified the logic considerably) and upgrade Diags to use the range support. llvm-svn: 39628
-
Steve Naroff authored
Submitted by: Reviewed by: Add new file AttributeList.h llvm-svn: 39627
-
Steve Naroff authored
Submitted by: Reviewed by: Add AttributeList.cpp (for "raw" attributes). llvm-svn: 39626
-
Chris Lattner authored
llvm-svn: 39625
-
Chris Lattner authored
stuff like: void test() { int *X, Y, *Z[14]; X[Y] = 4; } llvm-svn: 39624
-
Chris Lattner authored
like: int X, Y, Z; This is required for the code gen to get to all of the declarations in a DeclStmt, and should simplify some other code. llvm-svn: 39623
-
Chris Lattner authored
llvm-svn: 39622
-
Chris Lattner authored
http://gcc.gnu.org/onlinedocs/gcc/Binary-constants.html#Binary-constants llvm-svn: 39621
-
Chris Lattner authored
llvm-svn: 39620
-
Chris Lattner authored
llvm-svn: 39619
-
- Jun 08, 2007
-
-
Chris Lattner authored
llvm-svn: 39618
-
Chris Lattner authored
llvm-svn: 39617
-