summaryrefslogtreecommitdiffstats
path: root/clang/lib
Commit message (Collapse)AuthorAgeFilesLines
* Promote some macro-related stuff to per-file data. Fix a cache-inefficient ↵Sebastian Redl2010-07-211-40/+44
| | | | | | nested loop by inverting the nesting. Store the size of each file in the chain; will need this later for statement offsets. llvm-svn: 109030
* Added extra check when looking for location of '=' inFariborz Jahanian2010-07-211-2/+3
| | | | | | a copy initialization. llvm-svn: 109025
* Fix source location of the initializer in Fariborz Jahanian2010-07-213-11/+6
| | | | | | | a copy initialization. Back out hack in objc rewriter. fixes radar 8213998. llvm-svn: 109024
* Catch thinko that Daniel Dunbar found.Nate Begeman2010-07-211-0/+1
| | | | llvm-svn: 109023
* Fix regression caused by r108911.Devang Patel2010-07-211-1/+2
| | | | | | | Do not override known debug loc with unknown debug loc. This is tested by sections.exp in gdb testsuite. llvm-svn: 109022
* Fix a rewriter bug which originates in SemaInit involvingFariborz Jahanian2010-07-211-4/+11
| | | | | | | Constructor Initialization which computes Source Location differently now. Fixes radar 8213998. llvm-svn: 109018
* Don't crash when sending a message inside a block with the non-fragile ABI ↵David Chisnall2010-07-211-1/+1
| | | | | | (GNU runtime). llvm-svn: 109012
* Mark the load after calling objc_msg_lookup_sender() so that it doesn't get ↵David Chisnall2010-07-211-2/+2
| | | | | | optimised away (GNU runtime). llvm-svn: 109010
* Rename LazyCleanup -> Cleanup. No functionality change for these last threeJohn McCall2010-07-2110-178/+173
| | | | | | commits. llvm-svn: 109000
* Rip out EHCleanupScope.John McCall2010-07-214-296/+13
| | | | llvm-svn: 108999
* Kill the CleanupBlock API.John McCall2010-07-212-84/+0
| | | | llvm-svn: 108998
* Switch the fragile-ABI @finally/@synchronized cleanup over to using a lazyJohn McCall2010-07-211-32/+53
| | | | | | cleanup. llvm-svn: 108997
* Code simplification.John McCall2010-07-211-14/+4
| | | | llvm-svn: 108996
* Switch the main possibly-conditional temporary cleanup over to being lazy.John McCall2010-07-211-33/+37
| | | | llvm-svn: 108995
* Switch the destructor for a temporary arising from a reference binding over toJohn McCall2010-07-213-12/+14
| | | | | | using a lazy cleanup. llvm-svn: 108994
* Switch the __cxa_guard_abort cleanup to being a lazy cleanup.John McCall2010-07-211-5/+17
| | | | llvm-svn: 108993
* Switch some random local-decl cleanups over to using lazy cleanups. Turn onJohn McCall2010-07-211-52/+57
| | | | | | | the block-release unwind cleanup: we're never going to test it if we don't turn it on. llvm-svn: 108992
* Switch finally cleanups over to being lazy cleanups. We get basically nothingJohn McCall2010-07-212-46/+70
| | | | | | | from the laziness features here except better block ordering, but it removes yet another CleanupBlock use. llvm-svn: 108990
* Implement proper base/member destructor EH chaining.John McCall2010-07-212-156/+175
| | | | llvm-svn: 108989
* Move some methods inline.Zhongxing Xu2010-07-211-34/+0
| | | | llvm-svn: 108988
* Fix win64 compilation of constants like 0xFFFFFFFFFFFFFFFFULLNate Begeman2010-07-211-1/+3
| | | | | | intmax_t is __int64 (long long to clang), per VS 2010 stdint.h llvm-svn: 108980
* Change PushDestructorCleanup to use lazy cleanups.John McCall2010-07-211-8/+16
| | | | llvm-svn: 108979
* Convert the EH cleanups for base and member destructors in a constructor intoJohn McCall2010-07-211-18/+42
| | | | | | lazy cleanups. llvm-svn: 108978
* Implement zero-initialization for array new when there is anDouglas Gregor2010-07-213-21/+82
| | | | | | | | | initializer of (). Make sure to use a simple memset() when we can, or fall back to generating a loop when a simple memset will not suffice. Fixes <rdar://problem/8212208>, a regression due to my work in r107857. llvm-svn: 108977
* Convert the end-catch call for finally blocks to a lazy cleanup. This kills offJohn McCall2010-07-211-13/+25
| | | | | | the last of the shared-code cleanups. llvm-svn: 108975
* Allow loading identifiers from any file in the chain. WIPSebastian Redl2010-07-211-6/+17
| | | | llvm-svn: 108974
* Convert the ObjC @synchronized cleanups to laziness. This is not actuallyJohn McCall2010-07-212-13/+32
| | | | | | | a big deal, except that I want to eliminate the shared-code EH cleanups in preparation for a significant algorithmic fix. llvm-svn: 108973
* Add a little helper method which will be useful soon.John McCall2010-07-211-0/+4
| | | | llvm-svn: 108972
* Apparently not every system thinks that references in pairs are as cool as I ↵Sebastian Redl2010-07-202-4/+4
| | | | | | think. llvm-svn: 108959
* Allow loading declarations from any file in the chain. WIPSebastian Redl2010-07-202-5/+19
| | | | llvm-svn: 108956
* Allow loading types from any file in the chain. WIPSebastian Redl2010-07-201-9/+24
| | | | llvm-svn: 108954
* Remove unintended code that was checked in as part of r108916.Devang Patel2010-07-201-12/+0
| | | | llvm-svn: 108951
* Remove unused argument.Devang Patel2010-07-204-13/+13
| | | | llvm-svn: 108946
* Fix the IR generation for catching pointers by references.John McCall2010-07-202-2/+59
| | | | | | Fixes <rdar://problem/8212123>. llvm-svn: 108944
* in 'new int[4]', constant fold the 4*4=16 instead of Chris Lattner2010-07-201-34/+56
| | | | | | doing an overflow check. llvm-svn: 108943
* Allow loading source locations from any file in the chain. WIPSebastian Redl2010-07-201-2/+21
| | | | llvm-svn: 108942
* More work on getting PCHReader to handle multiple files. Promote SLocOffsets ↵Sebastian Redl2010-07-201-53/+71
| | | | | | to per-file data. WIP llvm-svn: 108930
* Follow the implementation approach suggested by PR6687,Chris Lattner2010-07-203-49/+18
| | | | | | | | | | | | | | | | | | | | | | which generates more efficient and more obviously conformant code. We now test for overflow of the multiply then force the result to -1 if so. On X86, this generates nice code like this: __Z4testl: ## @_Z4testl ## BB#0: ## %entry subl $12, %esp movl $4, %eax mull 16(%esp) testl %edx, %edx movl $-1, %ecx cmovel %eax, %ecx movl %ecx, (%esp) call __Znam addl $12, %esp ret llvm-svn: 108927
* Adopt objc_assign_threadlocal() for __thread variables of GC types.Fariborz Jahanian2010-07-205-17/+57
| | | | | | Implements radar 8203301. llvm-svn: 108917
* Print template argument names for template class.Devang Patel2010-07-202-1/+57
| | | | llvm-svn: 108916
* implement rdar://5739832 - operator new should check for overflow in multiply,Chris Lattner2010-07-204-11/+68
| | | | | | | | | | | | | | | | | | | | causing clang to compile this code into something that correctly throws a length error, fixing a potential integer overflow security attack: void *test(long N) { return new int[N]; } int main() { test(1L << 62); } We do this even when exceptions are disabled, because it is better for the code to abort than for the attack to succeed. This is heavily based on a patch that Fariborz wrote. llvm-svn: 108915
* Introduce a new lexer function to compute the "preamble" of a file,Douglas Gregor2010-07-203-0/+158
| | | | | | | | | which is the part of the file that contains all of the initial comments, includes, and preprocessor directives that occur before any of the actual code. Added a new -print-preamble cc1 action that is only used for testing. llvm-svn: 108913
* Use getDebugLoc and setDebugLoc instead of getDbgMetadata and setDbgMetadata,Dan Gohman2010-07-201-4/+3
| | | | | | avoiding MDNode overhead. llvm-svn: 108911
* Hookup checking for invalid length modifiers in scanf format strings.Ted Kremenek2010-07-202-24/+34
| | | | llvm-svn: 108907
* Move 'hasValidLengthModifier' from PrintfFormatSpecifier to FormatSpecifier.Ted Kremenek2010-07-202-70/+75
| | | | llvm-svn: 108906
* Cleanup whitespace in switch statement. No functionality change.Ted Kremenek2010-07-201-6/+7
| | | | llvm-svn: 108905
* Add 'ConversionSpecifier' root class in 'analyze_format_string' namespace andTed Kremenek2010-07-203-35/+41
| | | | | | | derived 'PrintfConversionSpecifier' from this class. We will do the same for 'ScanfConversionSpecifier'. llvm-svn: 108903
* Rename 'UnicodeStrArg' to 'SArg'.Ted Kremenek2010-07-201-3/+3
| | | | llvm-svn: 108901
* Rename 'ConsumedSoFarArg' -> 'nArg' and 'OutIntPtrArg' to 'nArg' (scanf and ↵Ted Kremenek2010-07-203-8/+8
| | | | | | printf checking). llvm-svn: 108900
* Rename 'VoidPtrArg' to 'pArg' in printf/scanf checking.Ted Kremenek2010-07-201-4/+4
| | | | llvm-svn: 108899
OpenPOWER on IntegriCloud