summaryrefslogtreecommitdiffstats
path: root/clang/lib
Commit message (Collapse)AuthorAgeFilesLines
* Change UsedArray to be a vector of WeakVH to fix a dangling pointer problem ↵Chris Lattner2009-03-312-10/+15
| | | | | | | | that occurs when attribute(used) and asm renaming are used together. llvm-svn: 68155
* remove some obsolete comments, use an AssertingVH.Chris Lattner2009-03-313-20/+7
| | | | llvm-svn: 68151
* Driver: Implement basic --help text.Daniel Dunbar2009-03-311-0/+72
| | | | | | | | - PR3875. - <rdar://problem/6615249> [driver] ccc should support some form of --help llvm-svn: 68148
* Driver: Add OptTable::getOptionKind.Daniel Dunbar2009-03-311-3/+5
| | | | | | Also, removed default value for getOptionMetaVar. llvm-svn: 68146
* Driver: Forward -Wp, and -Xpreprocessor arguments to clang when usingDaniel Dunbar2009-03-311-0/+12
| | | | | | | | | | | | the preprocessor. - PR3602. - As is inherent in the blanket forwarding options, this will only work if clang-cc happens to accept what the user passed. Users by and large should use driver options to interact with the preprocessor, if at all possible. llvm-svn: 68144
* Allow two codepaths for PathDiagnostic generation. This patch mainly consists ofTed Kremenek2009-03-312-41/+79
| | | | | | refactoring to make this possible (no functionality change). llvm-svn: 68141
* Some cleanup and renaming. No functionality changeDouglas Gregor2009-03-315-29/+16
| | | | llvm-svn: 68140
* Driver: Add extra parameters for help text to option definitions.Daniel Dunbar2009-03-311-4/+18
| | | | | | | | - Currently unused. And yes, now may be about the time I want a TableGen backend. llvm-svn: 68139
* x86_32 Darwin ABI: Treat empty unions like empty structures.Daniel Dunbar2009-03-311-5/+5
| | | | | | - Current return-arguments-32 status: 15/1000 failures llvm-svn: 68132
* Implement template instantiation for template names, including bothDouglas Gregor2009-03-313-4/+91
| | | | | | | | | | | template template parameters and dependent template names. For example, the oft-mentioned typename MetaFun::template apply<T1, T2>::type can now be instantiated, with the appropriate name lookup for "apply". llvm-svn: 68128
* Patch to fix proptocol reference ir-gen for GNU runtime.Fariborz Jahanian2009-03-311-2/+39
| | | | | | Patch by David Chisnal. llvm-svn: 68125
* ir-gen support for nonfragile abi's synthesized ivars.Fariborz Jahanian2009-03-312-4/+23
| | | | llvm-svn: 68122
* Driver: Call 'as' directly on FreeBSD.Daniel Dunbar2009-03-313-0/+57
| | | | | | - Patch by Ed Schouten! llvm-svn: 68121
* (LLVM up) Update to use llvm::sys::getHostTriple().Daniel Dunbar2009-03-311-5/+5
| | | | | | | | - Always pass -triple to clang-cc (-arch will be removed). - clang-cc doesn't play guess work with the target triple anymore. llvm-svn: 68119
* More toward nonfragile abi's synthesized ivars.Fariborz Jahanian2009-03-311-0/+8
| | | | llvm-svn: 68115
* Some "prep" work for handling ObjC @-string constants that contain UTF-8. No ↵Steve Naroff2009-03-315-12/+17
| | | | | | | | functionality change. Changed GenerateConstantString() to take an ObjCStringLiteral (instead of a std::string). While this isn't strictly necessary, it seems cleaner and allows us to cache to "containsNonAscii" if necessary (to avoid checking in both Sema and CodeGen). llvm-svn: 68114
* Implement -Wmissing-prototypes. Fixes PR3911.Douglas Gregor2009-03-312-0/+42
| | | | llvm-svn: 68110
* Incorporate feedback from Eli.Steve Naroff2009-03-311-17/+11
| | | | llvm-svn: 68107
* Fix a problem in ASTContext::addRecordToClass handling forward declarations.Chris Lattner2009-03-311-16/+26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In a case like: @class foo; foo *P; addRecordToClass was making an empty shadow struct for the foo interface and completing it. Later when an: @interface foo ... @endif foo *Q; was seen, ASTContext::addRecordToClass would think that foo was already laid out and not lay out the definition. This fixes it to create a forward declared struct the first time around, then complete it when the definition is seen. Note that this causes two tests to regress, because something is trying to get the size of the forward declared structs returned by this. Previously, this would end up getting a size of zero but now it properly dies. I'm not sure what the right solution is for this, so I xfailed the tests. Fariborz, please take a look at this. The testcase in rdar://6676794 now gets farther, but dies later because the objc ivar is not assigned a field number. As an aside, I really don't like the fact that the objc front-end is creating shadow C structs for ObjC types. This seems like an implementation detail of the code generator that could be fixed by better factoring of the extant code. llvm-svn: 68106
* remove a dead prototypeChris Lattner2009-03-312-7/+6
| | | | llvm-svn: 68105
* remove the warning. We don't control what users do, and this codeChris Lattner2009-03-311-6/+0
| | | | | | | is run for perfectly reasonable things like NSString* because type layout is recursive. llvm-svn: 68104
* disable copying of Type objects.Chris Lattner2009-03-311-1/+1
| | | | llvm-svn: 68103
* do not *copy* objc interface types, just use their reference.Chris Lattner2009-03-311-12/+8
| | | | llvm-svn: 68102
* fill in temporary smallvectors instead of vectors for performance.Chris Lattner2009-03-312-47/+43
| | | | | | Fix BuildAggrIvarLayout to not access vectors out of range. llvm-svn: 68101
* simplify some castingChris Lattner2009-03-311-7/+4
| | | | llvm-svn: 68098
* small cleanups.Chris Lattner2009-03-311-9/+7
| | | | llvm-svn: 68095
* add a const version of the lookupFieldDeclForIvar method.Chris Lattner2009-03-311-3/+1
| | | | llvm-svn: 68094
* reduce nesting.Chris Lattner2009-03-311-14/+18
| | | | llvm-svn: 68091
* Codegen sometimes crashes on comparisons that aren't legal, justChris Lattner2009-03-311-1/+9
| | | | | | | disable this feature for now, to err on the side of rejecting instead of sometimes crashing. rdar://6326239 llvm-svn: 68088
* Parsing and AST representation for dependent template names that occurDouglas Gregor2009-03-3111-44/+169
| | | | | | | | | | | within nested-name-specifiers, e.g., for the "apply" in typename MetaFun::template apply<T1, T2>::type At present, we can't instantiate these nested-name-specifiers, so our testing is sketchy. llvm-svn: 68081
* fe support for objc2's nonfragile-abi synthesized ivars.Fariborz Jahanian2009-03-313-6/+28
| | | | llvm-svn: 68077
* Implement UCN support for C string literals (C99 6.4.3) and add some very ↵Steve Naroff2009-03-301-15/+102
| | | | | | | | basic tests. Chris Goller has graciously offered to write some test to help validate UCN support. From a front-end perspective, I believe this code should work for ObjC @-strings. At the moment, I believe we need to tweak the code generation for @-strings (which doesn't appear to handle them). Will be investigating. llvm-svn: 68076
* Slight generalization for Evaluate with const variables.Eli Friedman2009-03-301-2/+2
| | | | llvm-svn: 68075
* Improve the representation of template names in the AST. ThisDouglas Gregor2009-03-3014-153/+268
| | | | | | | | | | | | | | | | | | | | | | | | | | | | representation handles the various ways in which one can name a template, including unqualified references ("vector"), qualified references ("std::vector"), and dependent template names ("MetaFun::template apply"). One immediate effect of this change is that the representation of nested-name-specifiers in type names for class template specializations (e.g., std::vector<int>) is more accurate. Rather than representing std::vector<int> as std::(vector<int>) we represent it as (std::vector)<int> which more closely follows the C++ grammar. Additionally, templates are no longer represented as declarations (DeclPtrTy) in Parse-Sema interactions. Instead, I've introduced a new OpaquePtr type (TemplateTy) that holds the representation of a TemplateName. This will simplify the handling of dependent template-names, once we get there. llvm-svn: 68074
* Add partial CFG support for Objective-C exception-handling blocks. We basicallyTed Kremenek2009-03-301-5/+18
| | | | | | assume that @catch blocks are never executed. llvm-svn: 68072
* Re-apply 68028. The code had drifted enough that the tests would fail withoutTed Kremenek2009-03-302-27/+14
| | | | | | it. Will discuss offline whether symbolic regions should by typed or typeless. llvm-svn: 68070
* Comment fix.Daniel Dunbar2009-03-301-1/+1
| | | | llvm-svn: 68069
* Revert 68028.Ted Kremenek2009-03-302-14/+27
| | | | llvm-svn: 68068
* Remove dead code.Ted Kremenek2009-03-301-103/+0
| | | | llvm-svn: 68063
* Driver: Sketch FreeBSD tool chain.Daniel Dunbar2009-03-304-0/+110
| | | | | | - Patch by Ed Schouten! llvm-svn: 68061
* Code gen does not yet supports __asm__ on a variableFariborz Jahanian2009-03-301-0/+3
| | | | | | declaration. Reject it. llvm-svn: 68058
* Simplify more code by using SVal::getAsSymbol().Ted Kremenek2009-03-303-18/+11
| | | | llvm-svn: 68052
* Simplify more code by using SVal::getAsSymbol() instead ofTed Kremenek2009-03-301-12/+6
| | | | | | loc::SymbolVal/nonloc::SymbolVal probing. llvm-svn: 68049
* Convert use of loc::SymbolVal and nonloc::SymbolVal to V.getAsSymbol(). ThisTed Kremenek2009-03-301-11/+4
| | | | | | | also makes this code more correct as it transparently handles SVals that wrapped TypedViewRegions(SymbolicRegions). llvm-svn: 68048
* Driver: Unbreak ArgList::hasFlag.Daniel Dunbar2009-03-301-1/+1
| | | | | | | - <rdar://problem/6726511> [driver] clang does not have -msoft-float hooked up. llvm-svn: 68044
* Use CodeGenModule API for ObjC runtime function references.Fariborz Jahanian2009-03-301-14/+28
| | | | | | Patch by David Chisnall. llvm-svn: 68043
* Fix -MD with no -MT when -o is specified (and fix test case).Daniel Dunbar2009-03-301-1/+1
| | | | llvm-svn: 68042
* Add version of GRExprEngine::AddCheck that registered a GRSimpleAPICheck thatTed Kremenek2009-03-301-10/+26
| | | | | | will be called for every expression in a basic block. llvm-svn: 68041
* Make SymbolicRegion untyped.Zhongxing Xu2009-03-302-27/+14
| | | | | | Layer the type information with a TypedViewRegion on top of the SymbolicRegion. llvm-svn: 68028
* Driver: Support -M and -MM.Daniel Dunbar2009-03-302-24/+31
| | | | | | | | - Not particularly elegant, but my hand is forced by gcc. Also, tweak -ccc-print-bindings output. llvm-svn: 68027
OpenPOWER on IntegriCloud