John McCall
8c12dc4351
Use the naming class from the overloaded lookup when access-checking an
...
address of overloaded function, instead of assuming that a nested name
specifier was used. A nested name specifier is not required for static
functions.
Fixes PR6886.
llvm-svn: 102107
2010-04-22 18:44:12 +00:00
Devang Patel
0fde4aeedd
Rename InsnAfterLabelMap and InsnBeforeLabelMap.
...
llvm-svn: 102106
2010-04-22 18:43:35 +00:00
Devang Patel
53f530d44c
Keep track of MCSymbol used to mark beginning of a function.
...
llvm-svn: 102104
2010-04-22 18:39:21 +00:00
Jim Grosbach
9628468d94
Add mention of ARM atomic builtin support
...
llvm-svn: 102103
2010-04-22 18:33:31 +00:00
Devang Patel
bae14a1cab
At this point Start and End are not null.
...
llvm-svn: 102102
2010-04-22 18:28:58 +00:00
Jim Grosbach
77f0f5b616
Update ARM frame index scavenging description
...
llvm-svn: 102101
2010-04-22 18:28:43 +00:00
Chris Lattner
0d34c06cf2
remove dupe
...
llvm-svn: 102100
2010-04-22 18:26:17 +00:00
Chris Lattner
8b29021712
another tweak for haiku support, patch by Paul Davey!
...
llvm-svn: 102098
2010-04-22 17:48:00 +00:00
Chris Lattner
77a23804b9
reword my incoherent babble into something that makes sense
...
from Wesley Peck!
llvm-svn: 102096
2010-04-22 17:39:38 +00:00
Chris Lattner
ad2804110b
two more projects.
...
llvm-svn: 102095
2010-04-22 17:28:36 +00:00
Douglas Gregor
21515a992f
Some Objective-C++ types and expressions will never change during
...
template instantiation, since they cannot be dependent or have
dependent parts. Handle them the simple way.
llvm-svn: 102094
2010-04-22 17:28:13 +00:00
Chris Lattner
cecb923e78
add some notes from Matthieu Moy!
...
llvm-svn: 102093
2010-04-22 17:25:00 +00:00
Douglas Gregor
b5186b1d44
When a dependent Objective-C++ message send was able to resolve the
...
method being called at template definition time, retain that method
and pass it through to type-checking. We will not perform any lookup
for the method during template instantiation.
llvm-svn: 102081
2010-04-22 17:01:48 +00:00
Douglas Gregor
049211a670
Remove the SelectorLoc argument to Sema::BuildInstanceMesssage and
...
Sema::BuildClassMessage; we weren't using it, and template
instantiation was faking it anyway.
llvm-svn: 102074
2010-04-22 16:50:51 +00:00
Douglas Gregor
e1f79e868a
Expand the one use of TransformPointerLikeType and eliminate this macro. No functionality change
...
llvm-svn: 102073
2010-04-22 16:46:21 +00:00
Chris Lattner
28175bf916
improve tblgen doc, pointed out by Zhongxing.
...
llvm-svn: 102072
2010-04-22 16:45:27 +00:00
Douglas Gregor
c298ffcb8b
Implement template instantiation for Objective-C++ message sends. We
...
support dependent receivers for class and instance messages, along
with dependent message arguments (of course), and check as much as we
can at template definition time.
This commit also deals with a subtle aspect of template instantiation
in Objective-C++, where the type 'T *' can morph from a dependent
PointerType into a non-dependent ObjCObjectPointer type.
llvm-svn: 102071
2010-04-22 16:44:27 +00:00
Daniel Dunbar
f812506912
ARM/APCS: Don't respect bit-field types when laying out structures.
...
- This fixes the last known ABI issues with ARM/APCS.
- I've run the first 1k ABITests with '--no-unsigned --no-vector --no-complex'
on {armv6, armv7} x {-mno-thumb, -mthumb}, and the first 10k tests for armv7
-mthumb, for both function return types and single argument calls. These all
pass now (they failed horribly before without --no-bitfield).
llvm-svn: 102070
2010-04-22 16:14:54 +00:00
Daniel Dunbar
5981377698
IRgen: Fix another case where we generated an invalid access component when we
...
immediately narrowed the access size. Fix this (and previous case) by just
choosing a better access size up-front.
llvm-svn: 102068
2010-04-22 15:22:33 +00:00
Daniel Dunbar
5d6c07e0e9
IRgen: Fix case where we might generate an access component with width == 0, if
...
we have to narrow the access side immediately (can happen with packed,
-fno-bitfield-type-align).
llvm-svn: 102067
2010-04-22 14:56:10 +00:00
Douglas Gregor
fceea36501
When checking whether to diagnose an initialized "extern" variable,
...
look for the const on the base type rather than on the top-level
type. Fixes PR6495 properly.
llvm-svn: 102066
2010-04-22 14:36:26 +00:00
Douglas Gregor
73519609d4
Record nested-name-specifiers of when we create
...
elaborated-type-specifiers. Patch by Enea Zaffanella!
llvm-svn: 102065
2010-04-22 14:24:35 +00:00
Wesley Peck
9bc5e8f45e
Fixing a typo in the "Clang project" section of the release notes.
...
llvm-svn: 102064
2010-04-22 14:19:00 +00:00
Wesley Peck
cad613decc
Small fix to the "Other Improvements and New Features" section of the release notes.
...
llvm-svn: 102063
2010-04-22 13:53:54 +00:00
Wesley Peck
3edc1684c2
Fixing small typos in the "New Useful APIs" section of the release notes.
...
llvm-svn: 102062
2010-04-22 13:50:46 +00:00
Wesley Peck
16144fbecd
Fixing small typos in the "ARM Target Improvements" section of the release notes.
...
llvm-svn: 102061
2010-04-22 13:43:14 +00:00
Wesley Peck
ba1ad20983
Rewording the "generated debug information" paragraph in the "Interpreter and JIT Improvements" section of the release notes.
...
llvm-svn: 102060
2010-04-22 13:36:27 +00:00
Wesley Peck
c845916929
Reworking the wording of the "target data string" paragraph in the "Optimizer Improvments" section of the release notes.
...
llvm-svn: 102059
2010-04-22 13:28:34 +00:00
Gabor Greif
d80517c061
<pre> seems to close <p>
...
llvm-svn: 102057
2010-04-22 10:25:23 +00:00
Gabor Greif
27b1663569
the validator coughed up some problems, most of them fixed
...
llvm-svn: 102056
2010-04-22 10:21:43 +00:00
Gabor Greif
862b35372f
shorten link
...
llvm-svn: 102055
2010-04-22 10:11:24 +00:00
Chris Lattner
ee8f1f0998
static analyzer has its own section
...
llvm-svn: 102054
2010-04-22 06:39:56 +00:00
Chris Lattner
2284b6aed8
add mc and static analyzer blurbs.
...
llvm-svn: 102053
2010-04-22 06:38:11 +00:00
Chris Lattner
a67df2d537
another checkpoint.
...
llvm-svn: 102052
2010-04-22 06:28:20 +00:00
Chris Lattner
656db16db4
various updates.
...
llvm-svn: 102051
2010-04-22 05:41:35 +00:00
Anders Carlsson
05bf00938b
Re-land the patch that merges two diagnostics into one now that it passes self-host :)
...
llvm-svn: 102050
2010-04-22 05:40:53 +00:00
Chris Lattner
131378bd25
fix file header.
...
llvm-svn: 102049
2010-04-22 05:33:15 +00:00
John McCall
69349f458b
Neuter this testcase a little. The way LLVM writes labels for anonymous blocks
...
makes it impossible to check labels.
llvm-svn: 102048
2010-04-22 03:27:09 +00:00
Daniel Dunbar
b219780b72
Suppress compiler warning.
...
llvm-svn: 102047
2010-04-22 03:17:06 +00:00
Daniel Dunbar
fc66e0ed87
IRgen: Set alignment correctly on bit-field accesses.
...
llvm-svn: 102046
2010-04-22 03:17:04 +00:00
Daniel Dunbar
488f55c271
IRgen: Rewrite bit-field access policy to not access data beyond the bounds of the structure, which we also now verify as part of the post-layout consistency checks.
...
- This fixes some pedantic bugs with packed structures, as well as major problems with -fno-bitfield-type-align.
- Fixes PR5591, PR5567, and all known -fno-bitfield-type-align issues.
- Review appreciated.
llvm-svn: 102045
2010-04-22 02:35:46 +00:00
Daniel Dunbar
b6f4b05914
IRgen: Fix CGRecordLayout::print to print the bit-field infos in a consistent order.
...
llvm-svn: 102044
2010-04-22 02:35:36 +00:00
Daniel Dunbar
e448942b76
Revert "Unify two diagnostics into one.", it breaks with an assertion failure on bootstrap.
...
llvm-svn: 102043
2010-04-22 02:35:33 +00:00
Dan Gohman
acd700a24b
Don't attempt to analyze values which are obviously undef. This fixes some
...
assertion failures in extreme cases.
llvm-svn: 102042
2010-04-22 01:35:11 +00:00
Dan Gohman
c951e6e414
Tidy a comment.
...
llvm-svn: 102041
2010-04-22 01:30:05 +00:00
Anders Carlsson
046bb5cc3f
Unify two diagnostics into one.
...
llvm-svn: 102040
2010-04-22 01:17:32 +00:00
John McCall
2e6567ae60
Call PerformCopyInitialization to properly initialize the exception temporary
...
in a throw expression. Use EmitAnyExprToMem to emit the throw expression,
which magically elides the final copy-constructor call (which raises a new
strict-compliance bug, but baby steps). Give __cxa_throw a destructor pointer
if the exception type has a non-trivial destructor.
llvm-svn: 102039
2010-04-22 01:10:34 +00:00
Douglas Gregor
4f4946aaaa
Whenever we complain about a failed initialization of a function or
...
method parameter, provide a note pointing at the parameter itself so
the user does not have to manually look for the function/method being
called and match up parameters to arguments. For example, we now get:
t.c:4:5: warning: incompatible pointer types passing 'long *' to
parameter of
type 'int *' [-pedantic]
f(long_ptr);
^~~~~~~~
t.c:1:13: note: passing argument to parameter 'x' here
void f(int *x);
^
llvm-svn: 102038
2010-04-22 00:20:18 +00:00
Anders Carlsson
3eeb741e6c
Remove an unused declaration.
...
llvm-svn: 102037
2010-04-21 23:55:31 +00:00
Dan Gohman
ef78c8ebd7
When computing the alignof value for a vector type, ensure that
...
the alignment is a power of 2, even in the esoteric case of a
vector element which does not have a power-of-2 sizeof value.
llvm-svn: 102036
2010-04-21 23:32:43 +00:00