summaryrefslogtreecommitdiffstats
path: root/clang/lib
Commit message (Collapse)AuthorAgeFilesLines
* Tweak diag for <rdar://problem/5982579> [clang on xcode] (using ↵Steve Naroff2009-03-051-1/+4
| | | | | | arch=x86_64): synthesized property 'sdkPath' must either be named the same as a compatible ivar or must explicitly name an ivar. llvm-svn: 66162
* Fix <rdar://problem/6144382> [sema] gcc inconsistency w.r.t. forward ↵Steve Naroff2009-03-052-0/+31
| | | | | | protocol declarations. llvm-svn: 66161
* prep work for copy/destroy helpers for block literals.Mike Stump2009-03-054-51/+77
| | | | llvm-svn: 66159
* if we die in IR generation of a compound statement, include Chris Lattner2009-03-051-1/+4
| | | | | | | | | | | | | | it in the stack trace, giving us stuff like: Stack dump: 0. Program arguments: clang t.c -emit-llvm 1. <eof> parser at end of file 2. t.c:1:5: LLVM IR generation of declaration 'a' 3. t.c:1:9: LLVM IR generation of compound statement ('{}') 4. t.c:2:3: LLVM IR generation of compound statement ('{}') Abort llvm-svn: 66154
* rename PrettyStackTraceDecl -> PrettyStackTraceActionsDecl.Chris Lattner2009-03-056-16/+38
| | | | | | | | | | | | | | | | Introduce a new PrettyStackTraceDecl. Use it to add the top level LLVM IR generation stuff in Backend.cpp to stack traces. We now get crashes like: Stack dump: 0. Program arguments: clang t.c -emit-llvm 1. <eof> parser at end of file 2. t.c:1:5: LLVM IR generation of declaration 'a' Abort for IR generation crashes. llvm-svn: 66153
* if we crash while parsing a block literal, include it.Chris Lattner2009-03-051-1/+5
| | | | llvm-svn: 66150
* fix eof checkChris Lattner2009-03-051-1/+6
| | | | llvm-svn: 66149
* When the parser is live, print out the location and spelling of its current ↵Chris Lattner2009-03-052-22/+39
| | | | | | | | | | | | | | | | | token. For example: Stack dump: 0. Program arguments: clang t.cpp 1. t.cpp:4:8: current parser token: ';' 2. t.cpp:3:1: parsing struct/union/class body 'x' Abort It is weird that the parser is always "underneath" any parse context actions, but the parser is created first. llvm-svn: 66148
* Driver: Basic argument parsing.Daniel Dunbar2009-03-053-15/+82
| | | | | | | | - Add Driver::ParseArgStrings. - Store values directly in CommaJoinedArg to support simple access. - Add FlagArg class. llvm-svn: 66142
* Add initial support for tracking ivars, with special handling for ivars of ↵Ted Kremenek2009-03-051-8/+33
| | | | | | 'self'. llvm-svn: 66133
* Make IRGen compatible with declaring a function with incomplete Eli Friedman2009-03-051-2/+13
| | | | | | | return/argument types. (The generated IR isn't ideal, but we can't really do better in general.) llvm-svn: 66132
* Add 'cast<>' to remove an extra function call and dynamic cast.Ted Kremenek2009-03-051-2/+2
| | | | llvm-svn: 66131
* More fixes in cast logic.Ted Kremenek2009-03-051-16/+9
| | | | llvm-svn: 66130
* Initial implementation of CodeGen for incomplete function types; fixes Eli Friedman2009-03-052-4/+55
| | | | | | | PR3688. (The FIXME is a rather big performance issue, but it only affects code using this feature, which is relatively rare.) llvm-svn: 66128
* GRExprEngine: Polish up handling of casting integer constants to pointers ↵Ted Kremenek2009-03-051-2/+8
| | | | | | and back. llvm-svn: 66127
* Avoid dispose calls when only doing gc.Mike Stump2009-03-051-1/+1
| | | | llvm-svn: 66126
* Fix regression in transparent translation of nonloc::ConcreteInto to ↵Ted Kremenek2009-03-051-10/+17
| | | | | | loc::ConcreteInt. llvm-svn: 66125
* Include struct context info for parser/sema crashes. ThisChris Lattner2009-03-052-0/+8
| | | | | | | | | | | | | | | | | | | | | gives us: Stack dump: 0. using-directive.cpp:26:16: in compound statement ('{}') 1. using-directive.cpp:26:16: parsing function body 'A::K1::foo' 2. using-directive.cpp:25:3: parsing struct/union/class body 'A::K1' 3. using-directive.cpp:5:1: parsing namespace 'A' 4. clang using-directive.cpp Abort for code like: namespace A { ... class K1 { void foo() { <<crash>> llvm-svn: 66124
* Include namespace contexts in the virtual stack trace, so we get stuffChris Lattner2009-03-051-0/+4
| | | | | | | | | | | | | | | | | | | | | | like this: Stack dump: 0. using-directive.cpp:9:14: in compound statement ('{}') 1. using-directive.cpp:9:14: parsing function body 'A::B::f' 2. using-directive.cpp:7:3: parsing namespace 'A::B' 3. using-directive.cpp:5:1: parsing namespace 'A' 4. clang using-directive.cpp Abort for testcase like like: namespace A { short i; namespace B { long i; void f() { <<crash>> llvm-svn: 66123
* include objc method decl contexts in stack trace of crash, e.g.:Chris Lattner2009-03-051-0/+5
| | | | | | | | | Stack dump: 0. message.m:53:13: in compound statement ('{}') 1. message.m:53:13: parsing Objective-C method 'xx' 2. clang message.m llvm-svn: 66121
* Set isMain bit for MainFile.Devang Patel2009-03-051-1/+3
| | | | llvm-svn: 66120
* When parsing a function body, add it to the crash stack, giving us somethingChris Lattner2009-03-054-0/+33
| | | | | | | | | | | | | like: Stack dump: 0. t.c:5:10: in compound statement ('{}') 1. t.c:3:12: in compound statement ('{}') 2. t.c:3:12: parsing function body 'foo' 3. clang t.c Abort llvm-svn: 66118
* Add codegen support for __block variables to call _Block_object_dispose as ↵Mike Stump2009-03-054-28/+53
| | | | | | necessary. llvm-svn: 66117
* Simplify the interface to ParseFunctionStatementBody to not take Chris Lattner2009-03-053-6/+9
| | | | | | | locations that are the current tok loc. Note that inline C++ methods have a big fixme that could cause a crash. llvm-svn: 66113
* Fix message titleTed Kremenek2009-03-051-1/+1
| | | | llvm-svn: 66110
* Include information about compound statements when crashing in sema or theChris Lattner2009-03-053-15/+44
| | | | | | | | | | parser. For example, we now print out: 0. t.c:5:10: in compound statement {} 1. t.c:3:12: in compound statement {} 2. clang t.c -fsyntax-only llvm-svn: 66108
* For now, do not track NSWindow objects and it's subclasses.Ted Kremenek2009-03-041-0/+13
| | | | llvm-svn: 66107
* Driver: Implement Option::accept methods.Daniel Dunbar2009-03-043-17/+61
| | | | llvm-svn: 66106
* Driver: Fix off by one in ParseOneArg; this code is ugly but will beDaniel Dunbar2009-03-041-2/+2
| | | | | | replaced anyway. llvm-svn: 66101
* Driver: Add Arg::dump and SeparateArg stubs.Daniel Dunbar2009-03-041-0/+41
| | | | llvm-svn: 66100
* Removed an unfortunate cut and paste left-over.Fariborz Jahanian2009-03-041-2/+0
| | | | llvm-svn: 66099
* Add prototype support for invalidating fields for structures passed-by-referenceTed Kremenek2009-03-041-18/+71
| | | | | | | to unknown functions. Most of this logic should be eventually moved to RegionStore and be made lazy. llvm-svn: 66094
* MemRegion:Ted Kremenek2009-03-041-2/+3
| | | | | | | | | - Have 'TypedRegion::getRValueType()' return a null QualType for 'id<...>' instead of aborting. - Change 'TypedRegion::isBoundable()' to return true for all objects with a non-null RValueType (this may not be the final behavior). llvm-svn: 66093
* Add an optional "tag" to conjured symbols that allows us to distinguish betweenTed Kremenek2009-03-041-3/+4
| | | | | | | | multiple symbols conjured at the same location. All that is required of the tag is that it is a fixed void* value that points to an memory address that remains valid throughout the remainder of the lifetime of the SymbolManager. llvm-svn: 66092
* Fixup __block codegen in nested block literals.Mike Stump2009-03-041-15/+28
| | | | llvm-svn: 66091
* Driver: Add OptTable::ParseOneArg.Daniel Dunbar2009-03-041-0/+23
| | | | llvm-svn: 66090
* Driver: Add ArgList::{append, getArgString}Daniel Dunbar2009-03-041-0/+9
| | | | llvm-svn: 66089
* Driver: Stub out Arg implementations.Daniel Dunbar2009-03-041-0/+72
| | | | llvm-svn: 66088
* Implemented access check for ivars accessed insideFariborz Jahanian2009-03-044-20/+27
| | | | | | c-style functions declared inside objc @implementations. llvm-svn: 66087
* Driver: Option's need to know their ID.Daniel Dunbar2009-03-042-35/+46
| | | | | | - Also, add Input and Unknown opts to OptTable. llvm-svn: 66079
* Driver: Add Option flags.Daniel Dunbar2009-03-042-14/+10
| | | | llvm-svn: 66067
* Driver: Tweak Option::accept interface.Daniel Dunbar2009-03-041-10/+10
| | | | llvm-svn: 66066
* Driver: Sink Driver/Compilation into clang::driver namespace.Daniel Dunbar2009-03-042-4/+10
| | | | | | - Add OptTable instance to Driver. llvm-svn: 66063
* Move more blocks CodeGenFunction code up and out.Mike Stump2009-03-042-23/+23
| | | | llvm-svn: 66049
* Move some of the CodeGenFunction blocks code up and out. NoMike Stump2009-03-044-7/+12
| | | | | | functionality change. llvm-svn: 66048
* Move more of the blocks code up and out.Mike Stump2009-03-044-10/+16
| | | | llvm-svn: 66046
* Partial fix for <rdar://problem/6645157> [clang on Xcode; regression]: ↵Steve Naroff2009-03-041-2/+16
| | | | | | | | | | error: instance variable 'someField' is private. A recent regression caused by http://llvm.org/viewvc/llvm-project?rev=65912&view=rev. This commit isn't fully baked. Nevertheless, it should cause Xcode to compile again. Will speak with Fariborz offline. llvm-svn: 66045
* fixes suggested by Sebastian!Chris Lattner2009-03-041-2/+2
| | | | llvm-svn: 66044
* Refactor code. Devang Patel2009-03-041-12/+24
| | | | llvm-svn: 66043
* Move more of blocks codegen out of CodeGenModule and into theMike Stump2009-03-045-38/+73
| | | | | | | | | BlockModule. No functionality change. This should help people that don't want to know anything about blocks not be confused by the overloaded use of the term block or nor want to see all the blocks goop. llvm-svn: 66042
OpenPOWER on IntegriCloud