Daniel Dunbar
0094e341d0
Add makefile debugging target; use "make print-FOO" to print the
...
value/definition/origin of FOO.
llvm-svn: 65245
2009-02-21 20:42:39 +00:00
Steve Naroff
670e72ddc7
Add support for GCC ObjC extension "Class<protocol>". Sigh.
...
Found while researching <rdar://problem/6497631> Message lookup is sometimes different than gcc's.
Will never be seen in user code. Needed to pass dejagnu testsuite.
llvm-svn: 65244
2009-02-21 20:17:11 +00:00
Mike Stump
2ac40a9ff8
The blocks ABI is wrong, add a FIXME.
...
llvm-svn: 65243
2009-02-21 20:07:44 +00:00
Mike Stump
cb2fbcb0c9
Add CodeGen support for the helper for BlockDeclRefExprs. The easier
...
stuff is mostly done. Move BlockHasCopyDispose up.
llvm-svn: 65242
2009-02-21 20:00:35 +00:00
Steve Naroff
cd8d572283
Warn about bogus protocol qualifiers.
...
llvm-svn: 65241
2009-02-21 19:50:43 +00:00
Fariborz Jahanian
0c9404e0a7
Warn on use of __weak attribute on local
...
variable (objc2 gc specific).
llvm-svn: 65240
2009-02-21 19:44:02 +00:00
Richard Pennington
99f6d7c9fc
bug 3610: Floating point vaarg not softened.
...
llvm-svn: 65239
2009-02-21 19:11:18 +00:00
Fariborz Jahanian
2300ad57a0
Fix a bug whereby a pointer to a __weak was not recognized
...
as __weak (objc2 gc specific).
llvm-svn: 65238
2009-02-21 19:08:45 +00:00
Ted Kremenek
97ad7b689e
Use llvm::StringsEqualNoCase instead of strncasecmp.
...
llvm-svn: 65237
2009-02-21 18:26:02 +00:00
Ted Kremenek
c9c50bfc31
Add version of StringsEqualNoCase that takes two null-terminated C-strings and compares up to 'len' characters. I tend to screw up string comparison functions, so anyone who is interested please review this\!
...
llvm-svn: 65236
2009-02-21 18:25:30 +00:00
Fariborz Jahanian
ccfd554024
Fixed an ICE in meta-data generation of __weak/__strong ivars.
...
llvm-svn: 65235
2009-02-21 18:23:24 +00:00
Daniel Dunbar
79e042a8b5
Evaluation of unary deref could call integer evaluator on non-integral
...
expr; hilarity ensued.
- PR3640.
llvm-svn: 65234
2009-02-21 18:14:20 +00:00
Cedric Venet
4fc88b779e
Fix build on windows.
...
Should clang have a config.h or should we use the config.h of llvm or using the preprocessor is OK? I did a quick fix here, but having a guideline on how to handle non portable function would be great (or ask ted to stop breaking the windows build :)).
llvm-svn: 65233
2009-02-21 17:14:49 +00:00
Steve Naroff
da88fb9c73
Add test case to record a couple inconsistencies with GCC (found in <rdar://problem/6561076> [clang on Xcode] warning: cannot find protocol definition for 'OzzyP').
...
Removing the "cannot find protocol" warning is trivial if necessary (but I don't think it's the right thing to do).
llvm-svn: 65232
2009-02-21 17:03:43 +00:00
Steve Naroff
7a7814c32b
This fixes <rdar://problem/6497650> More type mismatches issues with clang.
...
Move two key ObjC typechecks from Sema::CheckPointerTypesForAssignment() to ASTContext::mergeTypes().
This allows us to take advantage of the recursion in ASTContext::mergeTypes(), removing some bogus warnings.
This test case I've added includes an example where we still warn (and GCC doesn't). Need to talk with folks and decide what to do. At this point, the major bogosities should be fixed.
llvm-svn: 65231
2009-02-21 16:18:07 +00:00
Anton Korobeynikov
42aae86590
Drop bunch of half-working stuff in the ext_weak linkage support.
...
Now we're using one gross, but quite robust hack :) (previous ones
did not work, for example, when ext_weak symbol was used deep inside
constant expression in the initializer).
The proper fix of this problem will require some quite huge asmprinter
changes and that's why was postponed. This fixes PR3629 by the way :)
llvm-svn: 65230
2009-02-21 11:53:32 +00:00
Nick Lewycky
9e5ed6d329
Pass different flags on different platforms when building PIC.
...
llvm-svn: 65229
2009-02-21 08:41:09 +00:00
Evan Cheng
1173ec7a2e
Add AddrModeMatcher.cpp
...
llvm-svn: 65228
2009-02-21 07:05:11 +00:00
Ted Kremenek
bc7d915c4c
Update checker build.
...
llvm-svn: 65227
2009-02-21 06:58:08 +00:00
Ted Kremenek
8a73c71486
Improved naming convention heuristics in the retain/release checker to better
...
handle method names that contain 'new', 'copy', etc., but those words might be
the substring of larger words such as 'newsgroup' and 'photocopy' that do not
indicate the allocation of objects. This should address the issues discussed in
<rdar://problem/6552389>.
llvm-svn: 65224
2009-02-21 05:13:43 +00:00
Ted Kremenek
3f49f0f06d
Update scan-build help diagnostic.
...
llvm-svn: 65223
2009-02-21 04:46:41 +00:00
Ted Kremenek
6b8b0dfb90
Only create a preprocessed file for an ignored attribute if there currently does not exist an 'attribute_ignored_XXX.txt' file for that attribute.
...
llvm-svn: 65222
2009-02-21 04:46:20 +00:00
Evan Cheng
34806b1fa4
If two-address def is dead and the instruction does not define other registers, and it doesn't produce side effects, just delete the instruction.
...
llvm-svn: 65218
2009-02-21 03:14:25 +00:00
Evan Cheng
107b06c4b9
Teach LSR sink to sink the immediate portion of the common expression back into uses if they fit in address modes of all the uses.
...
llvm-svn: 65215
2009-02-21 02:06:47 +00:00
Bill Wendling
82aa14fae8
Make sure this doesn't access .end() too.
...
llvm-svn: 65213
2009-02-21 01:11:36 +00:00
Gabor Greif
6f26131316
fix and clean up a comment
...
llvm-svn: 65212
2009-02-21 01:09:07 +00:00
Bill Wendling
81ebf9a578
Make sure we don't dereference the .end() of the container.
...
llvm-svn: 65211
2009-02-21 01:07:26 +00:00
Eli Friedman
44c0f2aa88
Slight tweak to last commit: make sure to copy CVR qualifiers for fixed
...
pointer types.
llvm-svn: 65210
2009-02-21 00:58:02 +00:00
Chris Lattner
bef6b2098e
rename a function to indicate that it checks for profitability as well
...
as legality. Make load sinking and gep sinking more careful: we only
do it when it won't pessimize loads from the stack. This has the added
benefit of not producing code that is unanalyzable to SROA.
llvm-svn: 65209
2009-02-21 00:46:50 +00:00
Eli Friedman
a3b1d03e2d
Re-fix r65140 correctly.
...
llvm-svn: 65208
2009-02-21 00:44:51 +00:00
Bill Wendling
56759ee658
Propagate more debug loc infos. This also includes some code cleaning.
...
llvm-svn: 65207
2009-02-21 00:43:56 +00:00
Bill Wendling
5191934371
We need to propagate the debug location information even when dealing with the
...
prologue/epilogue.
llvm-svn: 65206
2009-02-21 00:32:08 +00:00
Fariborz Jahanian
10bec1099c
Handle case of none gc'able objects regardless of their
...
type.
llvm-svn: 65205
2009-02-21 00:30:43 +00:00
Daniel Dunbar
3c81dabd76
Emit extern_weak when needed.
...
- PR3629.
llvm-svn: 65203
2009-02-21 00:24:10 +00:00
Misha Brukman
0f35659b9a
* Fixed spelling
...
* Linters now return their information instead of printing it, to
enable easier unittesting
* Added support for finding tabs in files, added to C++ linter
llvm-svn: 65202
2009-02-20 23:44:54 +00:00
Dan Gohman
e7fe80fcf9
Fix a bug that David Greene found in the DAGCombiner's logic
...
that checks whether it's safe to transform a store of a bitcast
value into a store of the original value.
llvm-svn: 65201
2009-02-20 23:29:13 +00:00
Daniel Dunbar
0c4eda5923
We must always mangle attribute overloadable functions; even if in a
...
system header.
- Prevents a codegen crash when anything used anything in tgmath! :)
llvm-svn: 65200
2009-02-20 23:09:27 +00:00
Misha Brukman
9e6fb74027
Removed trailing whitespace.
...
llvm-svn: 65199
2009-02-20 23:04:06 +00:00
Steve Naroff
326064168a
Fix <rdar://problem/6500554> missing objc error message.
...
llvm-svn: 65198
2009-02-20 22:59:16 +00:00
Misha Brukman
e739d19156
Removed trailing whitespace.
...
llvm-svn: 65197
2009-02-20 22:54:36 +00:00
Misha Brukman
fb658aa870
Removed trailing whitespace.
...
llvm-svn: 65196
2009-02-20 22:51:36 +00:00
Chris Lattner
70946da73a
switch the macroinfo argument lists from being allocated off the heap
...
to being allocated from the same bumpptr that the MacroInfo objects
themselves are.
This speeds up -Eonly cocoa.h pth by ~4%, fsyntax-only is barely measurable.
llvm-svn: 65195
2009-02-20 22:46:43 +00:00
Chris Lattner
f87c510cc9
detemplatify setArgumentList and some other cleanups.
...
llvm-svn: 65187
2009-02-20 22:31:31 +00:00
Misha Brukman
5e5503f5da
Keep the newline character at the end of the lines whose trailing whitespace we
...
are deleting; otherwise, everything ends up on a single line.
llvm-svn: 65185
2009-02-20 22:30:46 +00:00
Misha Brukman
f2e5bd8d22
Only strip the newline character at the end of the lines that we're considering
...
for length and for trailing whitespace; otherwise, the whitespace themselves
will also be removed.
llvm-svn: 65182
2009-02-20 22:28:45 +00:00
Misha Brukman
42afb619c6
Fixed lint errors:
...
* Alphabetized #includes
* Removed trailing whitespace
* Wrapped or shortened lines over 80 chars
llvm-svn: 65181
2009-02-20 22:20:18 +00:00
Bill Wendling
4d38d7272e
We have logic in there to emit a default debugging label at the beginning of a
...
function. Emitting another label after the prologue messes up the debugging. We
are doing that because the first DebugLoc object it sees is different from the
previous, which was nothing. Check for this situation, and don't emit one if
it's the first.
llvm-svn: 65180
2009-02-20 22:19:20 +00:00
Chris Lattner
666f7a42d6
require the MAcroInfo objects are explcitly destroyed.
...
llvm-svn: 65179
2009-02-20 22:19:20 +00:00
Evan Cheng
8a9481d50d
Fix strange logic in CollectIVUsers used to determine whether all uses are
...
addresses, part 1. This fixes an obvious logic bug. Previously if the only
in-loop use is a PHI, it would return AllUsesAreAddresses as true.
llvm-svn: 65178
2009-02-20 22:16:49 +00:00
Ted Kremenek
b98f0eb9af
Make 'RangeConstraintManager' the default ConstraintManager.
...
llvm-svn: 65173
2009-02-20 21:49:22 +00:00