summaryrefslogtreecommitdiffstats
path: root/clang
Commit message (Collapse)AuthorAgeFilesLines
* rename PrettyStackTraceDecl -> PrettyStackTraceActionsDecl.Chris Lattner2009-03-059-31/+88
| | | | | | | | | | | | | | | | 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
* Update checker build.Ted Kremenek2009-03-051-1/+1
| | | | llvm-svn: 66152
* remove unneeded forward decl.Chris Lattner2009-03-051-1/+0
| | | | llvm-svn: 66151
* 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-053-22/+55
| | | | | | | | | | | | | | | | | 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
* finish comment.Chris Lattner2009-03-051-1/+1
| | | | llvm-svn: 66146
* Driver: Basic argument parsing.Daniel Dunbar2009-03-056-23/+114
| | | | | | | | - Add Driver::ParseArgStrings. - Store values directly in CommaJoinedArg to support simple access. - Add FlagArg class. llvm-svn: 66142
* Test case: When using RegionStore with the retain/release checker, stop ↵Ted Kremenek2009-03-051-0/+17
| | | | | | tracking objects assigned to self's ivar. llvm-svn: 66139
* Add test case for RegionStore's tracking of the ivars of 'self'.Ted Kremenek2009-03-051-0/+44
| | | | llvm-svn: 66136
* 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-052-5/+16
| | | | | | | 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-053-4/+65
| | | | | | | 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-052-2/+15
| | | | | | 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-055-2/+56
| | | | | | | | | | | | | 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-055-29/+55
| | | | | | necessary. llvm-svn: 66117
* fix some 80 col violations.Chris Lattner2009-03-051-4/+4
| | | | llvm-svn: 66114
* Simplify the interface to ParseFunctionStatementBody to not take Chris Lattner2009-03-054-8/+10
| | | | | | | locations that are the current tok loc. Note that inline C++ methods have a big fixme that could cause a crash. llvm-svn: 66113
* Use LLVM type header rather than using stdint.h directly.Eli Friedman2009-03-051-1/+1
| | | | llvm-svn: 66111
* Fix message titleTed Kremenek2009-03-051-1/+1
| | | | llvm-svn: 66110
* update xcode projChris Lattner2009-03-051-0/+2
| | | | llvm-svn: 66109
* Include information about compound statements when crashing in sema or theChris Lattner2009-03-055-17/+85
| | | | | | | | | | 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-042-1/+15
| | | | 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-042-0/+43
| | | | 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-042-18/+96
| | | | | | | to unknown functions. Most of this logic should be eventually moved to RegionStore and be made lazy. llvm-svn: 66094
* MemRegion:Ted Kremenek2009-03-042-8/+7
| | | | | | | | | - 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-042-15/+24
| | | | | | | | 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-042-24/+57
| | | | llvm-svn: 66091
* Driver: Add OptTable::ParseOneArg.Daniel Dunbar2009-03-042-0/+37
| | | | llvm-svn: 66090
* Driver: Add ArgList::{append, getArgString}Daniel Dunbar2009-03-042-0/+15
| | | | llvm-svn: 66089
* Driver: Stub out Arg implementations.Daniel Dunbar2009-03-042-16/+128
| | | | llvm-svn: 66088
* Implemented access check for ivars accessed insideFariborz Jahanian2009-03-047-23/+32
| | | | | | c-style functions declared inside objc @implementations. llvm-svn: 66087
* Driver: Option's need to know their ID.Daniel Dunbar2009-03-044-47/+65
| | | | | | - Also, add Input and Unknown opts to OptTable. llvm-svn: 66079
* Start making use of "pretty stack dumps" to get Chris Lattner2009-03-041-0/+2
| | | | | | better crash info when clang crashes. Step #2 of many. llvm-svn: 66078
* minor cleanupsChris Lattner2009-03-041-52/+47
| | | | llvm-svn: 66077
* Driver: Pull intrusive list out of Arg; this isn't going to suffice. IDaniel Dunbar2009-03-042-15/+1
| | | | | | will make this efficient later (if it even matters)... llvm-svn: 66071
* Driver: Return reference for Arg::getOption().Daniel Dunbar2009-03-041-1/+1
| | | | llvm-svn: 66070
* Add a little utility for interposing between a command line programDaniel Dunbar2009-03-041-0/+73
| | | | | | and capturing its invocations. llvm-svn: 66068
* Driver: Add Option flags.Daniel Dunbar2009-03-043-14/+42
| | | | llvm-svn: 66067
OpenPOWER on IntegriCloud