Mike Stump
cd1280b405
Avoid dispose calls when only doing gc.
...
llvm-svn: 66126
2009-03-05 02:34:38 +00:00
Ted Kremenek
6c29a91c05
Fix regression in transparent translation of nonloc::ConcreteInto to loc::ConcreteInt.
...
llvm-svn: 66125
2009-03-05 02:33:55 +00:00
Chris Lattner
477f990ac5
Include struct context info for parser/sema crashes. This
...
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
2009-03-05 02:25:03 +00:00
Chris Lattner
e332b82320
Include namespace contexts in the virtual stack trace, so we get stuff
...
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
2009-03-05 02:09:07 +00:00
Dale Johannesen
78ab338024
Fix another case where debug info was affecting
...
codegen. I convinced myself it was OK to skip all
pointer bitcasts here too.
llvm-svn: 66122
2009-03-05 02:06:48 +00:00
Chris Lattner
e268b406ba
include objc method decl contexts in stack trace of crash, e.g.:
...
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
2009-03-05 02:03:49 +00:00
Devang Patel
eed256da90
Set isMain bit for MainFile.
...
llvm-svn: 66120
2009-03-05 01:55:07 +00:00
Zhou Sheng
abe4192442
Ignore the debug info intrinsics when looking for dependency through basic block.
...
llvm-svn: 66119
2009-03-05 01:45:43 +00:00
Chris Lattner
03b5394da7
When parsing a function body, add it to the crash stack, giving us something
...
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
2009-03-05 01:25:28 +00:00
Mike Stump
626aecc4be
Add codegen support for __block variables to call _Block_object_dispose as necessary.
...
llvm-svn: 66117
2009-03-05 01:23:13 +00:00
Bill Wendling
0bf1ded7bd
Add comment to emphasize that the while body is empty.
...
llvm-svn: 66115
2009-03-05 01:08:35 +00:00
Chris Lattner
f5d8ba86cc
fix some 80 col violations.
...
llvm-svn: 66114
2009-03-05 00:56:34 +00:00
Chris Lattner
12f2ea5015
Simplify the interface to ParseFunctionStatementBody to not take
...
locations that are the current tok loc. Note that inline C++ methods
have a big fixme that could cause a crash.
llvm-svn: 66113
2009-03-05 00:49:17 +00:00
Dale Johannesen
ad6b47377f
Fix another case where a dbg.declare meant something
...
had 2 uses instead of 1.
llvm-svn: 66112
2009-03-05 00:39:02 +00:00
Eli Friedman
85dfd74439
Use LLVM type header rather than using stdint.h directly.
...
llvm-svn: 66111
2009-03-05 00:37:49 +00:00
Ted Kremenek
8d9af4cb48
Fix message title
...
llvm-svn: 66110
2009-03-05 00:12:45 +00:00
Chris Lattner
735012c466
update xcode proj
...
llvm-svn: 66109
2009-03-05 00:03:30 +00:00
Chris Lattner
bd61a95481
Include information about compound statements when crashing in sema or the
...
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
2009-03-05 00:00:31 +00:00
Ted Kremenek
00dfe30409
For now, do not track NSWindow objects and it's subclasses.
...
llvm-svn: 66107
2009-03-04 23:30:42 +00:00
Daniel Dunbar
458b6982d4
Driver: Implement Option::accept methods.
...
llvm-svn: 66106
2009-03-04 23:22:02 +00:00
Daniel Dunbar
b7396f10b9
Driver: Fix off by one in ParseOneArg; this code is ugly but will be
...
replaced anyway.
llvm-svn: 66101
2009-03-04 23:03:35 +00:00
Daniel Dunbar
135837e046
Driver: Add Arg::dump and SeparateArg stubs.
...
llvm-svn: 66100
2009-03-04 23:02:50 +00:00
Fariborz Jahanian
5e55d41cd7
Removed an unfortunate cut and paste left-over.
...
llvm-svn: 66099
2009-03-04 23:00:40 +00:00
Ted Kremenek
33129a26f7
Add prototype support for invalidating fields for structures passed-by-reference
...
to unknown functions. Most of this logic should be eventually moved to
RegionStore and be made lazy.
llvm-svn: 66094
2009-03-04 22:56:43 +00:00
Ted Kremenek
9a92b95092
MemRegion:
...
- 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
2009-03-04 22:55:18 +00:00
Ted Kremenek
6ee8f8bcb5
Add an optional "tag" to conjured symbols that allows us to distinguish between
...
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
2009-03-04 22:53:46 +00:00
Mike Stump
2d33d6300c
Fixup __block codegen in nested block literals.
...
llvm-svn: 66091
2009-03-04 22:48:06 +00:00
Daniel Dunbar
d9621da5ae
Driver: Add OptTable::ParseOneArg.
...
llvm-svn: 66090
2009-03-04 22:41:37 +00:00
Daniel Dunbar
16b9fd447a
Driver: Add ArgList::{append, getArgString}
...
llvm-svn: 66089
2009-03-04 22:40:08 +00:00
Daniel Dunbar
9333fc656d
Driver: Stub out Arg implementations.
...
llvm-svn: 66088
2009-03-04 22:37:52 +00:00
Fariborz Jahanian
b8d091c4eb
Implemented access check for ivars accessed inside
...
c-style functions declared inside objc @implementations.
llvm-svn: 66087
2009-03-04 22:30:12 +00:00
Bill Wendling
19ce8619da
Should have XFAILed this test.
...
llvm-svn: 66086
2009-03-04 22:29:34 +00:00
Bill Wendling
803da0db79
Temporarily revert r65994. It was causing rdar://6646455.
...
llvm-svn: 66083
2009-03-04 22:02:09 +00:00
Gabor Greif
ebd4998c1f
ooops, forgot to include the pointless-write eliminator in my previous checkin
...
llvm-svn: 66081
2009-03-04 21:54:31 +00:00
Dale Johannesen
a31552c151
Add some cautionary comments.
...
llvm-svn: 66080
2009-03-04 21:53:29 +00:00
Daniel Dunbar
a59194cd10
Driver: Option's need to know their ID.
...
- Also, add Input and Unknown opts to OptTable.
llvm-svn: 66079
2009-03-04 21:53:04 +00:00
Chris Lattner
07e85f3fc5
Start making use of "pretty stack dumps" to get
...
better crash info when clang crashes. Step #2 of many.
llvm-svn: 66078
2009-03-04 21:41:39 +00:00
Chris Lattner
20fc207f52
minor cleanups
...
llvm-svn: 66077
2009-03-04 21:40:56 +00:00
Chris Lattner
68061d5995
add some helper classes for building light-weight symbolic stack traces
...
that get printed when a program crashes. This is the first step of many.
llvm-svn: 66076
2009-03-04 21:40:23 +00:00
Dale Johannesen
df4226c0e2
Re-commit 65975 and a fix for the problem that
...
was causing llvm-gcc to fail to build. I've
verified it bootstraps now; good enough for me.
llvm-svn: 66073
2009-03-04 21:24:04 +00:00
Chris Lattner
4fdd042d9e
Add a new 'AddSignalHandler' function to Signals.h that allows
...
arbitrary functions to be run when a crash happens. Delete
RemoveDirectoryOnSignal as it is dead and has never had clients.
Change PrintStackTraceOnErrorSignal to be implemented in terms of
AddSignalHandler.
I updated the Win32 versions of these APIs, but can't test them.
If there are any problems, I'd be happy to fix them as well.
llvm-svn: 66072
2009-03-04 21:21:36 +00:00
Daniel Dunbar
3588c96c39
Driver: Pull intrusive list out of Arg; this isn't going to suffice. I
...
will make this efficient later (if it even matters)...
llvm-svn: 66071
2009-03-04 21:17:31 +00:00
Daniel Dunbar
b17eec5909
Driver: Return reference for Arg::getOption().
...
llvm-svn: 66070
2009-03-04 21:14:57 +00:00
Daniel Dunbar
7c5a8d2fa0
Add a little utility for interposing between a command line program
...
and capturing its invocations.
llvm-svn: 66068
2009-03-04 21:06:52 +00:00
Daniel Dunbar
f49bc318ed
Driver: Add Option flags.
...
llvm-svn: 66067
2009-03-04 21:05:23 +00:00
Daniel Dunbar
53bbc31ebd
Driver: Tweak Option::accept interface.
...
llvm-svn: 66066
2009-03-04 20:53:00 +00:00
Dan Gohman
66476b582d
Fix this comment.
...
llvm-svn: 66065
2009-03-04 20:50:23 +00:00
Sebastian Redl
b1c4d5507f
The basic representation of diagnostics information in tablegen format, plus (uncommented and incomplete) test conversions of the existing def files to this format.
...
llvm-svn: 66064
2009-03-04 20:49:43 +00:00
Daniel Dunbar
b2cd66bf4d
Driver: Sink Driver/Compilation into clang::driver namespace.
...
- Add OptTable instance to Driver.
llvm-svn: 66063
2009-03-04 20:49:20 +00:00
Dan Gohman
ae0035ee15
Add an assertion for a condition that's always true, and not
...
immediately obvious.
llvm-svn: 66062
2009-03-04 20:49:01 +00:00