Fariborz Jahanian
3db51d80ec
Change test to compile rewritten test with clang++.
...
llvm-svn: 97756
2010-03-04 21:57:21 +00:00
Fariborz Jahanian
535c9c0ba2
Patch to get around a rewriter bug rewriting storage class
...
on a block API struct definition.
llvm-svn: 97754
2010-03-04 21:35:37 +00:00
Rafael Espindola
bef98689ad
really fix 6473 by handling weakref in constant expressions.
...
llvm-svn: 97750
2010-03-04 21:26:03 +00:00
Chris Lattner
09797543bd
add TCE target support, patch by Pekka J!
...
llvm-svn: 97746
2010-03-04 21:07:38 +00:00
Erick Tryzelaar
e62248a79c
Use LLVM's new DESTDIR-less PROJ_* variables.
...
llvm-svn: 97744
2010-03-04 20:57:19 +00:00
Douglas Gregor
0b46650b66
c-index-test's printing of linkage was completely broken, as was the
...
test of this functionality. The API worked great, though! :)
llvm-svn: 97736
2010-03-04 19:36:27 +00:00
Fariborz Jahanian
8bb35c4d7c
Fixes a bug whereby static const block var has static
...
moved incorrectly. (radar 7714443).
llvm-svn: 97734
2010-03-04 18:54:29 +00:00
Rafael Espindola
2e42fec3a0
Fix PR6473.
...
Clang's support for weakref is now better than llvm-gcc's :-)
We don't introduce a new symbol and we correctly mark undefined references weak only if there is no
definition or regular undefined references in the same file.
llvm-svn: 97733
2010-03-04 18:17:24 +00:00
John McCall
b07d8b56d2
Steal the TARGET lit condition from the LLVM test suite.
...
llvm-svn: 97727
2010-03-04 09:38:07 +00:00
Zhongxing Xu
6f84d46f33
The FIXME is fixed.
...
llvm-svn: 97725
2010-03-04 09:05:58 +00:00
Zhongxing Xu
5cb8d9d40f
When profiling Environment, also profile with AnalysisContext*, bacause
...
we now may have identical states with different analysis context.
Set the right AnalysisContext in state when entering and leaving a callee.
With both of the above changes, we can pass the test case.
llvm-svn: 97724
2010-03-04 09:04:52 +00:00
John McCall
731be6620c
Revert changes r97693, r97700, and r97718.
...
Our testing framework can't deal with disabled targets yet.
llvm-svn: 97719
2010-03-04 04:29:44 +00:00
John McCall
61076e1d87
XFAIL these tests on win32, since the win32 buildbot apparently disables all
...
targets except X86.
llvm-svn: 97718
2010-03-04 04:14:44 +00:00
Eric Christopher
94567c04bb
First start on smmintrin.h, rounding and blending.
...
llvm-svn: 97717
2010-03-04 02:56:19 +00:00
Eric Christopher
cfeceffa27
Add in disabled case as well.
...
llvm-svn: 97716
2010-03-04 02:31:44 +00:00
Eric Christopher
399ffa55d2
Add in -msse4.1 and -msse4.2 options and continuing a rather
...
hacky solution for translating. Expanded on comment explaining
the hack a bit.
llvm-svn: 97714
2010-03-04 02:26:37 +00:00
Eric Christopher
45fa7e60fb
Fix __builtin_ia32_roundss and __builtin_ia32_roundsd definitions.
...
Re-enable test.
llvm-svn: 97707
2010-03-04 01:34:19 +00:00
Fariborz Jahanian
9eba9dfb0c
Refactor local class name mangling and make it
...
ABI conforming.
llvm-svn: 97702
2010-03-04 01:02:03 +00:00
John McCall
81d4d12504
Implement __builtin_dwarf_sp_column().
...
llvm-svn: 97700
2010-03-04 00:44:01 +00:00
Chris Lattner
eaa2778f27
fix a buildbot failure, this was passing for me because the
...
'%t' file was left around on my disk. doh.
llvm-svn: 97699
2010-03-04 00:38:16 +00:00
John McCall
6abe39c61e
Create a TargetMachine whenever we create a CodeGenAction. The codegen of
...
some builtins will rely on target knowledge.
llvm-svn: 97693
2010-03-04 00:23:29 +00:00
Douglas Gregor
cc3f325fa6
Reinstate r97674 with a fix for the assertion that was firing in <list>
...
llvm-svn: 97686
2010-03-03 23:55:11 +00:00
Eric Christopher
6197c1cd8c
Remove the linux c includes part of my last patch.
...
llvm-svn: 97679
2010-03-03 23:27:49 +00:00
Douglas Gregor
979302e14a
Revert r97674; it's causing failures
...
llvm-svn: 97677
2010-03-03 23:26:56 +00:00
Douglas Gregor
f2a42a66e2
Implement disambiguation of base class members via a
...
nested-name-specifier. For example, this allows member access in
diamond-shaped hierarchies like:
struct Base {
void Foo();
int Member;
};
struct D1 : public Base {};
struct D2 : public Base {};
struct Derived : public D1, public D2 { }
void Test(Derived d) {
d.Member = 17; // error: ambiguous cast from Derived to Base
d.D1::Member = 17; // error: okay, modify D1's Base's Member
}
Fixes PR5820 and <rdar://problem/7535045>. Also, eliminate some
redundancy between Sema::PerformObjectMemberConversion() and
Sema::PerformObjectArgumentInitialization() -- the latter now calls
the former.
llvm-svn: 97674
2010-03-03 22:53:40 +00:00
Fariborz Jahanian
281aae6328
Fix code gen bug generating code for
...
((id)cat)->isa. Fixes radar 7709015.
llvm-svn: 97672
2010-03-03 22:09:47 +00:00
Chris Lattner
aabec2fb84
merge asm-2.c into asm.c, remove asm-inout.c because it is
...
XFAIL and already tracked in bugzilla.
llvm-svn: 97671
2010-03-03 21:56:57 +00:00
Chris Lattner
576def7fbe
fix PR6475, we were doing side-effecting stuff in an assert.
...
llvm-svn: 97669
2010-03-03 21:52:23 +00:00
Eric Christopher
114a85381a
Add in more c++ header paths for later gccs under gentoo linux.
...
Add in c header path for various linuxes as well.
Partial patch from Christian Adåker!
llvm-svn: 97666
2010-03-03 21:41:50 +00:00
Fariborz Jahanian
a529c25555
Implements mangling of local class names to
...
fix a code gen crash. This is WIP as not
all ABI cases are covered (there is a FIXME to
this effect). Fixes radar 7696748.
llvm-svn: 97658
2010-03-03 19:41:08 +00:00
Chris Lattner
5cc15e058b
add framework for ARM builtins, Patch by Edmund Grimley Evans!
...
llvm-svn: 97656
2010-03-03 19:03:45 +00:00
Benjamin Kramer
a3b13411fa
Simplify code a bit and remove unneeded semicolons.
...
llvm-svn: 97654
2010-03-03 16:28:47 +00:00
John McCall
515c3c548c
Sketch out an implementation for __builtin_dwarf_cfa. I have no idea
...
why the front-end is calculating the argument to llvm.eh.dwarf.cfa().
llvm-svn: 97653
2010-03-03 10:30:05 +00:00
Ted Kremenek
83b28a2433
Add '-test-print-linkage-source' option to c-index-test
...
to test clang_getCursorLinkage()
llvm-svn: 97648
2010-03-03 06:37:58 +00:00
Ted Kremenek
547f4172b7
Export clang_getCursorLinkage().
...
llvm-svn: 97647
2010-03-03 06:37:30 +00:00
Ted Kremenek
fb4961dfd0
Add clang_getCursorLinkage(), which returns the
...
underlying linkage for the entity referred to by a
CXCursor.
llvm-svn: 97646
2010-03-03 06:36:57 +00:00
John McCall
66769f8544
Implement __builtin_eh_return.
...
llvm-svn: 97643
2010-03-03 05:38:58 +00:00
Anders Carlsson
5b0057c05b
Fix a bug with base offset merging that Devang noticed.
...
llvm-svn: 97641
2010-03-03 04:58:02 +00:00
Douglas Gregor
3e637467d7
Implement name hiding for names found through virtual base subobjects
...
that are hidden by other derived base subobjects reached along a
lookup path that does *not* pass through the hiding subobject (C++
[class.member.lookup]p6). Fixes PR6462.
llvm-svn: 97640
2010-03-03 04:38:46 +00:00
John McCall
d4f4b7f5ee
Add proper target hooks for __builtin_extract_return_address and
...
__builtin_frob_return_address. The implementations for both are
still trivial in the default case.
llvm-svn: 97638
2010-03-03 04:15:11 +00:00
John McCall
1950a11939
Don't emit derived-to-base destructor aliases if we don't have a definition
...
for the base destructor, because aliases to declarations aren't legal.
Fixes PR 6471.
llvm-svn: 97637
2010-03-03 03:40:11 +00:00
Douglas Gregor
0555f7eefa
Refactor CXXRecordDecl::lookupInBases() to push the recursion down a
...
level. No functionality change, and it obeys access control this
time.
llvm-svn: 97634
2010-03-03 02:18:00 +00:00
Ted Kremenek
c9ef64ff67
Use SVN_REVISION, not SVN_VERSION.
...
llvm-svn: 97625
2010-03-03 01:30:39 +00:00
Ted Kremenek
0f0883b918
Fix an algorithmic bug in LiveVariables pointed out by Zhongxing.
...
If an initializer in a DeclStmt references the declared variable, that
extends the liveness of that variable.
llvm-svn: 97624
2010-03-03 01:17:41 +00:00
Douglas Gregor
77709906a4
Revert r97618. Access control sucks
...
llvm-svn: 97621
2010-03-03 01:13:25 +00:00
Ted Kremenek
47307292f1
Make getClangRevision() check that SVN_VERSION is an empty string
...
(even if it is defined). This fixes the issue of this function
returning '0' when SVN_VERSION is defined to be "".
Fixes: <rdar://problem/7663667>
llvm-svn: 97620
2010-03-03 01:02:48 +00:00
Zhongxing Xu
6b11b4e050
Add comments to test case.
...
llvm-svn: 97619
2010-03-03 01:02:48 +00:00
Douglas Gregor
a62a5237fc
Factor out the recursive lookup into C++ base classes into a separate,
...
static function. No functionality change.
llvm-svn: 97618
2010-03-03 01:02:31 +00:00
Douglas Gregor
aa5087f6e5
Initialize your storage, dummy
...
llvm-svn: 97615
2010-03-03 00:29:43 +00:00
Douglas Gregor
a75600b7d8
Don't use echo in the Index test, which I hope will work around an intermittent Windows failure
...
llvm-svn: 97613
2010-03-03 00:03:22 +00:00
Douglas Gregor
832940b321
Eliminate the static map of overridden C++ methods, which was going to
...
come back to bite us at some point.
llvm-svn: 97607
2010-03-02 23:58:15 +00:00
John McCall
6b21eb5c59
Suppress implicit member redeclarations arising from explicit instantiation
...
declarations after the member has been explicitly specialized. We already
did this after explicit instantiation definitions; not doing it for
declarations meant that subsequent definitions would see a previous
member declaration with specialization kind "explicit instantiation decl",
which would then happily get overridden.
Fixes PR 6458.
llvm-svn: 97605
2010-03-02 23:09:38 +00:00
Ted Kremenek
5d2bb1b9b3
[CFG]
...
After discussion with Zhongxing, don't force the initializer of DeclStmts to be
block-level expressions.
This led to some interesting fallout:
[UninitializedValues]
Always visit the initializer of DeclStmts (do not assume they are block-level expressions).
[BasicStore]
With initializers of DeclStmts no longer block-level expressions, this causes self-referencing initializers (e.g. 'int x = x') to no longer cause the initialized variable to be live before the DeclStmt. While this is correct, it caused BasicStore::RemoveDeadBindings() to prune off the values of these variables from the initial store (where they are set to uninitialized). The fix is to back-port some (and only some) of the lazy-binding logic from RegionStore to
BasicStore. Now the default values of local variables are determined lazily as opposed
to explicitly initialized.
llvm-svn: 97591
2010-03-02 21:43:54 +00:00
Ted Kremenek
c3c1b10243
Don't conjure a symbol for DeclStmts when the variable is a C++ reference.
...
llvm-svn: 97590
2010-03-02 21:43:52 +00:00
Rafael Espindola
70e040d552
During codegen assert that any copy assignment, destructor or constructor that
...
we need to synthesize has been marked as used by Sema.
Change Sema to avoid these asserts.
llvm-svn: 97589
2010-03-02 21:28:26 +00:00
Douglas Gregor
5f6bea713b
Bump the default maximum template-instantiation depth to 500, as in
...
GCC. Fixes PR6301.
llvm-svn: 97579
2010-03-02 19:14:36 +00:00
Douglas Gregor
63d08ddda6
Add test case from PR6064, which now works
...
llvm-svn: 97575
2010-03-02 18:48:07 +00:00
Douglas Gregor
dc70c3abc0
Diagnose the declaration of enum templates. Also, be a bit more
...
careful about value-dependent enumerators. Fixes PR5786.
llvm-svn: 97570
2010-03-02 17:53:14 +00:00
Kovarththanan Rajaratnam
daca645655
Move Emit24 to clang::io
...
llvm-svn: 97569
2010-03-02 17:41:26 +00:00
Douglas Gregor
9bc6b7fc53
Use CXXTemporaryObjectExpr for explicitly-constructed temporaries. We
...
used to do this, but it got lost when we switched functional-style
cast syntax over to using the new initialization code. Fixes PR6457.
llvm-svn: 97568
2010-03-02 17:18:33 +00:00
Charles Davis
dde71b93da
Pass -m32 and -m64 to the static analyzer when using scan-build. Now we can
...
use scan-build with Wine, for example.
Ted, I hope this is OK.
llvm-svn: 97566
2010-03-02 15:26:41 +00:00
Zhongxing Xu
d497e126cb
Register all parameters even if they didn't occur in the function body.
...
We may query their liveness because they are added to store when passing
argument values.
llvm-svn: 97562
2010-03-02 10:08:30 +00:00
Douglas Gregor
b30f22b911
Unify initializer-instantiation code for variable declarations and
...
base/member initializers.
llvm-svn: 97560
2010-03-02 07:38:39 +00:00
Anders Carlsson
93b1b49082
Simplify code.
...
llvm-svn: 97551
2010-03-02 05:40:45 +00:00
John McCall
b6cc2c0439
Inspired by seeing "MIPS" go by in the commits, I've gone ahead and
...
implemented a (codegen) target hook for __builtin_extend_pointer.
I'm also making it return a uint64_t instead of an unsigned word; this
comports with typical usage (i.e. the one use I know of).
I don't know if any of the existing targets requires this hook to be
set (other than x86 and x86_64, which I know do not).
llvm-svn: 97547
2010-03-02 03:50:12 +00:00
Anders Carlsson
6f1f002651
Rename BaseOffset to Offset and make it signed in preparation of more construction vtable work.
...
llvm-svn: 97546
2010-03-02 03:44:06 +00:00
Eric Christopher
0b26a616eb
Add in some more MIPS command line options.
...
Patch by Oleksandr Tymoshenko!
llvm-svn: 97544
2010-03-02 02:41:08 +00:00
John McCall
4b613fae35
After much consultation aimed at figuring out what this builtin actually
...
does, document the results and then implement __builtin_extend_pointer for
platforms where it's a no-op.
llvm-svn: 97540
2010-03-02 02:31:24 +00:00
Douglas Gregor
c3eb801671
Add test case from PR5812, which works now.
...
llvm-svn: 97535
2010-03-02 01:36:28 +00:00
Douglas Gregor
1d85d2903b
Fix an amusing typo that completely the re-introduction of parameters
...
for the purposes of parsing default arguments. In effect, we would
re-introduce the parameter with a default argument N times (where N is
the number of parameters preceding the parameter with a default
argument). This showed up when a defaulted parameter of a member
function of a local class shadowed a parameter of the enclosing
function. Fixes PR6383.
llvm-svn: 97534
2010-03-02 01:29:43 +00:00
Fariborz Jahanian
db217c4bad
Cast a pointer to 'long long' to satisfy all compilation models.
...
Satisfies radar 7703202.
llvm-svn: 97532
2010-03-02 01:19:04 +00:00
Douglas Gregor
53db22c7aa
Add comment
...
llvm-svn: 97528
2010-03-02 00:25:00 +00:00
Douglas Gregor
d29f2799b7
When we're parsing template names as part of base-specifiers, we are
...
*not* entering the context of the nested-name-specifier. This was
causing us to look into an uninstantiated template that we shouldn't
look into. Fixes PR6376.
llvm-svn: 97524
2010-03-01 23:49:23 +00:00
John McCall
bd8d9bd39c
Split out types that are non-canonical unless dependent as their own
...
category. Use this in a few places to eliminate unnecessary TST cases and
do some future-proofing. Provide terrible manglings for typeof. Mangle
decltype with some hope of accuracy.
Our manglings for some of the cases covered in the testcase are different
from gcc's, which I've raised as an issue with the ABI list.
llvm-svn: 97523
2010-03-01 23:49:17 +00:00
Fariborz Jahanian
f4609d431f
More rewriter of nested blocks fun stuff.
...
Radar 7696893.
llvm-svn: 97520
2010-03-01 23:36:21 +00:00
Douglas Gregor
ea99b5d736
Unbreak the build
...
llvm-svn: 97519
2010-03-01 23:31:19 +00:00
Douglas Gregor
9a28e84b32
Keep an explicit stack of function and block scopes, each element of
...
which has the label map, switch statement stack, etc. Previously, we
had a single set of maps in Sema (for the function) along with a stack
of block scopes. However, this lead to funky behavior with nested
functions, e.g., in the member functions of local classes.
The explicit-stack approach is far cleaner, and we retain a 1-element
cache so that we're not malloc/free'ing every time we enter a
function. Fixes PR6382.
Also, tweaked the unused-variable warning suppression logic to look at
errors within a given Scope rather than within a given function. The
prior code wasn't looking at the right number-of-errors count when
dealing with blocks, since the block's count would be deallocated
before we got to ActOnPopScope. This approach works with nested
blocks/functions, and gives tighter error recovery.
llvm-svn: 97518
2010-03-01 23:15:13 +00:00
Chandler Carruth
a419dbb5ea
Fix the lookup of names used in a friend declaration to not attempt to
...
re-declare them. This fixes PR6317. Also add the beginnings of an interesting
test case for p1 of [class.friend] which also covers PR6317.
llvm-svn: 97499
2010-03-01 21:17:36 +00:00
Chris Lattner
efc83e60d3
fix PR5933: don't warn about unused variables if a function has other errors in it.
...
llvm-svn: 97498
2010-03-01 21:06:03 +00:00
Chris Lattner
30d0cfda35
Implement jump checking for initialized c++ variables, implementing
...
a fixme and PR6451.
Only perform jump checking if the containing function has no errors,
and add the infrastructure needed to do this.
On the testcase in the PR, we produce:
t.cc:6:3: error: illegal goto into protected scope
goto later;
^
t.cc:7:5: note: jump bypasses variable initialization
X x;
^
llvm-svn: 97497
2010-03-01 20:59:53 +00:00
Chris Lattner
e1582706b0
avoid issues with the new scope protector. Previously we'd error
...
with "address taken of label in protected scope, jump to it would have unknown effect on scope"
llvm-svn: 97495
2010-03-01 20:56:44 +00:00
Douglas Gregor
4f13beb8b6
Start detangling the BlockSemaInfo/Sema mess. No functionality change.
...
llvm-svn: 97494
2010-03-01 20:44:28 +00:00
Ted Kremenek
80263e5905
Allow a '0' precision in format strings (as the man page says it is okay).
...
Fixes <rdar://problem/7700339>.
llvm-svn: 97482
2010-03-01 19:22:33 +00:00
John McCall
de9607bc6f
The latest draft uses 'dt' to mangle member expressions, and now so do we.
...
llvm-svn: 97479
2010-03-01 19:12:25 +00:00
Douglas Gregor
79e31db9a9
When looking for a redeclaration of a static variable, only look for redeclarations. Fixes PR6449
...
llvm-svn: 97478
2010-03-01 19:11:54 +00:00
Douglas Gregor
aff9c1a033
When instantiating a function-scoped enum, make sure that it and its
...
enumeration constants get placed into the local instantiation hash
table. Fixes PR6375.
llvm-svn: 97471
2010-03-01 19:00:07 +00:00
Douglas Gregor
604c30299d
Robustify instantiation of templates when there are errors in the
...
template definition. Do this both by being more tolerant of errors in
our asserts and by not dropping a variable declaration completely when
its initializer is ill-formed. Fixes the crash-on-invalid in PR6375,
but not the original issue.
llvm-svn: 97463
2010-03-01 18:27:54 +00:00
John McCall
8bc2a70dfe
Don't infinite-loop if TryAnnotateCXXScopeToken fails to annotate but doesn't
...
signal an error. This can happen even when the current token is '::' if
this is a ::new or ::delete expression.
This was an oversight in my recent parser refactor; fixes PR 5825.
llvm-svn: 97462
2010-03-01 18:20:46 +00:00
Douglas Gregor
2528936379
Finish pushing source-location information though TreeTransform's
...
TransformDefinition.
llvm-svn: 97445
2010-03-01 17:25:41 +00:00
Douglas Gregor
a04f2ca19a
When looking for the instantiated declaration that corresponds to a
...
given declaration in a template, make sure that the context we're
searching through is complete. Fixes PR6376.
llvm-svn: 97444
2010-03-01 15:56:25 +00:00
Zhongxing Xu
6d3cc382df
Since now we store the cast type with an ElementRegion, there is
...
no need to store a type with SymbolRegionValue.
llvm-svn: 97437
2010-03-01 06:56:52 +00:00
Zhongxing Xu
b0e5c27113
Assert when loading from a code text region instead of returning an unknown silently.
...
llvm-svn: 97436
2010-03-01 05:29:02 +00:00
Zhongxing Xu
aba9436f85
Add comments.
...
llvm-svn: 97435
2010-03-01 03:48:10 +00:00
Douglas Gregor
a070ffa7b8
Don't warn about case-value conversions from a negative value to a
...
larger unsigned value, since this is implementation-defined
behavior. (We previously suppressed this warning when converting from
a signed value to an unsigned value of the same size).
llvm-svn: 97430
2010-03-01 01:04:55 +00:00
Chandler Carruth
b30f39a4ae
Pass '-no-canonical-prefixes' on down to GCC. It's not specific to the Clang
...
driver and was in fact based on a feature in GCC. =]
llvm-svn: 97424
2010-02-28 22:33:07 +00:00
Douglas Gregor
a51c67424e
Improve name mangling for dependently-scoped declaration references.
...
llvm-svn: 97422
2010-02-28 22:05:49 +00:00
Douglas Gregor
5610db6923
Add name mangling for DeclRefExprs that refer to external names
...
llvm-svn: 97418
2010-02-28 21:40:32 +00:00
Anders Carlsson
5b79c31471
Remove debug output.
...
llvm-svn: 97407
2010-02-28 18:39:30 +00:00
Anders Carlsson
7162ab947b
Handle unused functions in construction vtables correctly.
...
llvm-svn: 97406
2010-02-28 18:37:33 +00:00
Chris Lattner
73a9c7d891
pull some altivec stuff out of line.
...
llvm-svn: 97405
2010-02-28 18:33:55 +00:00
Douglas Gregor
e489a7d3d3
Warn about the deprecated string literal -> char* conversion. Fixes PR6428.
...
llvm-svn: 97404
2010-02-28 18:30:25 +00:00
Chris Lattner
fd48afe412
Implement PR6423 by using one token of lookahead to disambiguate
...
an *almost* always incorrect case. This only does the lookahead
in the insanely unlikely case, so it shouldn't impact performance.
On this testcase:
struct foo {
}
typedef int x;
Before:
t.c:3:9: error: cannot combine with previous 'struct' declaration specifier
typedef int x;
^
After:
t.c:2:2: error: expected ';' after struct
}
^
;
llvm-svn: 97403
2010-02-28 18:18:36 +00:00
Anders Carlsson
8b37bb7c48
When laying out vtables for virtual bases in construction vtables, we need to check if the vtable is a primary base in the layout class.
...
llvm-svn: 97402
2010-02-28 18:08:38 +00:00
Anders Carlsson
b15d8c57ad
Add another construction vtable test.
...
llvm-svn: 97401
2010-02-28 17:59:36 +00:00
John McCall
1629149103
Support constant-evaluation of __builtin_nans* as well as the correct constant
...
evaluation of __builtin_nan*. Most of the work to make this work is in LLVM.
Fixes <rdar://problem/7696712> and part of PR 5255.
llvm-svn: 97383
2010-02-28 13:00:19 +00:00
Zhongxing Xu
7ba9e99015
Use getBody() to get the function definition when the decl referenced is not
...
definition.
llvm-svn: 97373
2010-02-28 06:39:11 +00:00
Ted Kremenek
9704635375
Fix typo.
...
llvm-svn: 97365
2010-02-28 05:14:08 +00:00
Anders Carlsson
e3385f566b
More improvements to construction vtables; we know handle vbase offsets correctly (I hope).
...
llvm-svn: 97361
2010-02-28 01:43:58 +00:00
Dan Gohman
357421ea12
Opt into the Verifier now that it's an opt-in feature of
...
addPassesToEmitFile.
llvm-svn: 97358
2010-02-28 00:55:40 +00:00
Anders Carlsson
62c6c72bab
Pass information about whether a base is virtual or not down to getCtorVtable, we need this information in the vtable builder.
...
llvm-svn: 97356
2010-02-28 00:36:23 +00:00
Anders Carlsson
31f595f5ef
Add new function.
...
llvm-svn: 97353
2010-02-28 00:10:58 +00:00
Anders Carlsson
f98b47d3b9
Fix to dumpLayout; we want to be able to dump address points even if the vtable doesn't have any methods.
...
llvm-svn: 97350
2010-02-27 23:58:01 +00:00
Nick Lewycky
48f74d2c9a
Debian sid moved these headers into /4.4 and left /4.4.3 as a symlink. Update.
...
Also, add support for 32-bit x86 Debian sid.
llvm-svn: 97347
2010-02-27 22:35:43 +00:00
Anders Carlsson
c3f92a16f2
Add a simple construction vtable test.
...
llvm-svn: 97344
2010-02-27 21:09:00 +00:00
Anders Carlsson
9391375d95
Start fleshing out construction vtable support.
...
llvm-svn: 97342
2010-02-27 20:39:05 +00:00
Anders Carlsson
603d7d1910
Enable the new vtable layout code for vtables that aren't construction vtables. (This doesn't mean that we emit LLVM IR using it yet, it just means that it's running and hopefully not crashing or asserting).
...
llvm-svn: 97341
2010-02-27 20:02:53 +00:00
Anders Carlsson
9f19aaaa3a
Move ComputeThisAdjustmentBaseOffset to VtableBuilder.
...
llvm-svn: 97340
2010-02-27 19:57:44 +00:00
Anders Carlsson
b26c2abac7
Make sure to insert the primary base in the set :)
...
llvm-svn: 97339
2010-02-27 19:51:04 +00:00
Anders Carlsson
e02a926a1c
Use the real base offset when calculating vbase offsets.
...
llvm-svn: 97338
2010-02-27 19:21:58 +00:00
Anders Carlsson
4d0729a7cc
Figured out why the test was failing, this will hopefully fix it.
...
llvm-svn: 97336
2010-02-27 19:00:53 +00:00
Anders Carlsson
2b381bbb5c
Don't add this adjustments for pure virtual member functions.
...
llvm-svn: 97334
2010-02-27 18:16:50 +00:00
Anders Carlsson
01d3c7da60
We want to store method info for unused functions.
...
llvm-svn: 97333
2010-02-27 18:09:40 +00:00
Anders Carlsson
ec27c49d6c
XFAIL this for now. I have no idea why this test is failing on some machines. Looks like some sort of whitespace issue in FileCheck.
...
llvm-svn: 97332
2010-02-27 18:09:05 +00:00
Benjamin Kramer
718f722271
Revert 97324. Chris says this cleanup could hurt -E performance.
...
llvm-svn: 97331
2010-02-27 18:02:51 +00:00
Benjamin Kramer
a197fb6731
Move method out-of-line. I thought this would be a candidate for inlining but I was wrong.
...
llvm-svn: 97330
2010-02-27 17:05:45 +00:00
Anders Carlsson
e6528ed7c5
Add another test.
...
llvm-svn: 97329
2010-02-27 16:55:58 +00:00
Anders Carlsson
4068798cbc
Finish up the changes to this adjustments.
...
llvm-svn: 97328
2010-02-27 16:52:49 +00:00
Benjamin Kramer
53fa347ee6
Another trivial getSpelling simplification.
...
llvm-svn: 97327
2010-02-27 16:29:36 +00:00
Anders Carlsson
d46ed89d79
Stub out more of the 'this' pointer adjustment fixes I've been planning. Start using a set vector for primary bases so they will be ordered.
...
llvm-svn: 97326
2010-02-27 16:18:19 +00:00
Benjamin Kramer
b14e0b637a
Simplify code.
...
llvm-svn: 97324
2010-02-27 14:22:08 +00:00
Benjamin Kramer
c5c65d2993
Fix thinko.
...
llvm-svn: 97323
2010-02-27 14:15:42 +00:00
Benjamin Kramer
0a1abd4088
Add an overload of Preprocessor::getSpelling which takes a SmallVector and
...
returns a StringRef. Use it to simplify some repetitive code.
llvm-svn: 97322
2010-02-27 13:44:12 +00:00
Ted Kremenek
09597b461d
Fix crasher caused by setting a bit in a possibly empty bitvector while
...
doing printf format string checking. This is a recent regression.
llvm-svn: 97318
2010-02-27 08:34:51 +00:00
Kovarththanan Rajaratnam
9a3f55c2a4
Wire up Daniel's new spiffy C interpreter into the CMake build system
...
llvm-svn: 97311
2010-02-27 07:46:49 +00:00
Kovarththanan Rajaratnam
7cfffceec7
Add comment
...
llvm-svn: 97309
2010-02-27 07:06:44 +00:00
Kovarththanan Rajaratnam
fa0a4bcb55
Add header + comments
...
llvm-svn: 97308
2010-02-27 07:05:56 +00:00
Anders Carlsson
d2025417ef
Fix another vtable layout bug; we weren't looking hard enough for overriden functions when determining if an overrider will ever be used.
...
llvm-svn: 97306
2010-02-27 06:38:03 +00:00
Anders Carlsson
d69b2f93ea
Handle vcall offset sharing between destructors.
...
llvm-svn: 97304
2010-02-27 04:12:52 +00:00
Anders Carlsson
b08aaa3e10
Fix a bug where we were generating an unnecessary vtable for a virtual base that's already a primary virtual base.
...
llvm-svn: 97303
2010-02-27 04:05:52 +00:00
Zhongxing Xu
e334bb1a66
Add test case for inlining call analysis.
...
llvm-svn: 97300
2010-02-27 02:44:37 +00:00
Douglas Gregor
b8b9f28e24
Robustify SourceManager::getLocation(), so that it returns an
...
end-of-line source location when given a column number beyond the
length of the line, or an end-of-file source location when given a
line number beyond the length of the file. Previously, we would return
an invalid location.
llvm-svn: 97299
2010-02-27 02:42:25 +00:00
Ted Kremenek
af11dcf348
Add reference to positional arguments documentation.
...
llvm-svn: 97298
2010-02-27 01:46:29 +00:00
Ted Kremenek
d166819c26
For printf format string checking, add support for positional format strings.
...
Along the way, coelesce some of the diagnostics.
llvm-svn: 97297
2010-02-27 01:41:03 +00:00
Douglas Gregor
89a56c561f
When given unsaved files in clang_createTranslationUnitFromSourceFile,
...
copy the source buffers provided rather than referencing them
directly, so that the caller can free those buffers immediately after
calling clang_createTranslationUnitFromSourceFile(). Otherwise, we
risk hitting those buffers later (when building source ranges, forming
diagnostics, etc.).
llvm-svn: 97296
2010-02-27 01:32:48 +00:00
Douglas Gregor
beab56e923
Skip dependent virtual base classes; fixes PR6413.
...
llvm-svn: 97291
2010-02-27 00:25:28 +00:00
John McCall
013b006557
Put BadLiteral in the NonGCC group. I'd completely forgotten about this.
...
llvm-svn: 97286
2010-02-26 23:48:57 +00:00
John McCall
62abc944d6
At sabre's request, drop the FP bounds diagnostics down to warnings and file
...
them under -Wbad-literal. They're still on by default.
llvm-svn: 97284
2010-02-26 23:35:57 +00:00
Fariborz Jahanian
6005bd821c
Prevent rewriter crash when variable type is missing.
...
Fixes radar 7692183.
llvm-svn: 97281
2010-02-26 22:49:11 +00:00
Fariborz Jahanian
be730c9e34
Minor cleanup of the rewriter.
...
llvm-svn: 97280
2010-02-26 22:36:30 +00:00
Fariborz Jahanian
9bbc148e16
Removed some unused code in rewriter.
...
llvm-svn: 97274
2010-02-26 21:46:27 +00:00