summaryrefslogtreecommitdiffstats
path: root/clang/lib
Commit message (Collapse)AuthorAgeFilesLines
* Introduce a code-completion hook for the Objective-C collectionDouglas Gregor2010-08-232-10/+78
| | | | | | | | argument in a for-each statement (e.g., "for (id x in <blah>)"), which restricts the expression completions provided to Objective-C types (or class types in C++). llvm-svn: 111843
* Reinstate the code for emitting an initial debug type for a struct,Dan Gohman2010-08-231-4/+11
| | | | | | | to handle the case where the struct is only forward-declared. In this case, a temporary MDNode is not needed and not desired. llvm-svn: 111842
* Driver/Darwin: Switch to using simplified tool chain by default -- what betterDaniel Dunbar2010-08-231-6/+2
| | | | | | way to see what will break! :) llvm-svn: 111840
* Driver/Darwin: When using the simplified Clang toolchain, make sure to also passDaniel Dunbar2010-08-231-1/+27
| | | | | | the arch specific gcc lib path. llvm-svn: 111839
* Driver: Update -ccc-install-dir to also set the installed dir. TotallyDaniel Dunbar2010-08-231-1/+1
| | | | | | non-obvious. llvm-svn: 111838
* Several small changes to PseudoConstantAnalysis and the way ↵Tom Care2010-08-234-33/+113
| | | | | | | | | | | | IdempotentOperationChecker uses it. - Psuedo -> Pseudo (doh...) - C++ reference support - Added pseudoconstant test case for __block vars - Separated out static local checking from pseudoconstant analysis and generalized to non-local checking - Added missing test cases for storage false positives llvm-svn: 111832
* Don't include macro results when we're completing a declarator.Douglas Gregor2010-08-232-7/+1
| | | | llvm-svn: 111830
* Support for IRGen of synthesize bitfield ivars inFariborz Jahanian2010-08-235-6/+30
| | | | | | objc-nonfragile-abi2 (radar 7824380). llvm-svn: 111823
* Introduce a new code-completion point when we're parsing aDouglas Gregor2010-08-234-21/+85
| | | | | | | | | declarator. Here, we can only see a few things (e.g., cvr-qualifiers, nested name specifiers) and we do not want to provide other non-macro completions. Previously, we would end up in recovery mode and would provide a large number of non-relevant completions. llvm-svn: 111818
* Emit an error noting that Clang does not support code generation forDouglas Gregor2010-08-231-1/+6
| | | | | | | the ternary operator without a left-hand side in C++ (PR7726), from Jean-Daniel Dupas! llvm-svn: 111809
* When complaining about a duplicate declspec, provide a Fix-It thatDouglas Gregor2010-08-231-1/+6
| | | | | | | removes the copy. Patch from Eelis van der Weegen, tweaked/updated by me. llvm-svn: 111807
* Add a virtual destructor to the base of another class hierarchy with virtualChandler Carruth2010-08-231-0/+2
| | | | | | methods. llvm-svn: 111804
* Relax the construction of a definition for implicit, trivial defaultChandler Carruth2010-08-232-6/+19
| | | | | | | | | | | | | | | constructors. We perform semantic checking when creating the definition, and this isn't needed in certain contexts (value initialization) but is in others (default initialization). This fixes PR7948. We add explicit code to the default initialization path to ensure the definition is both present and valid. Doug, please review. I think this follows your latest suggestion, and it ended up remarkably cleaner than I anticipated. Also let me know if similar logic should be followed for destructors and copy-constructors. llvm-svn: 111802
* Push DeclGroupRefs and TemplateNames in an opaque but type-safe wayJohn McCall2010-08-238-16/+13
| | | | | | through the parser. llvm-svn: 111800
* In Sema::AddBuiltinOperatorCandidates, candidate pointer types set can also ↵Argyrios Kyrtzidis2010-08-231-14/+12
| | | | | | | | contain a ObjCObjectPointerType since r111699. Don't assume that they are only PointerTypes or we will crash. llvm-svn: 111798
* chandlerc pointed out that ending a line with /\ is not very friendly. :)John McCall2010-08-231-4/+4
| | | | llvm-svn: 111797
* Kill off Parser::TemplateParameterList to avoid misparses.John McCall2010-08-231-4/+4
| | | | llvm-svn: 111796
* Sundry incremental steps towards killing off Action.John McCall2010-08-2318-133/+130
| | | | llvm-svn: 111795
* fix rdar://8340348, a miscompile of boost that was exposed by r109848.Chris Lattner2010-08-231-2/+5
| | | | | | | | | | | That revision started classifying truly empty structs like "Y" and "X" as being NoClass/NoClass and turning them into 'ignore'. The call code turns around and allocates space for the ignored argument with GetUndefRValue. The bug is that GetUndefRValue would return the address as undef, instead of returning an object with a defined address but undefined contents. llvm-svn: 111794
* Adjust code placement.Zhongxing Xu2010-08-231-8/+8
| | | | llvm-svn: 111790
* Abstract out everything having to do with member pointers into the ABIJohn McCall2010-08-238-219/+285
| | | | | | | | | | | class; they should just be completely opaque throughout IR gen now, although I haven't really audited that. Fix a bug apparently inherited from gcc-4.2 where we failed to null-check member data pointers when performing derived-to-base or base-to-derived conversions on them. llvm-svn: 111789
* Extract a method to check whether a function is the global placementJohn McCall2010-08-231-10/+21
| | | | | | operator new[]. llvm-svn: 111788
* Go back to asking CodeGenTypes whether a type is zero-initializable.John McCall2010-08-2212-114/+92
| | | | | | | | | Make CGT defer to the ABI on all member pointer types. This requires giving CGT a handle to the ABI. It's way easier to make that work if we avoid lazily creating the ABI. Make it so. llvm-svn: 111786
* Add x86intrin.h which is generic x86 intrinsics for more than just Intel. ThusNick Lewycky2010-08-221-0/+31
| | | | | | far, this just #include's immintrin.h for compatibility. llvm-svn: 111785
* Do not elide copy construction when we're performing base-class initializationDouglas Gregor2010-08-221-0/+1
| | | | llvm-svn: 111783
* Eliminate a stale assertion. Fixes Clang self-host.Douglas Gregor2010-08-221-4/+1
| | | | llvm-svn: 111782
* Preserve the zero-initialization and construction-kind settings whenDouglas Gregor2010-08-221-3/+8
| | | | | | instantiating CXXConstructExpr expressions. llvm-svn: 111780
* When performing value-initialization for a class with a non-trivial,Douglas Gregor2010-08-222-23/+15
| | | | | | | | | | | | implicitly-defined default constructor, zero-initialize the memory before calling the default constructor. Previously, we would only zero-initialize in the case of a trivial default constructor. Also, simplify the hideous logic that determines when we have a trivial default constructor and, therefore, don't need to emit any call at all. llvm-svn: 111779
* Clean up a very silly use of first-class aggregates.John McCall2010-08-221-8/+2
| | | | llvm-svn: 111777
* Experiment with using first-class aggregates to represent member functionJohn McCall2010-08-2211-290/+206
| | | | | | | | | | pointers. I find the resulting code to be substantially cleaner, and it makes it very easy to use the same APIs for data member pointers (which I have conscientiously avoided here), and it avoids a plethora of potential inefficiencies due to excessive memory copying, but we'll have to see if it actually works. llvm-svn: 111776
* Extract member function pointer comparison and null comparison intoJohn McCall2010-08-225-35/+150
| | | | | | | | | | | | the ABI code. Implement correct semantics for these on ARM. I believe this completes the implementation of member function pointers on ARM. I think I'm going to switch member function pointers over to be non-aggregates while I have all this in mind. llvm-svn: 111774
* Add two new enumerations to the unsupported list for Windows so that all casesChandler Carruth2010-08-221-0/+2
| | | | | | are handled. llvm-svn: 111773
* Abstract out member-pointer creation. I'm really unhappy about the currentJohn McCall2010-08-228-81/+134
| | | | | | | | duplication between the constant and non-constant paths in all of this. Implement ARM ABI semantics for member pointer constants and conversion. llvm-svn: 111772
* Abstract more member-pointerness out.John McCall2010-08-227-71/+174
| | | | llvm-svn: 111771
* Abstract out member-pointer conversions.John McCall2010-08-224-39/+92
| | | | | | Pretty much everything having to do with member pointers is ABI-specific. llvm-svn: 111770
* Detabify.Eli Friedman2010-08-2215-44/+44
| | | | llvm-svn: 111768
* Implement the call parts of the member-function-pointer ARM C++ ABI.John McCall2010-08-221-23/+56
| | | | llvm-svn: 111766
* Extract calls to method pointers out as an ABI routine.John McCall2010-08-224-66/+126
| | | | | | No functionality change. llvm-svn: 111752
* The ARM C++ ABI is sufficiently different from the Itanium C++ ABI thatJohn McCall2010-08-218-4/+46
| | | | | | | it deserves its own enumerator. Obviously the implementations should closely follow the Itanium ABI except in cases of divergence. llvm-svn: 111749
* Visual Studio tools used on win32 hosts when targeting win32.Michael J. Spencer2010-08-217-2/+223
| | | | llvm-svn: 111748
* twik to my previous patch for pr7936.Fariborz Jahanian2010-08-211-2/+8
| | | | | | | Build qualified version of ObjC pointers (not pointers) when doing overload resolution. llvm-svn: 111740
* Place method near its class.Zhongxing Xu2010-08-211-12/+13
| | | | llvm-svn: 111737
* Remove dead code.Zhongxing Xu2010-08-211-12/+0
| | | | llvm-svn: 111736
* Improve comments.Zhongxing Xu2010-08-211-6/+1
| | | | llvm-svn: 111735
* Remove a special case for OSAtomic functions. We can already bind and retrieveZhongxing Xu2010-08-212-7/+4
| | | | | | | | with the same binding key. The only trick here is that sometimes the Symbolic region is stored in with an LocAsInteger wrapper. We unwrap that in SVal::getAsLocSymbol(). llvm-svn: 111734
* DeclPtrTy -> Decl *John McCall2010-08-2126-743/+699
| | | | llvm-svn: 111733
* Remove dead code. We no longer need it because now we treat the first elementZhongxing Xu2010-08-211-34/+0
| | | | | | region and its base region as the same binding key. llvm-svn: 111732
* remove unused variable.Zhongxing Xu2010-08-211-1/+1
| | | | llvm-svn: 111731
* When invalidating a struct region, whether its type definition exists is notZhongxing Xu2010-08-211-9/+2
| | | | | | | relavant any more, because we set its default value to a symbol, and the type of default symbolic value is irrelavant. llvm-svn: 111730
* Fix typo in comment.Michael J. Spencer2010-08-211-1/+1
| | | | llvm-svn: 111729
OpenPOWER on IntegriCloud