- Sep 28, 2008
-
-
Chris Lattner authored
wasn't covering checking builtins like __builtin___vsnprintf_chk) with a check that won't get out of date. llvm-svn: 56767
-
-
-
Daniel Dunbar authored
Comment exception-handling code generation strategy. llvm-svn: 56763
-
Daniel Dunbar authored
llvm-svn: 56762
-
-
Daniel Dunbar authored
readable and to generate more readable IR. llvm-svn: 56758
-
Daniel Dunbar authored
- This should be rejected by sema (IMHO) but that needs some investigation. llvm-svn: 56756
-
Ted Kremenek authored
llvm-svn: 56755
-
- Sep 27, 2008
-
-
Daniel Dunbar authored
- There is no need to branch on the rethrow variable to determine if we need to call objc_exception_try_exit. We know whether an exception was thrown, so just branch to a different target if we want to skip the try_exit. This is a slight semantic departure from gcc, but only for throwing nil, which is undefined (and for which gcc emits broken code). - Also fixes a bug in current code which was calling try_exit too many times when an exception was uncaught (but there were some handlers). Fix bug introduced in prev. commit, the type of the @catch parameter was uninitialized. llvm-svn: 56754
-
Daniel Dunbar authored
llvm-svn: 56753
-
Daniel Dunbar authored
of the function. llvm-svn: 56752
-
Daniel Dunbar authored
when there are no @catch blocks. Also, eliminated unneeded alloca for the rethrow object. Also, avoid generating code to rethrow exception if the exception will trivially always be caught. llvm-svn: 56751
-
Daniel Dunbar authored
(smaller) size == garbage on stack == heisenbugs. llvm-svn: 56750
-
Zhongxing Xu authored
llvm-svn: 56749
-
Ted Kremenek authored
llvm-svn: 56735
-
Ted Kremenek authored
Internally store the body of a BlockExpr using a Stmt* instead of a CompoundStmt*, and use the getBody() method to do the appropriate checking. This both removes the type-punning warnings in Expr.cpp and also makes BlockExpr have more consistency checks against modifications to its body (via StmtIterator). llvm-svn: 56710
-
Ted Kremenek authored
Use a union instead of a bunch of magic casts to implement a variant. This removes the type-punning errors for DeclGroup. llvm-svn: 56708
-
Ted Kremenek authored
llvm-svn: 56706
-
Devang Patel authored
- return attributes - inreg, zext and sext - parameter attributes - function attributes - nounwind, readonly, readnone, noreturn Return attributes use 0 as the index. Function attributes use ~0U as the index. llvm-svn: 56705
-
- Sep 26, 2008
-
-
Chris Lattner authored
DirectoryLookup::DirType into SourceManager.h llvm-svn: 56692
-
rdar://6243860Chris Lattner authored
to whether the fileid is a 'extern c system header' in addition to whether it is a system header, most of this is spreading plumbing around. Once we have that, PPLexerChange bases its "file enter/exit" notifications to PPCallbacks to base the system header state on FileIDInfo instead of HeaderSearch. Finally, in Preprocessor::HandleIncludeDirective, mirror logic in GCC: the system headerness of a file being entered can be set due to the #includer or the #includee. llvm-svn: 56688
-
Ted Kremenek authored
llvm-svn: 56672
-
Chris Lattner authored
directory is shadowed by a user directory in the lookup path, ignore the user directory not the system one. Not doing this can affect file lookup and the "is a system header" bit on locations. For example: clang -v -I/usr/include inc.c -E | & grep /usr/inc now prints: # 1 "/usr/include/i386/_types.h" 1 3 4 # 37 "/usr/include/i386/_types.h" 3 4 # 70 "/usr/include/i386/_types.h" 3 4 instead of: # 1 "/usr/include/i386/_types.h" 1 # 37 "/usr/include/i386/_types.h" # 70 "/usr/include/i386/_types.h" This is part of rdar://6243860. llvm-svn: 56669
-
Ted Kremenek authored
llvm-svn: 56668
-
Ted Kremenek authored
Move VLA processing logic from LiveVariables to CFG construction. This way all dataflow analyses "see" the VLA size expressions. llvm-svn: 56655
-
Steve Naroff authored
This fixes <rdar://problem/6248392> clang: Error when using address of stack variable inside block. llvm-svn: 56652
-
Ted Kremenek authored
Fixes <rdar://problem/6248086> llvm-svn: 56645
-
Daniel Dunbar authored
llvm-svn: 56642
-
Daniel Dunbar authored
llvm-svn: 56640
-
Daniel Dunbar authored
llvm-svn: 56639
-
Daniel Dunbar authored
llvm-svn: 56638
-
Daniel Dunbar authored
- This really needs to be automated and configurable. llvm-svn: 56635
-
Ted Kremenek authored
Fixes: <rdar://problem/6248119> @finally doesn't introduce a new scope llvm-svn: 56629
-
- Sep 25, 2008
-
-
Devang Patel authored
s/ParamAttr/Attribute/g s/PAList/AttrList/g s/FnAttributeWithIndex/AttributeWithIndex/g s/FnAttr/Attribute/g This sets the stage - to implement function notes as function attributes and - to distinguish between function attributes and return value attributes. llvm-svn: 56623
-
Ted Kremenek authored
Documentation and testing are pending. llvm-svn: 56611
-
Steve Naroff authored
Downgrade incompatible block pointer error to a warning (to be consistent with incompatible pointer warnings in general). llvm-svn: 56595
-
-
- Sep 24, 2008
-
-
Steve Naroff authored
This fixes <rdar://problem/6240616> clang: Assertion failed when using typedef and Blocks. llvm-svn: 56554
-
Daniel Dunbar authored
llvm-svn: 56547
-