Douglas Gregor
385d3fd97d
When checking for abstract types, don't crash when we have a
...
FunctionProtoTypeLoc with NULL function parameter types, which can
occur in invalid code. Fixes PR9247 / <rdar://problem/9037911>.
llvm-svn: 126262
2011-02-22 23:21:06 +00:00
Fariborz Jahanian
bb6db56028
Provide Fixit warning when 'auto' is intended as storage
...
specifier in legacy code. Patch is reviewed offline by Doug.
// rdar://9036633.
llvm-svn: 126261
2011-02-22 23:17:49 +00:00
Greg Clayton
1971900fdc
Don't enable thread safe logging as it currently deadlocks logging.
...
llvm-svn: 126260
2011-02-22 23:08:31 +00:00
Jakob Stoklund Olesen
2329c542e9
Change the RAGreedy register assignment order so large live ranges are allocated first.
...
This is based on the observation that long live ranges are more difficult to
allocate, so there is a better chance of solving the puzzle by handling the big
pieces first. The allocator will evict and split long alive ranges when they get
in the way.
RABasic is still using spill weights for its priority queue, so the interface to
the queue has been virtualized.
llvm-svn: 126259
2011-02-22 23:01:52 +00:00
Jakob Stoklund Olesen
fbad93fa13
80 Col.
...
llvm-svn: 126258
2011-02-22 23:01:49 +00:00
Greg Clayton
76b436e21d
Make logs threadsafe (add the -t option) when logging API stuff.
...
llvm-svn: 126257
2011-02-22 22:59:30 +00:00
Nick Lewycky
fc7222bfc4
Fix C++0x incompatibility. The signature of std::make_pair<> changes from:
...
template <class T1, class T2> pair<T1,T2> make_pair(const T1&, const T2&);
to
template <class T1, class T2> pair<V1, V2> make_pair(T1&&, T2&&);
so explicitly specifying the template arguments to make_pair<> is going to break
when C++0x rolls through. Replace them with equivalent std::pair<>. Patch by
James Dennett!
llvm-svn: 126256
2011-02-22 22:48:47 +00:00
John McCall
147d021b75
Emit the structure layout of the block literal parameter to a block
...
invocation function into the debug info. Rather than faking up a class,
which is tricky because of the custom layout we do, we just emit a struct
directly from the layout information we've already got.
Also, don't emit an unnecessarily parameter alloca for this "variable".
llvm-svn: 126255
2011-02-22 22:38:33 +00:00
John McCall
550d13aebb
Give ImplicitParamDecl a public constructor so that it can be allocated on
...
the stack.
llvm-svn: 126254
2011-02-22 22:25:56 +00:00
Cameron Zwarich
826308586c
Make LoopDeletion work on loops with multiple edges, as long as the incoming
...
values from all of the loop's exiting blocks are equal. Patch by Andrew Clinton.
llvm-svn: 126253
2011-02-22 22:25:39 +00:00
John McCall
b67608fe83
Provide a Decl::getNonClosureContext to look through any "closure" (i.e.
...
block and, eventually, C++ lambda) contexts.
llvm-svn: 126252
2011-02-22 22:25:23 +00:00
Sean Callanan
2d1f4be47a
Fixed a hang in the expression parser's result synthesizer that occurs when the function generated for the expression is completely empty except for a NULL_STMT. This happens sometimes when the parser returns errors.
...
llvm-svn: 126251
2011-02-22 21:52:56 +00:00
Douglas Gregor
996a735b88
We need a longer long when testing this pathe Microsoft fixed-underlying-type extension for enumeration types
...
llvm-svn: 126250
2011-02-22 21:42:31 +00:00
Johnny Chen
5f88bcc16a
Add two convenience functions: DecodeImmShiftThumb() and DecodeImmShiftARM() to ARMUtils.h.
...
Use them within EmulateInstructionARM.cpp to save repetitive typing.
llvm-svn: 126247
2011-02-22 21:17:52 +00:00
Devang Patel
b6ed369e77
A constructor call should force class's debug info even if -flimit-debug-info is enabled.
...
llvm-svn: 126246
2011-02-22 20:55:26 +00:00
Chris Lattner
ba9006df9e
improve support for SUSE Linux Enterprise Server 11 SP1 (x86_64).
...
Patch by Csaba Raduly!
llvm-svn: 126245
2011-02-22 20:47:07 +00:00
Joerg Sonnenberger
b7e635dcad
Use the same (%dx) hack for in[bwl] as for out[bwl].
...
llvm-svn: 126244
2011-02-22 20:40:09 +00:00
Douglas Gregor
a1aec29a2d
Enable enumeration types with a fixed underlying type, e.g.,
...
enum X : long { Value = 0x100000000 };
when in Microsoft-extension mode (-fms-extensions). This (now C++0x)
feature has been supported since Microsoft Visual Studio .NET 2003.
llvm-svn: 126243
2011-02-22 20:32:04 +00:00
Matt Beaumont-Gay
7a24210ebd
Use an unused-except-in-Debug variable.
...
llvm-svn: 126240
2011-02-22 20:00:16 +00:00
Evan Cheng
04ad35b53f
VFP single precision arith instructions can go down to NEON pipeline, but on Cortex-A8 only.
...
llvm-svn: 126238
2011-02-22 19:53:14 +00:00
Johnny Chen
83a4ddd0cb
Add "cmp<c>.w <Rn>, #<const>" emulation to EmulateCMPImm() method,
...
and implement EmulateCMNImm() and EMulateCMNReg() methods.
llvm-svn: 126236
2011-02-22 19:48:22 +00:00
Greg Clayton
681254c830
Remove an assertion that was causing a crash.
...
llvm-svn: 126235
2011-02-22 19:32:07 +00:00
Johnny Chen
aebcfc86df
Fix the 'variants' field of "CMN (immediate)" Encoding T1 entry, it should be ARMV6T2_ABOVE, not ARMvAll.
...
llvm-svn: 126234
2011-02-22 19:01:11 +00:00
Devang Patel
d7185b755d
Use LLVM coding standard.
...
llvm-svn: 126232
2011-02-22 18:56:36 +00:00
Devang Patel
9b4127349c
Follow LLVM coding style.
...
clang uses DBuilder, so it requries corresponding change.
llvm-svn: 126231
2011-02-22 18:56:12 +00:00
Douglas Gregor
e2f943b5cb
Implement the GNU C extension which permits the initialization of an
...
array from a constant array compound literal. Fixes PR9261.
llvm-svn: 126230
2011-02-22 18:29:51 +00:00
Argyrios Kyrtzidis
ed35cf271d
[analyzer] Start moving the path-sensitive checkers to CheckerV2.
...
-Migrate ObjCSelfInitChecker to CheckerV2. In the process remove the 'preCallSelfFlags' field
from the checker class and use GRState for storing that info.
-Get ExprEngine to start delegating checker running to CheckerManager.
llvm-svn: 126229
2011-02-22 17:30:38 +00:00
Argyrios Kyrtzidis
98e35dda03
[analyzer] Separate CheckerContext into its own include file. No functionality change.
...
llvm-svn: 126228
2011-02-22 17:30:32 +00:00
Argyrios Kyrtzidis
b9eae65c63
[analyzer] Fix GRStatePartialTrait<bool> and introduce GRStatePartialTrait<unsigned>.
...
llvm-svn: 126227
2011-02-22 17:30:28 +00:00
Roman Divacky
e8a93fe8f0
Stack alignment is 16 bytes on FreeBSD/i386 too.
...
llvm-svn: 126226
2011-02-22 17:30:05 +00:00
Joerg Sonnenberger
4f864d3111
Bug#9172: Don't use static in file scope, use an attribute on the
...
parser.
llvm-svn: 126225
2011-02-22 16:53:11 +00:00
Oscar Fuentes
ab0465020b
CMake: remove unnecessary variable.
...
llvm-svn: 126224
2011-02-22 15:40:20 +00:00
Joerg Sonnenberger
fe74286a48
Remove the storage for -cxx-system-include. Make libcxx toolchain
...
use -nostdinc++ and -cxx-isystem.
llvm-svn: 126223
2011-02-22 15:19:35 +00:00
Howard Hinnant
80a3cadab7
Jean-Daniel Dupas fixes install directions
...
llvm-svn: 126222
2011-02-22 14:18:34 +00:00
Peter Collingbourne
f29ce975ba
Reimplement __pragma support using a TokenLexer
...
llvm-svn: 126221
2011-02-22 13:49:06 +00:00
Peter Collingbourne
2c9f966600
Make TokenLexer capable of storing preprocessor directive tokens
...
llvm-svn: 126220
2011-02-22 13:49:00 +00:00
Oscar Fuentes
e16dc2a6e7
CMAKE_EXECUTABLE_SUFFIX is undefined when a cmake script is executed
...
with cmake -P ... so we need to deduce the correct executable prefix.
Fixes PR9286.
llvm-svn: 126219
2011-02-22 13:05:15 +00:00
Cameron Zwarich
7cf88763e0
MachineConstantPoolValues are not uniqued, so they need to be freed if they
...
share entries. Add a DenseSet to MachineConstantPool for the MachineCPVs that
it owns.
This will hopefully fix the MC/ARM/elf-reloc-01.ll failure on the leaks bots.
llvm-svn: 126218
2011-02-22 08:54:30 +00:00
NAKAMURA Takumi
7f5aa90d62
Revert r126195, "test/CodeGen/X86/vec_cast.ll: Mark as XFAIL: migw,win32 for workaround of PR8311."
...
It seems it affected configuration --target=i686-pc-mingw32, I don't know and will investigate why.
llvm-svn: 126217
2011-02-22 08:22:54 +00:00
NAKAMURA Takumi
bced59bba7
Relax expressions and add explicit triplets -linux and -win32.
...
llvm-svn: 126216
2011-02-22 07:21:59 +00:00
NAKAMURA Takumi
384490cbe1
Relax expressions and add explicit triplets -linux and -win32.
...
llvm-svn: 126215
2011-02-22 07:21:51 +00:00
NAKAMURA Takumi
2a1ca28203
Relax expressions and add explicit triplets -linux and -win32.
...
llvm-svn: 126214
2011-02-22 07:21:42 +00:00
NAKAMURA Takumi
fae5813d40
Relax expressions and add explicit triplets -linux and -win32.
...
llvm-svn: 126213
2011-02-22 07:21:33 +00:00
NAKAMURA Takumi
4d9d6ed377
Relax expressions and add explicit triplets -linux and -win32.
...
llvm-svn: 126212
2011-02-22 07:21:25 +00:00
NAKAMURA Takumi
af669e5a4e
Relax expressions and add explicit triplets -linux and -win32.
...
On @foobar(double %d, double* %x),
AMD64: (%xmm0, %rdi)
Win64: (%xmm0, %rdx) (not %rcx!)
llvm-svn: 126211
2011-02-22 07:21:17 +00:00
NAKAMURA Takumi
a1e2ed5f1b
Relax expressions and add explicit triplets -linux and -win32.
...
llvm-svn: 126210
2011-02-22 07:21:08 +00:00
NAKAMURA Takumi
e38080bd8e
Relax expressions and add explicit triplets -linux and -win32.
...
llvm-svn: 126209
2011-02-22 07:21:01 +00:00
NAKAMURA Takumi
e463e07bd5
Relax expressions and add explicit triplets -linux and -win32.
...
llvm-svn: 126208
2011-02-22 07:20:52 +00:00
NAKAMURA Takumi
0e9c4e50ac
Relax expressions and add explicit triplets -linux and -win32.
...
llvm-svn: 126207
2011-02-22 07:20:44 +00:00
NAKAMURA Takumi
3632cf8e6b
Relax expressions and add explicit triplets -linux and -win32.
...
llvm-svn: 126206
2011-02-22 07:20:35 +00:00