- Aug 31, 2007
-
-
Ted Kremenek authored
llvm-svn: 41648
-
Steve Naroff authored
Removed Sema::VerifyConstantArrayType(). With the new Array/ConstantArray/VariableArray nodes, this routine was causing more trouble than it was worth. Anders/Chris noticed that it could return an error code without emiting a diagnostic (which results in an silent invalid decl, which should *never* happen). In addition, this routine didn't work well for typedefs and field decls. Lastly, it didn't consider that initializers aren't in place yet. Added Type::getAsConstantArrayType(), Type::getAsVariableArrayType(), Type::getAsVariablyModifiedType(), and Type::isVariablyModifiedType(); Modified Sema::ParseDeclarator() and Sema::ParseField() to use the new predicates. Also added a FIXME for the initializer omission. Also added a missing test for "static" @ file scope. llvm-svn: 41647
-
Ted Kremenek authored
llvm-svn: 41646
-
Dale Johannesen authored
llvm-svn: 41645
-
Fariborz Jahanian authored
Log: Implement parsing of objective-c's new @property declaration. Modified: include/clang/Basic/DiagnosticKinds.def include/clang/Parse/Parser.h Parse/ParseObjc.cpp Parse/Parser.cpp llvm-svn: 41644
-
Rafael Espindola authored
llvm-svn: 41643
-
Rafael Espindola authored
This is mandated table 3.1 at http://www.x86-64.org/documentation/abi.pdf llvm-svn: 41642
-
Evan Cheng authored
llvm-svn: 41641
-
Evan Cheng authored
Use std::map instead of a (potentially very sparse) array to track val# defined by copy from the other live range. Minor compile time win when number of val# is large. llvm-svn: 41640
-
Evan Cheng authored
llvm-svn: 41639
-
Chris Lattner authored
llvm-svn: 41638
-
Chris Lattner authored
llvm-svn: 41637
-
Anders Carlsson authored
llvm-svn: 41636
-
Chris Lattner authored
llvm-svn: 41635
-
Chris Lattner authored
to their corresponding library routines (e.g. isinf). This allows us to handle all the stuff in macos math.h, and other stuff as it's added to *Builtins.def. llvm-svn: 41634
-
Chris Lattner authored
llvm-svn: 41633
-
Dale Johannesen authored
Use APFloat interfaces for more references, mostly of ConstantFPSDNode. llvm-svn: 41632
-
Chris Lattner authored
llvm-svn: 41631
-
Steve Naroff authored
The following case now works... void empty(void * a ) {} void test() { unsigned char A[4]; empty( (void *) A); } Thanks to Patrick Flannery for finding this... llvm-svn: 41630
-
Raul Herbster authored
llvm-svn: 41629
-
Raul Herbster authored
llvm-svn: 41628
-
Raul Herbster authored
Comments added. It now generates V5TE multiply instructions. However, it is still necessary to model PUWLSH bits more clearly. llvm-svn: 41627
-
Raul Herbster authored
llvm-svn: 41626
-
Raul Herbster authored
llvm-svn: 41625
-
Steve Naroff authored
Final phase of array cleanup (for now), removing a FIXME from yesterday. Moved several array constraints checks from Sema::VerifyConstantArrayType() to Sema::GetTypeForDeclarator(). VerifyConstantArrayType() is now very simple, and could be removed eventually. Now, we get the following (correct) messages for BlockVarDecls:-) [dylan:~/llvm/tools/clang] admin% ../../Debug/bin/clang x.c -pedantic x.c:4:20: error: size of array has non-integer type 'float' int size_not_int[f]; ^ x.c:5:21: error: array size is negative int negative_size[1-2]; ^~~ x.c:6:17: warning: zero size arrays are an extension int zero_size[0]; ^ 3 diagnostics generated. llvm-svn: 41624
-
- Aug 30, 2007
-
-
Ted Kremenek authored
llvm-svn: 41623
-
Ted Kremenek authored
introduced by moving "CaseStmt" pointers out of the list of statements and into the explicit "label" associated with a CFGBlock. --This line, and those below, will be ignored-- M AST/CFG.cpp llvm-svn: 41622
-
Steve Naroff authored
llvm-svn: 41621
-
Ted Kremenek authored
no statements (or just full of ';' statements). llvm-svn: 41620
-
Ted Kremenek authored
blocks involving only ';' statements. We now correctly handle the following: void empty_label() { l1: ; } llvm-svn: 41619
-
Steve Naroff authored
llvm-svn: 41618
-
Ted Kremenek authored
an empty then or else block (or contained only ';' statements). For example, we now handle the following: int empty_else() { if (0) { int a; } else ; } int empty_then() { if (0) ; else { int a; } } Thanks to Nico Weber for spotting this problem. llvm-svn: 41617
-
Steve Naroff authored
Refactored Array/VariableArray, moving SizeModifier/IndexTypeQuals back up to Array. These attributes are not specific to VLA's. Most of them are specific to array parameter types. llvm-svn: 41616
-
Chris Lattner authored
llvm-svn: 41615
-
Chris Lattner authored
llvm-svn: 41614
-
Chris Lattner authored
llvm-svn: 41613
-
Chris Lattner authored
llvm-svn: 41612
-
Chris Lattner authored
llvm-svn: 41611
-
Ted Kremenek authored
llvm-svn: 41610
-
Ted Kremenek authored
including the expressions in the case statement itself (not the body of the case). This required moving SubStmt out of SwitchCase into CaseStmt and DefaultStmt respectively. getSubStmt() now is a virtual call for SwitchCase, but is a direct (static) call for CaseStmt and DefaultStmt. llvm-svn: 41609
-