summaryrefslogtreecommitdiffstats
path: root/clang/lib
Commit message (Collapse)AuthorAgeFilesLines
...
* Driver: Move HostInfo::lookupTypeForExtension to ↵Daniel Dunbar2010-08-025-49/+17
| | | | | | ToolChain::LookupTypeForExtension. llvm-svn: 110024
* Driver: Give Build{Universal,}Actions access to the default host tool chain. IDaniel Dunbar2010-08-021-9/+9
| | | | | | | avoided this originally to enforce that the driver actions aren't toolchain dependent, but it isn't worth the cumbersone additional hostinfo split. llvm-svn: 110023
* Improve flat store: MemRegion::getAsOffset() computes a region's offset withinZhongxing Xu2010-08-025-17/+88
| | | | | | | | the top-level object. FlatStore now can bind and retrieve element and field regions. PR7297 is fixed by flat store. llvm-svn: 110020
* Driver: Add Compilation::addCommand and switch tools to using it, now that weDaniel Dunbar2010-08-023-67/+45
| | | | | | don't have to deal with nested jobs. llvm-svn: 110015
* Driver: Eliminate PipedJob, which is now unused.Daniel Dunbar2010-08-022-23/+1
| | | | llvm-svn: 110014
* Driver: Eliminate special InputInfo kind for pipes, it is now unused.Daniel Dunbar2010-08-022-135/+35
| | | | llvm-svn: 110013
* Driver: Eliminate now unnecessary tool hooks for whether they accept piped ↵Daniel Dunbar2010-08-021-44/+0
| | | | | | input/output. llvm-svn: 110012
* Driver: Simplify.Daniel Dunbar2010-08-021-7/+2
| | | | llvm-svn: 110011
* Driver: Eliminate now unused argument.Daniel Dunbar2010-08-021-4/+2
| | | | llvm-svn: 110010
* Driver: Simplify logic for sending 'clang -E t.c' output to stdout.Daniel Dunbar2010-08-021-25/+4
| | | | llvm-svn: 110009
* Driver: Never try to use piped inputs.Daniel Dunbar2010-08-021-7/+2
| | | | llvm-svn: 110008
* Driver: Start ripping out support for -pipe, which is worthless and complicatesDaniel Dunbar2010-08-021-17/+4
| | | | | | too many other things. llvm-svn: 110007
* Driver/OpenBSD: Update toolchain for compiler changes / C++; patch by JonathanDaniel Dunbar2010-08-012-1/+19
| | | | | | Gray. llvm-svn: 109994
* Driver: Keep track of a separate "install dir", which is the path where clangDaniel Dunbar2010-08-011-5/+15
| | | | | | | | | was invoked from (which may not be where the executable itself is). - This allows having e.g., /Developer/usr/bin/clang be a symlink to some other location, while still making sure the Driver finds 'as', 'ld', etc. relative to itself. llvm-svn: 109989
* PR7777: Set EnabledByDefault to something useful, instead of setting itEli Friedman2010-08-011-1/+1
| | | | | | | randomly. This makes us consistently show "-pedantic" as the warning option for a warning where appropriate. llvm-svn: 109987
* Kill off RequiresGlobalConstructor in favor of isConstantInitializer.John McCall2010-08-012-53/+17
| | | | | | Note some obvious false positives in the test case. llvm-svn: 109986
* Make a first pass at implementing -Wglobal-constructors. I'm worried that thisJohn McCall2010-08-012-1/+67
| | | | | | | will end up bizarrely mirroring CGExprConstant, but that might be the hazard of this feature. llvm-svn: 109984
* Instantiate attributes from the pattern record when instantiatingJohn McCall2010-08-013-13/+18
| | | | | | a class template. Fixes rdar://problem/8243419. llvm-svn: 109967
* Fix indentation.John McCall2010-08-011-9/+9
| | | | llvm-svn: 109965
* Don't consider all local variables in C++ to mandate scope-checking, justJohn McCall2010-08-011-2/+10
| | | | | | those with initializers. llvm-svn: 109964
* Only run the jump-checker if there's a branch-protected scope *and* there'sJohn McCall2010-08-014-20/+54
| | | | | | | | | | a switch or goto somewhere in the function. Indirect gotos trigger the jump-checker regardless, because the conditions there are slightly more elaborate and it's too marginal a case to be worth optimizing. Turns off the jump-checker in a lot of cases in C++. rdar://problem/7702918 llvm-svn: 109962
* Fix fragile-ABI ObjC exceptions in the presence of optimization withJohn McCall2010-07-311-3/+165
| | | | | | | | | the magic of inline assembly. Essentially we use read and write hazards on the set of local variables to force flushing locals to memory immediately before any protected calls and to inhibit optimizing locals across the setjmp->catch edge. Fixes rdar://problem/8160285 llvm-svn: 109960
* Parser: Add support for #pragma align, which is just another spelling of #pragmaDaniel Dunbar2010-07-313-13/+40
| | | | | | options align. llvm-svn: 109952
* After a lengthy design discussion, add support for "ownership attributes" ↵Ted Kremenek2010-07-315-20/+387
| | | | | | for malloc/free checking. Patch by Andrew McGregor! llvm-svn: 109939
* Implement dependency analysis for the precompiled preamble. If any ofDouglas Gregor2010-07-312-30/+108
| | | | | | | the files in the precompiled preamble have changed since it was build, force the preamble to be rebuilt. llvm-svn: 109937
* Uncomment unfinished work bailout in IdempotentOperationsChecker.Tom Care2010-07-301-2/+2
| | | | llvm-svn: 109893
* Add some timers to ASTUnit that are only enabled when the LIBCLANG_TIMING ↵Douglas Gregor2010-07-301-15/+55
| | | | | | environment variable is set. llvm-svn: 109890
* Correctly deal with using names for both functions and structs in chained PCH.Sebastian Redl2010-07-301-0/+10
| | | | llvm-svn: 109871
* Refactor find*Specialization functions using SpecEntryTraitsPeter Collingbourne2010-07-301-16/+17
| | | | | | | | | This patch reimplements the find*Specialization family of member functions of {Class,Function}TemplateDecl in terms of a common implementation that uses SpecEntryTraits to obtain the most recent declaration. llvm-svn: 109869
* Safely get a data pointer for vectors that might be empty.Sebastian Redl2010-07-301-6/+15
| | | | llvm-svn: 109867
* Tighten the rules when deciding if an ivar must beFariborz Jahanian2010-07-301-3/+15
| | | | | | | auto-synthesized (nonfragile-abi2 specific). Fixes radar 8251648. llvm-svn: 109866
* Fixed typedef inside extern "C".Abramo Bagnara2010-07-304-33/+29
| | | | llvm-svn: 109865
* When we are deserializing the lexical decls of a DeclContext from PCH, ↵Argyrios Kyrtzidis2010-07-301-0/+3
| | | | | | | | | | | notify the PCHReader to hold off passing Decls to the consumer until the DeclContext is fully prepared. Before, due to recursive loading, we could be in a situation where we would try to deserialize the decls of a DeclContext which was already doing that, and bad things would happen. In the specific case I encountered, the lexical decls would form a cycle and we would enter infinite loop territory. llvm-svn: 109857
* Refactor the way PCHReader tracks whether we are in recursive loading.Argyrios Kyrtzidis2010-07-302-22/+16
| | | | | | | | | | -Replace CurrentlyLoadingTypeOrDecl with a counting scheme (NumCurrentElementsDeserializing) -Provide outside access to the mechanism by adding methods StartedDeserializing/FinishedDeserializing to ExternalASTSource. These are preparation for the next commit. llvm-svn: 109856
* Improve error recovery when presented with an ill-formed template-idJohn McCall2010-07-301-5/+9
| | | | | | | | (e.g. due to a broken template argument) following template parameters. Fixes rdar://problem/8254267 llvm-svn: 109853
* If a TST_typename has a null type, mark the declarator invalid. PreventsJohn McCall2010-07-301-2/+4
| | | | | | some downstream crashes, among them rdar://problem/8229840. llvm-svn: 109850
* Emit global destructors even if the destroyed object has no initializers or hasJohn McCall2010-07-301-7/+3
| | | | | | | | an initializer requiring temporary object disposal. Fixes rdar:://problem/8246444. llvm-svn: 109849
* fix PR5179 and correctly fix PR5831 to not miscompile.Chris Lattner2010-07-303-42/+111
| | | | | | | | | | | | | | | | | | | | The X86-64 ABI code didn't handle the case when a struct would get classified and turn up as "NoClass INTEGER" for example. This is perfectly possible when the first slot is all padding (e.g. due to empty base classes). In this situation, the first 8-byte doesn't take a register at all, only the second 8-byte does. This fixes this by enhancing the x86-64 abi stuff to allow and handle this case, reverts the broken fix for PR5831, and enhances the target independent stuff to be able to handle an argument value in registers being accessed at an offset from the memory value. This is the last x86-64 calling convention related miscompile that I'm aware of. llvm-svn: 109848
* Don't print out ivars twice in Decl::print(). Fixes <rdar://problem/8253668>.Ted Kremenek2010-07-301-0/+6
| | | | llvm-svn: 109833
* Make macro weirdness in chained PCH work. This required changing the way ↵Sebastian Redl2010-07-307-42/+77
| | | | | | PCHReader and PCHWriter are initialized to correctly pick up all initializer. On the upside, this means that there is far less repetition in the dependent PCH now. llvm-svn: 109823
* Revert "Re-apply fixed version of 108749, correctly conditionalizing the newDaniel Dunbar2010-07-291-15/+5
| | | | | | | sections on", this change uncovered a possible linker bug which resulted in the wrong messages getting dispatched. Backing this out while we investigate... llvm-svn: 109817
* Wire up sema checking for __builtin_arm_usat and __builtin_arm_ssat immediates.Nate Begeman2010-07-292-1/+3
| | | | llvm-svn: 109814
* Teach isIncompleteType() to look through sugar when it is dealing withDouglas Gregor2010-07-291-2/+3
| | | | | | Objective-C object and interface types. This is part of PR7741. llvm-svn: 109808
* move the last hunk of getCoerceResult into the placeChris Lattner2010-07-292-34/+29
| | | | | | that needs it and remove getCoerceResult. llvm-svn: 109807
* now that direct and coerce are merged, getCoerceResult gets simpler.Chris Lattner2010-07-291-5/+0
| | | | llvm-svn: 109805
* now that GetSSETypeAtOffset handles passing SSE class values asChris Lattner2010-07-291-14/+0
| | | | | | float, the special case hack in getCoerceResult can go away. llvm-svn: 109804
* Change the name to something less terrible; suggestion by Doug. No ↵Argyrios Kyrtzidis2010-07-293-3/+3
| | | | | | functionality change. llvm-svn: 109797
* Weak references and variables that are not definitions are not required for ↵Argyrios Kyrtzidis2010-07-291-0/+7
| | | | | | early codegen/deserialization. llvm-svn: 109796
* Implement the clang-side of detection for when to pass asChris Lattner2010-07-291-3/+39
| | | | | | | | <2 x float> instead of double. This works but can't be turned on until I teach codegen to pass <2 x float> as one XMM register instead of two. llvm-svn: 109790
* Look at me, I can count!Chris Lattner2010-07-291-1/+1
| | | | llvm-svn: 109786
OpenPOWER on IntegriCloud