Daniel Dunbar
a3cfbe33da
Driver: Add 'q' flag for options which shouldn't be reported as unused.
...
- <rdar://problem/6756295> warning about '-dynamic' argument unused
during compilation seems incorrect
llvm-svn: 68535
2009-04-07 19:04:18 +00:00
Bill Wendling
b01824afb5
Use 'name' instead of 'href'.
...
llvm-svn: 68534
2009-04-07 18:54:06 +00:00
Ted Kremenek
882cf06652
CFG: when there is not continue or break target, mark the CFG as bad.
...
llvm-svn: 68533
2009-04-07 18:53:24 +00:00
Anders Carlsson
d8db853243
Remove some dead code.
...
llvm-svn: 68532
2009-04-07 18:53:02 +00:00
Bill Wendling
ebb4486a84
Fix verification failure.
...
llvm-svn: 68531
2009-04-07 18:52:30 +00:00
Bill Wendling
bf448a1010
Offer an explanation of why building LLVM-GCC with objdir == srcdir doesn't
...
work.
llvm-svn: 68530
2009-04-07 18:51:13 +00:00
Bill Wendling
1ae487bad5
Another reformatting. No change in docs.
...
llvm-svn: 68528
2009-04-07 18:40:56 +00:00
Fariborz Jahanian
69ba935743
Fixes method name lookup when method appears in
...
the base implementations (and not in
current implementation).
llvm-svn: 68527
2009-04-07 18:28:06 +00:00
Anders Carlsson
e871d05e26
Fix broken test case. I have no idea why this ever worked.
...
llvm-svn: 68526
2009-04-07 18:21:53 +00:00
Daniel Dunbar
b2a7c062aa
Driver: Fix a parsing bug where some options were matched
...
incorrectly. I'm blanking on the smartest way to write this search,
but we should just do the right thing when we move to TableGen.
- <rdar://problem/6761194> [driver] -Wextra-tokens isn't parsed
correctly
llvm-svn: 68525
2009-04-07 18:21:47 +00:00
Chris Lattner
84d573f256
add a warning for this crazy case, as suggested by Eli.
...
llvm-svn: 68524
2009-04-07 18:18:09 +00:00
Torok Edwin
73312b3f39
Another attempt at fixing PR2975.
...
Types can have references to eachother, so we can't just call destroy on them.
llvm-svn: 68523
2009-04-07 17:23:02 +00:00
Douglas Gregor
b1fe2c9001
Move the internal DeclContext data structures into a separate header.
...
Simplify the addition of a case statement to a switch.
Fix -print-stats for attribute-qualified types.
llvm-svn: 68522
2009-04-07 17:20:56 +00:00
Daniel Dunbar
88056a97f2
Use %s in test, not hard coded name.
...
llvm-svn: 68521
2009-04-07 17:09:43 +00:00
Chris Lattner
2a5c0a3688
Fariborz points out that weak is now defined to the attribute even
...
in C mode.
llvm-svn: 68520
2009-04-07 16:50:40 +00:00
Douglas Gregor
40a8e0fbce
XFAIL a failing test
...
llvm-svn: 68519
2009-04-07 16:32:03 +00:00
Chris Lattner
d805e262cb
fix comment to reflect the implementation I ended up settling on.
...
Thanks to Duncan for noticing this
llvm-svn: 68518
2009-04-07 16:30:31 +00:00
Steve Naroff
ebc790d4d8
Tweak Sema::ActOnInstanceMessage() to look for a class method when dealing with qualified id's. This change is motivated by our desire to not support the "Class<foo>" idiom. Note that the change makes perfect sense (since all ObjC classes are also id/instances).
...
This allow us to document a simple migration path...change "Class <foo>" to "id <foo>".
This effects:
- <rdar://problem/6761939> TASK: File source change radars for "qualified Class" errors
- <rdar://problem/6761864> Protocol qualified Class is unsupported
llvm-svn: 68517
2009-04-07 15:07:57 +00:00
Ted Kremenek
c4631b2809
Update checker build.
...
llvm-svn: 68516
2009-04-07 14:26:58 +00:00
Steve Naroff
d338d08f49
Fix typo in newly added test case.
...
llvm-svn: 68515
2009-04-07 14:22:40 +00:00
Steve Naroff
54e5945297
Change the type of ObjC @ string constants (from NSConstantString->NSString).
...
This fixes <rdar://problem/6757102> clang type for @"xxx" is "NSConstantString *" (GCC type is "NSString *").
llvm-svn: 68514
2009-04-07 14:18:33 +00:00
Daniel Dunbar
d7beeea228
Handle use side of __objc_exception__ attribute; when using an
...
exception with this attribute we don't need to emit a weak definition
for the exception type information.
llvm-svn: 68513
2009-04-07 06:43:45 +00:00
Chris Lattner
91c941ecfd
*everyone* knows that __weak is not defined on linux :)
...
llvm-svn: 68512
2009-04-07 06:05:28 +00:00
Chris Lattner
0f98a286a3
implement rdar://6762183. I'm not sure if it is more insane that
...
GCC ignores macro definitions after \n's or that real code depends
on this.
llvm-svn: 68511
2009-04-07 06:02:44 +00:00
Daniel Dunbar
15894b791b
Various fixes to symbols used for Obj-C x86_64 metadata.
...
- Changed method names to match gcc (categories names still aren't
mangled in).
- Expose correct name for class and metadata symbols (although
-fvisibility=hidden isn't yet correct).
- Remove several things from llvm.used that didn't need to be there
(I suspect this can still be trimmed).
- Don't use asm-prefix extension for _objc_empty_{cache,vtable} (not
needed).
- Hide EH type class info with -fvisibility=hidden
- Change setGlobal[Option]Visibility to not change the visibility of
functions with internal linkage.
llvm-svn: 68510
2009-04-07 05:48:37 +00:00
Ted Kremenek
25db1f3ff1
Add test case.
...
llvm-svn: 68505
2009-04-07 05:33:18 +00:00
Ted Kremenek
4d947facad
Remove hack from LiveVariables analysis where variables whose address are taken
...
are considered 'live'. This hack isn't needed anymore because we have a
separation in the path-sensitive analyzer between variable names and bindings;
the analyzer can continue to reason about the storage of a variable after its
name is no longer directly referenced. Now the live variables analysis literally means "is this name live".
Along this line, update the dead stores checker to explicitly look for variables
whose values have escaped.
llvm-svn: 68504
2009-04-07 05:25:24 +00:00
Chris Lattner
33d840cc8f
define __va_copy unconditionally, but va_copy only in c99 or non-ansi mode.
...
Fixes rdar://6759546, some code that actually used __va_copy because they
thought it was "more portable".
llvm-svn: 68503
2009-04-07 05:12:42 +00:00
Ted Kremenek
aed74642cb
Remove GetLeakNode. This isn't the right approach.
...
llvm-svn: 68502
2009-04-07 05:07:44 +00:00
Chris Lattner
321741af5f
fix rdar://6762290, a crash compiling cxx filt with clang.
...
llvm-svn: 68500
2009-04-07 05:03:34 +00:00
Ted Kremenek
8928d74e19
Remove period.
...
llvm-svn: 68497
2009-04-07 04:54:31 +00:00
Ted Kremenek
e2f5a9f8e3
Eagerly compute the leak location when a leak occurs at the end of a path.
...
llvm-svn: 68496
2009-04-07 04:54:20 +00:00
Ted Kremenek
3cb8a84924
Removed some commented code.
...
llvm-svn: 68495
2009-04-07 04:53:35 +00:00
Chris Lattner
c2d140156c
The __weak and __strong defines are common to all darwin targets
...
and are even set in C mode. As such, move them to Targets.cpp.
__OBJC_GC__ is also darwin specific, but seems reasonable to always
define it when in objc-gc mode.
This fixes rdar://6761450
llvm-svn: 68494
2009-04-07 04:48:21 +00:00
Ted Kremenek
89be6526c3
Remove hack support for @try...@finally in source-level CFGs. The current hack
...
had too many false positives in the analyzer.
llvm-svn: 68492
2009-04-07 04:26:02 +00:00
Daniel Dunbar
c790b09b81
Driver: More verbosity reduction.
...
- Ignore some more -W options and -[fm] options which we can somewhat
safely ignore.
- Recognize that -W is an alias for -Wextra
W: -Wdeclaration-after-statement -Werror-implicit-function-declaration -Wfour-char-constants -Winit-self -Wmissing-format-attribute -Wno-#warnings -Wno-comment -Wno-long-long -Wno-variadic-macros -Wold-style-definition -Wstrict-prototypes -Wunused-parameter
f: -fconstant-cfstrings -fdollars-in-identifiers -finline -finline-functions -fno-inline -fno-keep-inline-functions -fno-strict-aliasing -fobjc-atdefs -fobjc-call-cxx-cdtors -fobjc-new-property -fstack-protector
m: -mconstant-cfstrings -mfix-and-continue
llvm-svn: 68487
2009-04-07 02:59:27 +00:00
Chris Lattner
73ab815c27
Add an API for the bitstream reader to read blobs and return
...
them by reference, instead of packing each byte into a
smallvector.
llvm-svn: 68486
2009-04-07 02:56:46 +00:00
Chris Lattner
47d6e7b93e
remove empty section
...
llvm-svn: 68485
2009-04-07 02:55:53 +00:00
Daniel Dunbar
5718a2b4a1
Fix test (triple wasn't passed correctly, the driver doesn't accept
...
-mtriple).
llvm-svn: 68484
2009-04-07 02:31:44 +00:00
Ted Kremenek
86d52c4c02
PathDiagnostic generation: experiment with avoiding generation of control-flow
...
pieces between block entrance and block end unless necessary.
llvm-svn: 68483
2009-04-07 01:34:17 +00:00
Daniel Dunbar
4fab57ddea
Implement __sync_{add,sub,and,or,xor}_and_fetch and
...
__sync_bool_compare_and_swap.
- <rdar://problem/6762223> [sema/irgen] support
__sync_bool_compare_and_swap and __sync_add_and_fetch
llvm-svn: 68482
2009-04-07 00:55:51 +00:00
Daniel Dunbar
f247b30abb
Remove a FIXME, the driver handles -O4.
...
llvm-svn: 68481
2009-04-07 00:38:22 +00:00
Dan Gohman
d669953b88
Add svn:ignore properties.
...
llvm-svn: 68479
2009-04-07 00:26:29 +00:00
Anders Carlsson
350da60733
Use the new getFunctionInfo that takes a BlockPointerType parameter, and get rid of getBlockFunctionType from CGBlocks.cpp
...
llvm-svn: 68478
2009-04-07 00:20:24 +00:00
Ted Kremenek
6fd0921bdb
retain/release checker: When hunting for the leak location, don't walk the
...
ExplodedGraph backwards. That may inadvertently result in reverse control-flow
edges in the PathDiagostic.
llvm-svn: 68477
2009-04-07 00:12:43 +00:00
Ted Kremenek
d7c1aaa6c5
Don't overguard to adding a control-flow piece when "alwaysAdd" is true.
...
llvm-svn: 68476
2009-04-07 00:11:40 +00:00
Fariborz Jahanian
54d569c51d
Warn instead of error on duplicate protocol definitions.
...
Be kind to so many projects which are doing this (and be
like gcc).
llvm-svn: 68474
2009-04-06 23:43:32 +00:00
Ted Kremenek
c4c9ed0f9b
Rewrite control-flow diagnostic generation "extensive" algorithm using "edge
...
contexts". This allows us to use a stack of contexts to keep track of what control-flow pieces to include when exiting blocks like 'if', 'for', etc.
llvm-svn: 68473
2009-04-06 23:06:54 +00:00
Chris Lattner
2ed6a20934
stub out code for reading record with blobs as blobs. Not active yet.
...
llvm-svn: 68472
2009-04-06 22:44:40 +00:00
Chris Lattner
691c10a45b
allow clients to look up abbrev id's
...
llvm-svn: 68471
2009-04-06 22:43:46 +00:00