]>
granicus.if.org Git - clang/log
Ted Kremenek [Wed, 30 Mar 2011 21:43:52 +0000 (21:43 +0000)]
Add '#ifndef _PTRDIFF_T' guard around definition of ptrdiff_t. Fixes <rdar://problem/
9210154 >.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@128578
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Wed, 30 Mar 2011 21:09:57 +0000 (21:09 +0000)]
Put "#pragma message ..." into its own warning (human friendly) category.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@128573
91177308 -0d34-0410-b5e6-
96231b3b80d8
Argyrios Kyrtzidis [Wed, 30 Mar 2011 18:02:43 +0000 (18:02 +0000)]
Silence warnings of unkwown -Wlarger-than and -Wframe-larger-than. Fixes rdar://
6970318 .
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@128560
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Wed, 30 Mar 2011 17:41:19 +0000 (17:41 +0000)]
Begin reworking static analyzer support for C++ method calls. The current logic was divorced
from how we process ordinary function calls, had a tremendous about of redundancy, and relied
strictly on inlining behavior (which was incomplete) to provide semantics instead of falling
back to the conservative analysis we use for C functions. This is a significant step into
making C++ analyzer support more useful.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@128557
91177308 -0d34-0410-b5e6-
96231b3b80d8
Fariborz Jahanian [Wed, 30 Mar 2011 16:59:30 +0000 (16:59 +0000)]
de-sugared when accessing property reference type.
Add a test case for synthesize ivar. // rdar://
9070460
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@128554
91177308 -0d34-0410-b5e6-
96231b3b80d8
Fariborz Jahanian [Wed, 30 Mar 2011 16:11:20 +0000 (16:11 +0000)]
Fix IRGen issues related to using property-dot syntax
for prperty reference types. // rdar://
9208606 .
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@128551
91177308 -0d34-0410-b5e6-
96231b3b80d8
Jay Foad [Wed, 30 Mar 2011 11:28:58 +0000 (11:28 +0000)]
Remove PHINode::reserveOperandSpace(). Instead, add a parameter to
PHINode::Create() giving the (known or expected) number of operands.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@128538
91177308 -0d34-0410-b5e6-
96231b3b80d8
Jay Foad [Wed, 30 Mar 2011 11:19:06 +0000 (11:19 +0000)]
(Almost) always call reserveOperandSpace() on newly created PHINodes.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@128534
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ken Dyck [Wed, 30 Mar 2011 10:11:40 +0000 (10:11 +0000)]
Convert the offset parameter of
VCallAndVBaseOffsetBuilder::AddVCallOffsets() to CharUnits. No change in
functionality intended.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@128531
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ken Dyck [Wed, 30 Mar 2011 01:21:33 +0000 (01:21 +0000)]
Convert local offset variable to CharUnits in AddVCallOffsets. No change in
functionality intended.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@128522
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ken Dyck [Wed, 30 Mar 2011 01:14:22 +0000 (01:14 +0000)]
Convert a local offset variable to CharUnits. No change in functionality
intended.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@128521
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ken Dyck [Wed, 30 Mar 2011 01:10:23 +0000 (01:10 +0000)]
Convert the OffsetInLayoutClass parameter of DeterminePrimaryVirtualBases()
to CharUnits. No change in functionality intended.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@128520
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ken Dyck [Wed, 30 Mar 2011 00:50:28 +0000 (00:50 +0000)]
Convert the OffsetInLayoutClass parameter of LayoutSecondaryVTables to
CharUnits. No change in functionality intended.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@128516
91177308 -0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Wed, 30 Mar 2011 00:08:31 +0000 (00:08 +0000)]
Fix in r128471 is very broad. Some of the unconditional branches need line number information for better user experience.
Restrict the fix. This fixes break.exp failures from gdb testsuite.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@128513
91177308 -0d34-0410-b5e6-
96231b3b80d8
Argyrios Kyrtzidis [Tue, 29 Mar 2011 23:57:41 +0000 (23:57 +0000)]
[analyzer] Allow all checkers of a group to be enabled.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@128512
91177308 -0d34-0410-b5e6-
96231b3b80d8
Argyrios Kyrtzidis [Tue, 29 Mar 2011 23:57:38 +0000 (23:57 +0000)]
[analyzer] For -analyzer-checker-help show all the info about groups, packages, and which packages/checkers are hidden.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@128511
91177308 -0d34-0410-b5e6-
96231b3b80d8
Jeffrey Yasskin [Tue, 29 Mar 2011 22:27:50 +0000 (22:27 +0000)]
Add a libstdc++-4.4 patch for C++0x to the website.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@128498
91177308 -0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Tue, 29 Mar 2011 21:06:43 +0000 (21:06 +0000)]
Robustify test string.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@128486
91177308 -0d34-0410-b5e6-
96231b3b80d8
Oscar Fuentes [Tue, 29 Mar 2011 20:51:00 +0000 (20:51 +0000)]
CMake: removed some unnecesary conditionals from add_clang_library.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@128483
91177308 -0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Tue, 29 Mar 2011 20:00:06 +0000 (20:00 +0000)]
Add target triple.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@128480
91177308 -0d34-0410-b5e6-
96231b3b80d8
Argyrios Kyrtzidis [Tue, 29 Mar 2011 18:54:02 +0000 (18:54 +0000)]
[analyzer] Checker Packages can now belong to a group. This requires llvm commit r128474.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@128475
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chandler Carruth [Tue, 29 Mar 2011 18:38:10 +0000 (18:38 +0000)]
Fix an unused variable warning in release builds and make the
assert-less codepath marginally more efficient.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@128472
91177308 -0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Tue, 29 Mar 2011 18:35:54 +0000 (18:35 +0000)]
Do not line number entry for unconditional branches. Usually, users do not want to stop at closing '}'.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@128471
91177308 -0d34-0410-b5e6-
96231b3b80d8
John Thompson [Tue, 29 Mar 2011 18:31:21 +0000 (18:31 +0000)]
Fixed build error.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@128470
91177308 -0d34-0410-b5e6-
96231b3b80d8
Francois Pichet [Tue, 29 Mar 2011 11:38:04 +0000 (11:38 +0000)]
Add a triple to make the test friendly on no windows platform.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@128459
91177308 -0d34-0410-b5e6-
96231b3b80d8
Francois Pichet [Tue, 29 Mar 2011 10:39:17 +0000 (10:39 +0000)]
Accept __declspec(dllimport) for function defined at class scope in Microsoft mode.
This fixes a bunch of errors when compiling MSVC header files with the -DDLL flag.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@128457
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chandler Carruth [Tue, 29 Mar 2011 08:08:18 +0000 (08:08 +0000)]
Fix a bug in how we were resolving the address of overloaded functions
when the resolution took place due to a single template specialization
being named with an explicit template argument list. In this case, the
"resolution" doesn't take into account the target type at all, and
therefore can take place for functions, static member functions, and
*non-static* member functions. The latter weren't being properly checked
and their proper form enforced in this scenario. We now do so.
The result of this last form slipping through was some confusing logic
in IsStandardConversion handling of these resolved address-of
expressions which eventually exploded in an assert. Simplify this logic
a bit and add some more aggressive asserts to catch improperly formed
expressions getting into this routine.
Finally add systematic testing of member functions, both static and
non-static, in the various forms they can take. One of these is
essentially PR9563, and this commit fixes the crash in that PR. However,
the diagnostics for this are still pretty terrible. We at least are now
accepting the correct constructs and rejecting the invalid ones rather
than accepting invalid or crashing as before.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@128456
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Tue, 29 Mar 2011 01:40:00 +0000 (01:40 +0000)]
Add workaround for Sema issue found in <rdar://problem/
9188004 >, which leads to an assertion failure in the uninitialized variables analysis. The problem is that Sema isn't properly registering a variable in a DeclContext (which -Wuninitialized relies on), but
my expertise on the template instantiation logic isn't good enough to fix this problem for real. This patch worksaround the
problem in -Wuninitialized, but we should fix it for real later.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@128443
91177308 -0d34-0410-b5e6-
96231b3b80d8
Argyrios Kyrtzidis [Mon, 28 Mar 2011 23:52:04 +0000 (23:52 +0000)]
Don't do the checks of Sema::DiagnoseEqualityWithExtraParens() on type-dependent expressions. Fixes rdar://
9027658 .
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@128437
91177308 -0d34-0410-b5e6-
96231b3b80d8
Fariborz Jahanian [Mon, 28 Mar 2011 23:47:18 +0000 (23:47 +0000)]
Implements property of reference types. Adding
an executable test to llvm test suite.
// rdar://
9070460 .
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@128435
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Mon, 28 Mar 2011 22:49:28 +0000 (22:49 +0000)]
Integrated-As: Support -Wa,-L when using the integrated assembler.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@128433
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Mon, 28 Mar 2011 22:49:24 +0000 (22:49 +0000)]
Frontend/cc1as: Add support for -L.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@128432
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anton Yartsev [Mon, 28 Mar 2011 21:00:05 +0000 (21:00 +0000)]
refactoring
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@128427
91177308 -0d34-0410-b5e6-
96231b3b80d8
Fariborz Jahanian [Mon, 28 Mar 2011 16:23:34 +0000 (16:23 +0000)]
Also 'self' in blocks need be handled specially.
// rdar://
9181463
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@128410
91177308 -0d34-0410-b5e6-
96231b3b80d8
Eli Friedman [Mon, 28 Mar 2011 02:00:21 +0000 (02:00 +0000)]
Remove stray null from the middle of a comment. (Found because my editor
was refusing to open the file.)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@128402
91177308 -0d34-0410-b5e6-
96231b3b80d8
Matt Beaumont-Gay [Mon, 28 Mar 2011 01:39:13 +0000 (01:39 +0000)]
Fix PR9572 and neighboring lurking crashers.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@128401
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chandler Carruth [Sun, 27 Mar 2011 21:26:48 +0000 (21:26 +0000)]
Reduce indentation using early exits and add a couple of comments. No
functionality changed.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@128396
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chandler Carruth [Sun, 27 Mar 2011 21:03:41 +0000 (21:03 +0000)]
Add my test case for r128353. I think this is the last test case to fail
to be added... Sorry for the noise.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@128395
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chandler Carruth [Sun, 27 Mar 2011 20:35:59 +0000 (20:35 +0000)]
Add tests for the uninitialized checks added in r128376. Also clean up
and flesh out the existing uninitialized testing for field initializers.
The tests come from Richard's original patch, but I've cleaned them up
a bit and ordered them more naturally.
Also, I added a test for the most simple base case:
int x = x;
And it turns out we miss this one! =[ That and another bad FIXME on the
field initializer checking are left in the test.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@128394
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ken Dyck [Sun, 27 Mar 2011 20:33:38 +0000 (20:33 +0000)]
Convert offset parameter in LayoutPrimaryAndSecondaryVTables() to CharUnits.
No change in functionality intended.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@128393
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ken Dyck [Sun, 27 Mar 2011 20:20:28 +0000 (20:20 +0000)]
Convert VTableBuilder::MostDerivedClassOffset to CharUnits. No change in
functionality intended.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@128392
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ken Dyck [Sun, 27 Mar 2011 20:10:29 +0000 (20:10 +0000)]
Convert FinalOverriders::MostDerivedClassOffset to CharUnits. No change in
functionality intended.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@128391
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chandler Carruth [Sun, 27 Mar 2011 20:00:08 +0000 (20:00 +0000)]
Flip the default for showing include stacks on notes to false. This
required modifying a few tests that specifically use note include stacks
to check the source manager's view of include stacks. I've simply added
the flag to these tests for now, they may have to be more substantially
changed if we decide to remove support for note include stacks
altogether.
Also, add a test for include stacks on notes that was supposed to go in
with the previous commit.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@128390
91177308 -0d34-0410-b5e6-
96231b3b80d8
Fariborz Jahanian [Sun, 27 Mar 2011 19:53:47 +0000 (19:53 +0000)]
'self' is objective-c's 'self' objc pointer only in
an objc method. Fixes // rdar://
9181463
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@128389
91177308 -0d34-0410-b5e6-
96231b3b80d8
Francois Pichet [Sun, 27 Mar 2011 19:41:34 +0000 (19:41 +0000)]
Improve recovery (error + fix-it) when parsing type dependent template name without the "template" keyword.
For example:
typename C1<T>:: /*template*/ Iterator<0> pos;
Also the error is downgraded to an ExtWarn in Microsoft mode.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@128387
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ken Dyck [Sun, 27 Mar 2011 19:19:52 +0000 (19:19 +0000)]
Remove a fixed FIXME comment (the base offset has already been converted to
CharUnits).
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@128386
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ken Dyck [Sun, 27 Mar 2011 19:15:11 +0000 (19:15 +0000)]
Convert the offset parameters of AddMethods() to CharUnits. No change in
functionality intended.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@128385
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ken Dyck [Sun, 27 Mar 2011 19:03:44 +0000 (19:03 +0000)]
Convert the BaseOffsetInLayoutClass parameter of ComputeThisAdjustment() to
CharUnits. No change in functionality intended.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@128384
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ken Dyck [Sun, 27 Mar 2011 18:57:53 +0000 (18:57 +0000)]
Convert offset members in MethodInfo to CharUnits. No change in
functionality intended.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@128383
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anton Yartsev [Sun, 27 Mar 2011 15:36:07 +0000 (15:36 +0000)]
AltiVec vector comparison logic now affect only vectors of fundamental AltiVec vector types. It fixes bug 9347.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@128381
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Sun, 27 Mar 2011 09:49:38 +0000 (09:49 +0000)]
Clang supports __STDC_HOSTED__. Patch by Jonathan Sauer
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@128377
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chandler Carruth [Sun, 27 Mar 2011 09:46:56 +0000 (09:46 +0000)]
Diagnose uninitialized uses of a variable within its own initializer.
This is basically the same idea as the warning on uninitialized uses of
fields within an initializer list. As such, it is on by default and
under -Wuninitialized.
Original patch by Richard Trieu, with some massaging from me on the
wording and grouping of the diagnostics.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@128376
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anton Yartsev [Sun, 27 Mar 2011 09:32:40 +0000 (09:32 +0000)]
supported: AltiVec vector initialization with a single literal according to PIM section 2.5.1 - after initialization all elements have the value specified by the literal
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@128375
91177308 -0d34-0410-b5e6-
96231b3b80d8
John McCall [Sun, 27 Mar 2011 09:00:25 +0000 (09:00 +0000)]
We were emitting construction v-tables with internal linkage all the time.
Emit them instead with the linkage of the VTT.
I'm actually really ambivalent about this; it's what GCC does, but outside
of improving code size (if the linkage is coalescing), I'm not sure it's
at all relevant. Construction vtables are naturally referenced only by the
VTT, which is itself only referenced by complete-object constructors and
destructors; giving the construction vtables possibly-external linkage is
important if you have an optimization that drills through the VTT to a
reference to a particular construction vtable which it cannot just emit
itself.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@128374
91177308 -0d34-0410-b5e6-
96231b3b80d8
NAKAMURA Takumi [Sun, 27 Mar 2011 02:04:21 +0000 (02:04 +0000)]
www/get_started.html: Fix a few URLs.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@128372
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chandler Carruth [Sun, 27 Mar 2011 01:50:55 +0000 (01:50 +0000)]
Add an option to suppress include stack printing on note diagnostics.
These stacks are often less important than those on primary diagnostics.
As the number of notes grows, this becomes increasingly important. The
include stack printing is clever and doesn't print stacks for adjacent
diagnostics from the same file, but when a note is in between a sequence
of errors in a header file, and the notes all refer to some other file,
we end up getting a worst-case ping-pong of include stacks that take up
a great deal of vertical space.
Still, for now, the default behavior isn't changed. We can evaluate user
feedback with the flag.
Patch by Richard Trieu, a couple of style tweaks from me.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@128371
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chandler Carruth [Sun, 27 Mar 2011 00:04:55 +0000 (00:04 +0000)]
Add -f[no-]strict-overflow to the Clang driver. Use it to set the
default for -fwrapv if that flag isn't specified explicitly. We always
prefer an explict setting of -fwrapv when present. Also adds support for
-fno-wrapv to allow disabling -fwrapv even when -fno-strict-overflow is
passed.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@128353
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Sat, 26 Mar 2011 22:25:30 +0000 (22:25 +0000)]
Improve -Wheader-hygiene to warn about using directives inside linkage
specifications within the global scope, from Elliot Glaysher.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@128352
91177308 -0d34-0410-b5e6-
96231b3b80d8
Fariborz Jahanian [Sat, 26 Mar 2011 19:48:30 +0000 (19:48 +0000)]
More coherent diagnostic attempting to assign to a member of a const object returned
from an objective-c message: // rdar://
9005189
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@128348
91177308 -0d34-0410-b5e6-
96231b3b80d8
Argyrios Kyrtzidis [Sat, 26 Mar 2011 18:58:17 +0000 (18:58 +0000)]
For Diagnostic::Reset() also reset the state related to #pragma diagnostic. Fixes rdar://
9170766 .
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@128346
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 26 Mar 2011 18:11:38 +0000 (18:11 +0000)]
fix the second part of rdar://
8366474 - clang fails to parse ObjC selectors with '::', when :: isn't the first part of the selector.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@128344
91177308 -0d34-0410-b5e6-
96231b3b80d8
Fariborz Jahanian [Sat, 26 Mar 2011 17:07:06 +0000 (17:07 +0000)]
Make diagnostic clearer.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@128343
91177308 -0d34-0410-b5e6-
96231b3b80d8
Oscar Fuentes [Sat, 26 Mar 2011 16:11:33 +0000 (16:11 +0000)]
Removed workaround for unspecified build problem on MinGW.
Tested that MinGW/MSYS builds fine without that.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@128341
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Sat, 26 Mar 2011 14:30:44 +0000 (14:30 +0000)]
Don't add a symbolic region for 'this' if the member function is static.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@128340
91177308 -0d34-0410-b5e6-
96231b3b80d8
Benjamin Kramer [Sat, 26 Mar 2011 12:38:21 +0000 (12:38 +0000)]
Make helpers static.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@128339
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Sat, 26 Mar 2011 12:16:15 +0000 (12:16 +0000)]
Add a __has_feature check for the 'availability' attribute
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@128337
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Sat, 26 Mar 2011 12:10:19 +0000 (12:10 +0000)]
On Mac OS X, the presence of an 'availability' attribute for that
platform implies default visibility. To achieve these, refactor our
lookup of explicit visibility so that we search for both an explicit
VisibilityAttr and an appropriate AvailabilityAttr, favoring the
VisibilityAttr if it is present.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@128336
91177308 -0d34-0410-b5e6-
96231b3b80d8
David Chisnall [Sat, 26 Mar 2011 11:48:37 +0000 (11:48 +0000)]
Reformatted doc comments so that they are now difficult to edit in any editor that doesn't have explicit doxygen support, as per LLVM style guidelines.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@128335
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Sat, 26 Mar 2011 10:47:34 +0000 (10:47 +0000)]
Test attribute merging for the availability attribute.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@128334
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Sat, 26 Mar 2011 03:35:55 +0000 (03:35 +0000)]
Extend the new 'availability' attribute with support for an
'unavailable' argument, which specifies that the declaration to which
the attribute appertains is unavailable on that platform.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@128329
91177308 -0d34-0410-b5e6-
96231b3b80d8
John McCall [Sat, 26 Mar 2011 02:56:45 +0000 (02:56 +0000)]
Allow GC qualifiers to be added/removed by conversions from/to void*
without a warning.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@128328
91177308 -0d34-0410-b5e6-
96231b3b80d8
John McCall [Sat, 26 Mar 2011 02:09:52 +0000 (02:09 +0000)]
Don't warn about the 'extern' in 'extern "C"' on a tag decl. This is
usually useless, but not always.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@128326
91177308 -0d34-0410-b5e6-
96231b3b80d8
John McCall [Sat, 26 Mar 2011 01:53:26 +0000 (01:53 +0000)]
Fix the recovery from missing semis on @property declarations to not consume
the following '@'. Conceivably, we could skip tokens until something that
can validly start an @interface declaration here, but it's not clear that
it matters.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@128325
91177308 -0d34-0410-b5e6-
96231b3b80d8
John McCall [Sat, 26 Mar 2011 01:39:56 +0000 (01:39 +0000)]
Properly move attributes to the decl spec when applying them there.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@128324
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ken Dyck [Sat, 26 Mar 2011 01:36:26 +0000 (01:36 +0000)]
Convert the OffsetInLayoutClass parameter of
FinalOverriders::ComputeBaseOffsets() to CharUnits. No change in
functionality intended.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@128323
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ken Dyck [Sat, 26 Mar 2011 01:29:16 +0000 (01:29 +0000)]
Convert FinalOverriders::Offset to CharUnits. No change in functionality
intended.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@128321
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ken Dyck [Sat, 26 Mar 2011 01:18:17 +0000 (01:18 +0000)]
Convert offset in MethodBaseOffsetPairTy to CharUnits. No change in
functionality intended.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@128318
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ken Dyck [Sat, 26 Mar 2011 01:09:13 +0000 (01:09 +0000)]
Convert the offsets in SubobjectOffsetMapTy to CharUnits. No change in
functionality intended.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@128317
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ken Dyck [Sat, 26 Mar 2011 00:51:24 +0000 (00:51 +0000)]
Convert several local variables to CharUnits. No change in functionality
intended.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@128315
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Sat, 26 Mar 2011 00:25:42 +0000 (00:25 +0000)]
Tweak grammar in checker description.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@128310
91177308 -0d34-0410-b5e6-
96231b3b80d8
Craig Silverstein [Fri, 25 Mar 2011 23:31:36 +0000 (23:31 +0000)]
TraverseNestedNameSpecifier -> TraverseNestedNameSpecifierLoc in a few
places where we can, now. OK-ed by dgregor.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@128307
91177308 -0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Fri, 25 Mar 2011 21:26:13 +0000 (21:26 +0000)]
Provide blockDecl's startLoc to startFunction. This fixes hidden bug exposed by recent code gen changes. This is tested by global-blocks-lines.exp in gdb testsuite.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@128303
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Fri, 25 Mar 2011 20:09:09 +0000 (20:09 +0000)]
Obj-C/NeXT: Update and reapply 108847, now that changes are more baked.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@128300
91177308 -0d34-0410-b5e6-
96231b3b80d8
Eli Friedman [Fri, 25 Mar 2011 19:07:11 +0000 (19:07 +0000)]
Silly mistake in integer constant folding cleanup.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@128297
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Fri, 25 Mar 2011 18:16:51 +0000 (18:16 +0000)]
Driver/Darwin: Dsymutil actions should put the dSYM adjacent to the output file.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@128292
91177308 -0d34-0410-b5e6-
96231b3b80d8
David Chisnall [Fri, 25 Mar 2011 17:46:35 +0000 (17:46 +0000)]
Refactor CGObjCMac to use the shared code for EH stuff.
Sanity checked by John McCall.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@128287
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Fri, 25 Mar 2011 15:04:23 +0000 (15:04 +0000)]
we can now claim to fully support the override control feature in C++0x.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@128281
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Fri, 25 Mar 2011 14:55:14 +0000 (14:55 +0000)]
Fixup comments.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@128280
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Fri, 25 Mar 2011 14:53:29 +0000 (14:53 +0000)]
Remove the last of ClassVirtSpecifiers.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@128279
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Fri, 25 Mar 2011 14:46:08 +0000 (14:46 +0000)]
Replace the call to ParseOptionalCXX0XClassVirtSpecifierSeq with code to only parse an optional 'final' keyword.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@128278
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Fri, 25 Mar 2011 14:31:08 +0000 (14:31 +0000)]
Get rid of handling of the 'explicit' keyword from class-head. We still parse it though, although that will change shortly.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@128277
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Fri, 25 Mar 2011 14:16:48 +0000 (14:16 +0000)]
Unbreak CMake build.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@128276
91177308 -0d34-0410-b5e6-
96231b3b80d8
David Chisnall [Fri, 25 Mar 2011 14:06:20 +0000 (14:06 +0000)]
Added some doc comments.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@128275
91177308 -0d34-0410-b5e6-
96231b3b80d8
David Chisnall [Fri, 25 Mar 2011 11:57:33 +0000 (11:57 +0000)]
Continuing work on ObjC tidyup:
- Moved the CGObjCRuntime functions out of CGObjCMac.cpp into CGObjCRuntime.cpp
- Added generic functions in CGObjCRuntime for emitting @try and @synchronize
blocks, usable by any runtime that uses DWARF exceptions.
- Made the GNU runtimes use these functions.
It should now be possible to replace the equivalent functions in
CGObjCNonFragileABIMac with simple calls to these two functions, providing the
runtime functions as arguments. I'll post a diff to the list for review before
making any changes to the Mac runtime stuff.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@128274
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Fri, 25 Mar 2011 11:28:25 +0000 (11:28 +0000)]
Remove warnings about using override control keywords in inline function definitions; they will be allowed in the next C++0x draft.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@128273
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Fri, 25 Mar 2011 11:22:47 +0000 (11:22 +0000)]
Fix some clang warnings.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@128272
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Fri, 25 Mar 2011 11:19:41 +0000 (11:19 +0000)]
Remove 'new' from virt-specifier since it's going to be removed in the next C++0x draft
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@128271
91177308 -0d34-0410-b5e6-
96231b3b80d8
Nick Lewycky [Fri, 25 Mar 2011 01:44:32 +0000 (01:44 +0000)]
Apply the nonnull attribute to constructor expressions too.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@128253
91177308 -0d34-0410-b5e6-
96231b3b80d8
Eli Friedman [Fri, 25 Mar 2011 00:54:52 +0000 (00:54 +0000)]
Switch constant evaluation of float casts over to cast kinds.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@128251
91177308 -0d34-0410-b5e6-
96231b3b80d8
Eli Friedman [Fri, 25 Mar 2011 00:43:55 +0000 (00:43 +0000)]
Cleanup integral and vector constant evaluation of casts to use cast kinds.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@128250
91177308 -0d34-0410-b5e6-
96231b3b80d8