Benjamin Kramer
69865cc1db
Remove dead variable found by clang++.
...
llvm-svn: 88803
2009-11-14 19:51:20 +00:00
Richard Osborne
d5f2745965
Add XCore support for arbitrary-sized aggregate returns.
...
llvm-svn: 88802
2009-11-14 19:33:35 +00:00
Daniel Dunbar
cf5be70032
Improve test to make sure -fixit is really working.
...
llvm-svn: 88801
2009-11-14 19:25:21 +00:00
Anton Korobeynikov
fd0c7bae2a
Temporary disable the error - it seems to be too conservative.
...
llvm-svn: 88800
2009-11-14 18:01:41 +00:00
Benjamin Kramer
8c19a8f17b
Implement DISABLE_INLINE for MSVC. This required changing the position in all
...
forward declaration and patching tblgen to emit it right. Patch by Amine Khaldi!
llvm-svn: 88798
2009-11-14 16:37:18 +00:00
Benjamin Kramer
5e738284d7
Move DISABLE_INLINE to the front of the decl so MSVC can parse it. Patch by Amine Khaldi!
...
llvm-svn: 88797
2009-11-14 16:36:57 +00:00
Mike Stump
1acec6a41a
Build up more of the rtti info for a class. WIP.
...
llvm-svn: 88795
2009-11-14 15:55:18 +00:00
Benjamin Kramer
4197054ece
This test doesn't work on arm either.
...
llvm-svn: 88794
2009-11-14 15:15:39 +00:00
Mike Stump
14718425fa
Add the name to the rtti data structure.
...
llvm-svn: 88792
2009-11-14 14:25:18 +00:00
Benjamin Kramer
56ffa48473
Make NORETURN working with MSVC. MSVC only accepts NORETURN in front of the
...
decl so move it there. GCC accepts it both in front and after decls.
llvm-svn: 88791
2009-11-14 14:14:58 +00:00
Benjamin Kramer
f4c511b026
Change *BugReport constructors to take StringRefs.
...
- Eliminates many calls to std::string.c_str()
- Fixes an invalid read in ReturnStackAddressChecker due to an unsafe call to
StringRef.data() which doesn't guarantee null-termination.
llvm-svn: 88779
2009-11-14 12:08:24 +00:00
Daniel Dunbar
ea956ddf0b
clang-cc: Switch to using FrontendAction. Whee.
...
Please report any discrepancies you see in clang-cc, I'm not confident that our regression tests cover all the fun ways one can use clang-cc.
llvm-svn: 88776
2009-11-14 10:53:49 +00:00
Daniel Dunbar
883578060f
Add FrontendActions for all preprocessor based clang-cc actions.
...
llvm-svn: 88774
2009-11-14 10:42:57 +00:00
Daniel Dunbar
02bd2d7281
Add FrontendActions, which provides a FrontendAction interface to all the existing AST consumer based clang-cc actions.
...
llvm-svn: 88773
2009-11-14 10:42:46 +00:00
Daniel Dunbar
a0ff58dadf
Add FrontendAction interface, for encapsulating a "clang-cc" style action.
...
llvm-svn: 88772
2009-11-14 10:42:35 +00:00
Daniel Dunbar
241d01b590
Add llvm::sys::getHostCPUName, for detecting the LLVM name for the host CPU.
...
- This is an initial step towards -march=native support in Clang, and towards
eliminating host dependencies in the targets. See PR5389.
- Patch by Roman Divacky!
llvm-svn: 88768
2009-11-14 10:09:12 +00:00
Eli Friedman
274ab904d0
Avoid assert-crash in a case where the expression passed to EmitConstantExpr
...
legitimately has side-effects (and needs to be generated as a non-constant).
llvm-svn: 88767
2009-11-14 08:51:33 +00:00
Eli Friedman
b210fc598f
Make __func__ and friends work correctly within the initializer for a static
...
local variable.
llvm-svn: 88766
2009-11-14 08:37:13 +00:00
Daniel Dunbar
1b39a2edff
Shuffle VerifyDiagnosticsClient API to be less fragile.
...
llvm-svn: 88765
2009-11-14 07:53:24 +00:00
Daniel Dunbar
409e890f8d
Add CompilerInstance::InitializeSourceManager.
...
llvm-svn: 88764
2009-11-14 07:53:04 +00:00
Nick Lewycky
7935bcb0fe
Remove LLVMContext from reassociate. It was threaded through every function but
...
ultimately never used.
llvm-svn: 88763
2009-11-14 07:25:54 +00:00
Sanjiv Gupta
d03742a122
revert 88761 as it fails builds.
...
llvm-svn: 88762
2009-11-14 07:22:25 +00:00
Sanjiv Gupta
8f9c22646b
Fix debug info crashes for PIC16.
...
llvm-svn: 88761
2009-11-14 06:19:49 +00:00
Nick Lewycky
c53e2ecf02
Teach BasicAA that a constant expression can't alias memory provably not
...
allocated until runtime (such as an alloca). Patch by Hans Wennborg!
llvm-svn: 88760
2009-11-14 06:15:14 +00:00
Eli Friedman
a9ea959d04
PR5462: Don't run off the edge of the argument array for vararg handling
...
when there are more parameters in the prototype than arguments to the call.
llvm-svn: 88759
2009-11-14 04:43:10 +00:00
Daniel Dunbar
6c39d457fa
Update FixIt tests to make it more obvious they use a separate mode.
...
llvm-svn: 88758
2009-11-14 04:39:42 +00:00
Daniel Dunbar
10563ea92e
Turn -fixit it back into a mode, but make -fixit-at imply that mode this time
...
(instead of running it with arbitrary consumers).
- Also, turn any -fixit-at lookup failure into an error.
llvm-svn: 88757
2009-11-14 04:39:29 +00:00
Eli Friedman
b774685c08
Fix a couple of tests.
...
llvm-svn: 88756
2009-11-14 04:23:25 +00:00
Eli Friedman
b572c92674
PR5483: Generate missing form of destructor when it is virtual. (Someone
...
more familiar with this stuff should double-check that there isn't some more
general rule; this is purely from inspecting g++ output.)
llvm-svn: 88755
2009-11-14 04:19:37 +00:00
Evan Cheng
16797a1f55
Added getSubRegIndex(A,B) that returns subreg index of A to B. Use it to replace broken code in VirtRegRewriter.
...
llvm-svn: 88753
2009-11-14 03:42:17 +00:00
Eli Friedman
c9827d1ad3
Fix for PR5489: don't skip the complete type requrirement for variable
...
definitions just because the type happens to be an array type.
llvm-svn: 88752
2009-11-14 03:40:14 +00:00
Douglas Gregor
bf3f322034
When type-checking a static cast (or the static_cast part of a C-style
...
cast) that is converting to a class type, enumerate its constructors
as in any other direct initialization. This ensures that we get the
proper conversion sequence.
llvm-svn: 88751
2009-11-14 03:27:21 +00:00
Daniel Dunbar
50ec0da0e1
Switch -verify implementation to use VerifyDiagnosticClient.
...
- Not tested, but -verify with multiple inputs should work now.
llvm-svn: 88750
2009-11-14 03:24:39 +00:00
Daniel Dunbar
9d5118a69c
Fix broken tests, exposed by improved -verify.
...
llvm-svn: 88749
2009-11-14 03:24:04 +00:00
Daniel Dunbar
348185548e
Add VerifyDiagnosticsClient, to replace old -verify.
...
- This reimplements -verify as just another DiagnosticClient, which buffers the diagnostics and checks them when the source file is complete. There are some hacks to make this work, but they are all internal, and this exposes a better external interface.
- This also tweaks a few things:
o Errors are now just regular diagnostics.
o Frontend diagnostics are now caught (for example, errors in command line arguments), although there isn't yet a way to specify that they are expected. That would be nice though.
- Not yet used.
llvm-svn: 88748
2009-11-14 03:23:19 +00:00
Anders Carlsson
654e5c7cf8
Diagnose ambiguity of operator delete and operator delete[]. Sebastian, please review.
...
llvm-svn: 88747
2009-11-14 03:17:38 +00:00
Evan Cheng
6ad7da96fe
- Change TargetInstrInfo::reMaterialize to pass in TargetRegisterInfo.
...
- If destination is a physical register and it has a subreg index, use the
sub-register instead.
This fixes PR5423.
llvm-svn: 88745
2009-11-14 02:55:43 +00:00
Daniel Dunbar
e598a56d30
Pass Preprocessor through DiagnosticClient::BeginSourceFile.
...
llvm-svn: 88744
2009-11-14 02:48:04 +00:00
Daniel Dunbar
56d9c293db
Add ASTConsumer to CompilerInstance.
...
llvm-svn: 88743
2009-11-14 02:47:17 +00:00
Dan Gohman
81132465d3
Add an option for running GVN with redundant load processing disabled.
...
llvm-svn: 88742
2009-11-14 02:27:51 +00:00
Fariborz Jahanian
da2efb091d
Generate the old API when sending message to super
...
in a category implementation (objc 32bit api related).
llvm-svn: 88741
2009-11-14 02:18:31 +00:00
Evan Cheng
e3b312fec9
Add radar number.
...
llvm-svn: 88739
2009-11-14 02:11:32 +00:00
Evan Cheng
d2c10508cd
Fix PR5412: Fix an inverted check and another missing sub-register check.
...
llvm-svn: 88738
2009-11-14 02:09:09 +00:00
Dan Gohman
a627e26d39
Enable the tail call optimization when the caller returns undef.
...
llvm-svn: 88737
2009-11-14 02:06:30 +00:00
Anders Carlsson
52ce3bbf57
Handle CXXDefaultArgExprs in EmitLValue. Fixes PR5484.
...
llvm-svn: 88735
2009-11-14 01:51:50 +00:00
Evan Cheng
66401c90da
When expanding t2STRDi8 r, r to two stores, add kill markers correctly.
...
llvm-svn: 88734
2009-11-14 01:50:00 +00:00
Douglas Gregor
ffe14e3712
If we attempt to add a constructor template specialization that looks
...
like a copy constructor to the overload set, just ignore it. This
ensures that we don't try to use such a constructor as a copy
constructor *without* triggering diagnostics at the point of
declaration.
Note that we *do* diagnose such copy constructors when explicitly
written by the user (e.g., as an explicit specialization).
llvm-svn: 88733
2009-11-14 01:20:54 +00:00
Daniel Dunbar
bf410c6fc2
Add static version of Preprocessor::getSpelling.
...
llvm-svn: 88732
2009-11-14 01:20:48 +00:00
Daniel Dunbar
e01dc86d2a
Move CompilerInstance::set* methods out-of-line.
...
llvm-svn: 88731
2009-11-14 01:20:40 +00:00
Ted Kremenek
1a0dd2e30b
Move definition of GRExprEngine::ProcessEndPath() out-of-line.
...
llvm-svn: 88729
2009-11-14 01:05:20 +00:00