summaryrefslogtreecommitdiffstats
path: root/clang/lib
Commit message (Collapse)AuthorAgeFilesLines
* Switch from NDEBUG to _DEBUG, since our Windows build is funnyDouglas Gregor2010-03-051-1/+1
| | | | llvm-svn: 97835
* A little hack to identify unwanted concurrency in CIndexDouglas Gregor2010-03-051-1/+4
| | | | llvm-svn: 97831
* Use clang::io::Emit8Kovarththanan Rajaratnam2010-03-051-3/+1
| | | | llvm-svn: 97810
* Make sure the raw_string_ostream gets flushed so we don't accidentally ↵Benjamin Kramer2010-03-051-3/+3
| | | | | | return an empty string. llvm-svn: 97809
* Remove reference to AnalysisContext in Environment. We already have ↵Zhongxing Xu2010-03-055-26/+21
| | | | | | | | LocationContext information in ExplodedNode. llvm-svn: 97785
* add support for a 1<<29 bit in the block flags field to mark blocks using ↵Blaine Garst2010-03-052-3/+18
| | | | | | alternate struct return ABI llvm-svn: 97775
* Don't produce an alias for a destructor if the target is weak.Rafael Espindola2010-03-051-0/+16
| | | | | | This fixes bootstrap on ELF systems :-) llvm-svn: 97773
* When we invalidate a declaration, make it public, so that it doesn'tDouglas Gregor2010-03-051-0/+10
| | | | | | | trigger access control or one of the many assertions we have for valid access specifiers. llvm-svn: 97767
* Patch to get around a rewriter bug rewriting storage classFariborz Jahanian2010-03-041-6/+15
| | | | | | on a block API struct definition. llvm-svn: 97754
* really fix 6473 by handling weakref in constant expressions.Rafael Espindola2010-03-041-1/+3
| | | | llvm-svn: 97750
* add TCE target support, patch by Pekka J!Chris Lattner2010-03-045-3/+134
| | | | llvm-svn: 97746
* Fixes a bug whereby static const block var has static Fariborz Jahanian2010-03-041-0/+17
| | | | | | moved incorrectly. (radar 7714443). llvm-svn: 97734
* Fix PR6473.Rafael Espindola2010-03-043-0/+66
| | | | | | | | | Clang's support for weakref is now better than llvm-gcc's :-) We don't introduce a new symbol and we correctly mark undefined references weak only if there is no definition or regular undefined references in the same file. llvm-svn: 97733
* When profiling Environment, also profile with AnalysisContext*, bacauseZhongxing Xu2010-03-043-0/+8
| | | | | | | | | | we now may have identical states with different analysis context. Set the right AnalysisContext in state when entering and leaving a callee. With both of the above changes, we can pass the test case. llvm-svn: 97724
* Revert changes r97693, r97700, and r97718.John McCall2010-03-045-107/+62
| | | | | | Our testing framework can't deal with disabled targets yet. llvm-svn: 97719
* First start on smmintrin.h, rounding and blending.Eric Christopher2010-03-041-0/+130
| | | | llvm-svn: 97717
* Add in disabled case as well.Eric Christopher2010-03-041-0/+4
| | | | llvm-svn: 97716
* Add in -msse4.1 and -msse4.2 options and continuing a ratherEric Christopher2010-03-041-3/+8
| | | | | | | hacky solution for translating. Expanded on comment explaining the hack a bit. llvm-svn: 97714
* Refactor local class name mangling and make itFariborz Jahanian2010-03-043-15/+25
| | | | | | ABI conforming. llvm-svn: 97702
* Implement __builtin_dwarf_sp_column().John McCall2010-03-041-0/+15
| | | | llvm-svn: 97700
* Create a TargetMachine whenever we create a CodeGenAction. The codegen ofJohn McCall2010-03-044-62/+92
| | | | | | some builtins will rely on target knowledge. llvm-svn: 97693
* Reinstate r97674 with a fix for the assertion that was firing in <list>Douglas Gregor2010-03-036-48/+140
| | | | llvm-svn: 97686
* Remove the linux c includes part of my last patch.Eric Christopher2010-03-031-3/+0
| | | | llvm-svn: 97679
* Revert r97674; it's causing failuresDouglas Gregor2010-03-036-138/+46
| | | | llvm-svn: 97677
* Implement disambiguation of base class members via aDouglas Gregor2010-03-036-46/+138
| | | | | | | | | | | | | | | | | | | | | | | | | | | nested-name-specifier. For example, this allows member access in diamond-shaped hierarchies like: struct Base { void Foo(); int Member; }; struct D1 : public Base {}; struct D2 : public Base {}; struct Derived : public D1, public D2 { } void Test(Derived d) { d.Member = 17; // error: ambiguous cast from Derived to Base d.D1::Member = 17; // error: okay, modify D1's Base's Member } Fixes PR5820 and <rdar://problem/7535045>. Also, eliminate some redundancy between Sema::PerformObjectMemberConversion() and Sema::PerformObjectArgumentInitialization() -- the latter now calls the former. llvm-svn: 97674
* Fix code gen bug generating code forFariborz Jahanian2010-03-031-0/+2
| | | | | | ((id)cat)->isa. Fixes radar 7709015. llvm-svn: 97672
* fix PR6475, we were doing side-effecting stuff in an assert.Chris Lattner2010-03-031-6/+5
| | | | llvm-svn: 97669
* Add in more c++ header paths for later gccs under gentoo linux.Eric Christopher2010-03-031-0/+14
| | | | | | | | Add in c header path for various linuxes as well. Partial patch from Christian Adåker! llvm-svn: 97666
* Implements mangling of local class names toFariborz Jahanian2010-03-031-13/+58
| | | | | | | | fix a code gen crash. This is WIP as not all ABI cases are covered (there is a FIXME to this effect). Fixes radar 7696748. llvm-svn: 97658
* add framework for ARM builtins, Patch by Edmund Grimley Evans!Chris Lattner2010-03-033-3/+26
| | | | llvm-svn: 97656
* Simplify code a bit and remove unneeded semicolons.Benjamin Kramer2010-03-031-7/+4
| | | | llvm-svn: 97654
* Sketch out an implementation for __builtin_dwarf_cfa. I have no ideaJohn McCall2010-03-031-0/+18
| | | | | | why the front-end is calculating the argument to llvm.eh.dwarf.cfa(). llvm-svn: 97653
* Implement __builtin_eh_return.John McCall2010-03-031-0/+16
| | | | llvm-svn: 97643
* Fix a bug with base offset merging that Devang noticed.Anders Carlsson2010-03-031-37/+9
| | | | llvm-svn: 97641
* Implement name hiding for names found through virtual base subobjectsDouglas Gregor2010-03-031-1/+83
| | | | | | | | that are hidden by other derived base subobjects reached along a lookup path that does *not* pass through the hiding subobject (C++ [class.member.lookup]p6). Fixes PR6462. llvm-svn: 97640
* Add proper target hooks for __builtin_extract_return_address andJohn McCall2010-03-033-4/+36
| | | | | | | __builtin_frob_return_address. The implementations for both are still trivial in the default case. llvm-svn: 97638
* Don't emit derived-to-base destructor aliases if we don't have a definitionJohn McCall2010-03-031-1/+7
| | | | | | | | for the base destructor, because aliases to declarations aren't legal. Fixes PR 6471. llvm-svn: 97637
* Refactor CXXRecordDecl::lookupInBases() to push the recursion down aDouglas Gregor2010-03-031-27/+35
| | | | | | | level. No functionality change, and it obeys access control this time. llvm-svn: 97634
* Use SVN_REVISION, not SVN_VERSION.Ted Kremenek2010-03-031-1/+1
| | | | llvm-svn: 97625
* Fix an algorithmic bug in LiveVariables pointed out by Zhongxing.Ted Kremenek2010-03-031-6/+9
| | | | | | | If an initializer in a DeclStmt references the declared variable, that extends the liveness of that variable. llvm-svn: 97624
* Revert r97618. Access control sucksDouglas Gregor2010-03-031-18/+9
| | | | llvm-svn: 97621
* Make getClangRevision() check that SVN_VERSION is an empty string Ted Kremenek2010-03-031-8/+8
| | | | | | | | (even if it is defined). This fixes the issue of this function returning '0' when SVN_VERSION is defined to be "". Fixes: <rdar://problem/7663667> llvm-svn: 97620
* Factor out the recursive lookup into C++ base classes into a separate,Douglas Gregor2010-03-031-9/+18
| | | | | | static function. No functionality change. llvm-svn: 97618
* Eliminate the static map of overridden C++ methods, which was going toDouglas Gregor2010-03-022-34/+83
| | | | | | come back to bite us at some point. llvm-svn: 97607
* Suppress implicit member redeclarations arising from explicit instantiationJohn McCall2010-03-021-0/+1
| | | | | | | | | | | | declarations after the member has been explicitly specialized. We already did this after explicit instantiation definitions; not doing it for declarations meant that subsequent definitions would see a previous member declaration with specialization kind "explicit instantiation decl", which would then happily get overridden. Fixes PR 6458. llvm-svn: 97605
* [CFG]Ted Kremenek2010-03-023-38/+52
| | | | | | | | | | | | | | | | | | | After discussion with Zhongxing, don't force the initializer of DeclStmts to be block-level expressions. This led to some interesting fallout: [UninitializedValues] Always visit the initializer of DeclStmts (do not assume they are block-level expressions). [BasicStore] With initializers of DeclStmts no longer block-level expressions, this causes self-referencing initializers (e.g. 'int x = x') to no longer cause the initialized variable to be live before the DeclStmt. While this is correct, it caused BasicStore::RemoveDeadBindings() to prune off the values of these variables from the initial store (where they are set to uninitialized). The fix is to back-port some (and only some) of the lazy-binding logic from RegionStore to BasicStore. Now the default values of local variables are determined lazily as opposed to explicitly initialized. llvm-svn: 97591
* Don't conjure a symbol for DeclStmts when the variable is a C++ reference.Ted Kremenek2010-03-021-5/+5
| | | | llvm-svn: 97590
* During codegen assert that any copy assignment, destructor or constructor thatRafael Espindola2010-03-023-46/+96
| | | | | | | | we need to synthesize has been marked as used by Sema. Change Sema to avoid these asserts. llvm-svn: 97589
* Diagnose the declaration of enum templates. Also, be a bit moreDouglas Gregor2010-03-022-6/+17
| | | | | | careful about value-dependent enumerators. Fixes PR5786. llvm-svn: 97570
* Move Emit24 to clang::ioKovarththanan Rajaratnam2010-03-021-6/+1
| | | | llvm-svn: 97569
OpenPOWER on IntegriCloud