Jeffrey Yasskin
0ad23efb0f
Try to fix the ARM and PPC buildbots. The -mattr=vector-unaligned-mem
...
flag doesn't exist there, and this is an x86 test.
llvm-svn: 93279
2010-01-13 00:31:43 +00:00
Evan Cheng
30bebff456
Add a quick pass to optimize sign / zero extension instructions. For targets where the pre-extension values are available in the subreg of the result of the extension, replace the uses of the pre-extension value with the result + extract_subreg.
...
For now, this pass is fairly conservative. It only perform the replacement when both the pre- and post- extension values are used in the block. It will miss cases where the post-extension values are live, but not used.
llvm-svn: 93278
2010-01-13 00:30:23 +00:00
John McCall
e1ac8d1742
Improve the reporting of non-viable overload candidates by noting the reason
...
why the candidate is non-viable. There's a lot we can do to improve this, but
it's a good start. Further improvements should probably be integrated with the
bad-initialization reporting routines.
llvm-svn: 93277
2010-01-13 00:25:19 +00:00
Ted Kremenek
78668fdcfb
Move definitions for visitor methods in CDeclVisitor out-of-line.
...
llvm-svn: 93276
2010-01-13 00:22:49 +00:00
Ted Kremenek
1351b09b04
Make method definitions in TUVisitor out-of-line, making it easy to tell what visitor methods are defined.
...
Generalize TUVisitor to take a general "root" and "iterator" callback; this is prep. work to merging TUVisitor and CDeclVisitor.
llvm-svn: 93275
2010-01-13 00:13:47 +00:00
Douglas Gregor
08dc584c3f
Remove broken fix-it when a default function argument has been
...
redefined. There's a FIXME with an apology about why we don't try to
do better here. Fixes <rdar://problem/7513023>.
llvm-svn: 93274
2010-01-13 00:12:48 +00:00
Dale Johannesen
7b1a7ed330
Further progration of metadata operands. The
...
dumper doesn't really do what I want yet, but
at least it doesn't crash now.
llvm-svn: 93272
2010-01-13 00:00:24 +00:00
Fariborz Jahanian
6fada5be91
When in objective-c methods, do the built-in name lookup after
...
ivar name lookup. Fixes pr5986.
llvm-svn: 93271
2010-01-12 23:58:59 +00:00
Victor Hernandez
fc4aefb129
Make WriteConstants() more robust against stray values in ValueEnumerator's ValueList
...
llvm-svn: 93270
2010-01-12 23:37:59 +00:00
Ted Kremenek
58a6a8ec62
Add USR printing modes to c-index-test.
...
llvm-svn: 93269
2010-01-12 23:34:26 +00:00
Ted Kremenek
a188cbbf29
Make clang_getDeclUSR() visible.
...
llvm-svn: 93268
2010-01-12 23:34:05 +00:00
Ted Kremenek
cb674f9492
Rename clang_getUSR() -> clang_getDeclUSR(). For now we take a CXDecl instead of a CXEntity.
...
Enhance USR generation a bit with support for records.
llvm-svn: 93267
2010-01-12 23:33:42 +00:00
Douglas Gregor
49862b8285
Don't emit string-comparison or self-comparison warnings in
...
unevaluated contexts, because they only matter for code that will
actually be evaluated at runtime.
As part of this, I had to extend PartialDiagnostic to support fix-it
hints.
llvm-svn: 93266
2010-01-12 23:18:54 +00:00
Mike Stump
4b0e352061
Remove unused code.
...
llvm-svn: 93262
2010-01-12 22:20:00 +00:00
Bob Wilson
5b562906ac
Fix a comment typo.
...
llvm-svn: 93261
2010-01-12 22:18:56 +00:00
Chris Lattner
0c523e513a
testcase for -ftabstop, patch by Christian Adaker!
...
llvm-svn: 93260
2010-01-12 22:06:58 +00:00
Chris Lattner
3b96c8ae1d
use consistent tag kinds for ilist_traits
...
llvm-svn: 93259
2010-01-12 22:00:04 +00:00
Chris Lattner
7011795ee4
use DiagRuntimeBehavior to silence the div/rem by zero warning when
...
not in an evaluated context. This removes some bogus warnings.
llvm-svn: 93258
2010-01-12 21:30:55 +00:00
Douglas Gregor
18473f329d
Improve recovery for template-ids whose template-name doesn't actually
...
name a template, when they occur in a base-specifier. This is one of
the (few) places where we know for sure that an identifier followed by
a '<' must be a template name, so we can diagnose and recover well:
test/SemaTemplate/dependent-base-classes.cpp:9:16: error: missing
'template'
keyword prior to dependent template name 'T::apply'
struct X1 : T::apply<U> { }; // expected-error{{missing 'template' ...
^
template
test/SemaTemplate/dependent-base-classes.cpp:12:13: error: unknown
template name
'vector'
struct X2 : vector<T> { }; // expected-error{{unknown template name
'vector'}}
^
2 diagnostics generated.
llvm-svn: 93257
2010-01-12 21:28:44 +00:00
Chris Lattner
faa5417264
implement PR6004, warning about divide and remainder by zero.
...
llvm-svn: 93256
2010-01-12 21:23:57 +00:00
Chris Lattner
20aee9b914
implement PR6007, diagnosing invalid attribute((section))
...
llvm-svn: 93255
2010-01-12 20:58:53 +00:00
Mike Stump
a77e48c322
Improve covariance tester to randomize the return value more.
...
llvm-svn: 93254
2010-01-12 20:55:39 +00:00
Chris Lattner
573da8ac90
1) Use the new SimplifyInstructionsInBlock routine instead of the copy
...
in JT.
2) When cloning blocks for PHI or xor conditions, use
instsimplify to simplify the code as we go. This allows us to
squish common cases early in JT which opens up opportunities for
subsequent iterations, and allows it to completely simplify the
testcase.
llvm-svn: 93253
2010-01-12 20:41:47 +00:00
Chandler Carruth
04bdce6407
Fix the CodeGen half of PR5911 by changing reference initialization to
...
correctly look through arrays to see cv-qualifiers. Also enhances the routine
for doing this to preserve more type sugaring for diagnostics.
llvm-svn: 93252
2010-01-12 20:32:25 +00:00
Chris Lattner
7c743f2c74
add a helper function.
...
llvm-svn: 93251
2010-01-12 19:40:54 +00:00
Ted Kremenek
55e3e83b07
Further tweaking of USR generation. WIP.
...
llvm-svn: 93250
2010-01-12 19:35:53 +00:00
Devang Patel
f76941ed83
Use Twine, instead of StringRef, for consistency.
...
llvm-svn: 93249
2010-01-12 18:57:56 +00:00
Ted Kremenek
73eccd2c10
Make 'CXTranslationUnitIterator' an argument to perform_test_load(),
...
perform_test_load_tu(), and perform_test_load_source().
llvm-svn: 93248
2010-01-12 18:53:15 +00:00
Devang Patel
943ddf666d
Use ilist_tratis to autoinsert and remove NamedMDNode from MDSymbolTable.
...
llvm-svn: 93247
2010-01-12 18:34:06 +00:00
Fariborz Jahanian
42c06998ea
Define __weak attribute for objective-c pointers in
...
win32 targets. Fixes radar 7530235. Daniel please review.
llvm-svn: 93246
2010-01-12 18:33:57 +00:00
Evan Cheng
08557ef5f4
Eliminate or_not_add and just use AddedComplexity so isel tries or_is_add patterns first.
...
llvm-svn: 93245
2010-01-12 18:31:19 +00:00
Evan Cheng
0e9189371f
Add nounwind.
...
llvm-svn: 93244
2010-01-12 18:29:23 +00:00
Douglas Gregor
46c59614d3
Parse dependent template-ids in base clauses and member
...
initializers. This isn't actually in the C++ grammar (in any version),
but that's clearly an oversight: both GCC and EDG support this syntax,
and it's used within Boost code. I'll file a core issue proposing
precisely the change made here. Fixes PR6008.
llvm-svn: 93243
2010-01-12 17:52:59 +00:00
Duncan Sands
b7168c270e
Revert commit 93204, since it causes the assembler to barf
...
on x86-64 linux with messages like this:
Error: Incorrect register `%r14' used with `l' suffix
llvm-svn: 93242
2010-01-12 17:46:16 +00:00
Fariborz Jahanian
12e2e86f0f
Improve on objective-c pointer recognition
...
during rewrite. No functionality chang.
llvm-svn: 93241
2010-01-12 17:31:23 +00:00
Douglas Gregor
c119dd50c2
When determining whether a given name is a template in a dependent
...
context, do not attempt typo correction. This harms performance (as
Abramo noted) and can cause some amusing errors, as in this new
testcase.
llvm-svn: 93240
2010-01-12 17:06:20 +00:00
Benjamin Kramer
d815825c7d
Fix tests for r93231.
...
llvm-svn: 93238
2010-01-12 11:52:20 +00:00
Benjamin Kramer
59617be4a5
Remove trailing semicolons and silence MSVC warning about C linkage.
...
warning C4190: 'GetEntity' has C-linkage specified, but returns UDT
'clang::idx::Entity' which is incompatible with C
llvm-svn: 93237
2010-01-12 11:32:40 +00:00
Duncan Sands
0067d6bbbe
Fix typo.
...
llvm-svn: 93235
2010-01-12 08:30:46 +00:00
Duncan Sands
fd75e12954
Tweak commit 91745, which changed target data for both Mingw and Cygwin,
...
to not touch Cygwin: the change caused llvm-gcc build failures due to
long double getting the wrong size. Patch by Aaron Gray.
llvm-svn: 93234
2010-01-12 08:21:07 +00:00
John McCall
ad907777e8
So I was sitting around, trying vainly to think of something to commit, and then
...
I said to myself, self, why don't you go add a couple of parameters to a method
and then fail to use them, and I thought that sounded like a pretty good idea,
so I did it.
llvm-svn: 93233
2010-01-12 07:18:19 +00:00
Douglas Gregor
6a80393385
Use horizontal-space markers in code-completion results rather than
...
embedding single space characters. <rdar://problem/7485503>
llvm-svn: 93231
2010-01-12 06:38:28 +00:00
Dan Gohman
9059833de6
Make several tests less fragile.
...
llvm-svn: 93230
2010-01-12 04:52:47 +00:00
Dan Gohman
c119580307
Reapply the MOV64r0 patch, with a fix: MOV64r0 clobbers EFLAGS.
...
llvm-svn: 93229
2010-01-12 04:42:54 +00:00
Dan Gohman
d49763d200
Update a partially obsolete comment.
...
llvm-svn: 93228
2010-01-12 04:32:35 +00:00
Dan Gohman
f9d6d53823
Fix a typo in a comment.
...
llvm-svn: 93227
2010-01-12 04:30:26 +00:00
Mike Stump
edd224743c
Add covariance tester.
...
llvm-svn: 93226
2010-01-12 03:01:18 +00:00
Daniel Dunbar
abd3686f49
Remove duplicate class name, MSVC doesn't like this.
...
llvm-svn: 93225
2010-01-12 02:34:07 +00:00
John McCall
53262c96d9
Reorganize some of the code to note overload candidates. Improves the
...
fidelity with which we note them as functions/constructors and templates
thereof. Also will be helpful when reporting bad conversions (next).
llvm-svn: 93224
2010-01-12 02:15:36 +00:00
Ted Kremenek
5631d2d1a1
Add a boilerplate implementation for clang_getUSR(). WIP.
...
llvm-svn: 93223
2010-01-12 02:07:58 +00:00