- Nov 27, 2012
-
-
Jordan Rose authored
Thanks for the original catch in r168303, Takumi. llvm-svn: 168671
-
Rafael Espindola authored
llvm-svn: 168669
-
Daniel Dunbar authored
- This ensures we see the right buffer size for the file. llvm-svn: 168636
-
- Nov 26, 2012
-
-
Michael Han authored
Improve diagnostic on C++11 attribute specifiers that appear at wrong syntactic locations around class specifiers. This change list implemented logic that explicitly detects several combinations of locations where C++11 attribute specifiers might be incorrectly placed within a class specifier. Previously we emit generic diagnostics like "expected identifier" for such cases; now we emit specific diagnostic against the misplaced attributes, this also fixed a bug in old code where attributes appear at legitimate locations were incorrectly rejected. Thanks to Richard Smith for reviewing! llvm-svn: 168626
-
Sebastian Pop authored
Clean up the existing test to use FileCheck. llvm-svn: 168607
-
Anna Zaks authored
The AllocaRegion did not have the superRegion (based on LocationContext) as part of it's hash. As a consequence, the AllocaRegions from different frames were uniqued to be the same region. llvm-svn: 168599
-
Timur Iskhodzhanov authored
llvm-svn: 168583
-
Richard Smith authored
initialization, don't rebuild it. Remove a couple of hacks which were trying to work around this. Fix the special case for one-argument CXXConstructExprs to not apply if the one argument is a default argument. llvm-svn: 168582
-
- Nov 25, 2012
-
-
Rafael Espindola authored
regressed in r168519. llvm-svn: 168563
-
Alexey Samsonov authored
llvm-svn: 168562
-
- Nov 23, 2012
-
-
Benjamin Kramer authored
Fixes PR13758. llvm-svn: 168521
-
Rafael Espindola authored
Decl::isUsed checks the attribute. If the function had a body just the check is DeclMustBeEmitted would be sufficient. llvm-svn: 168514
-
Joey Gouly authored
llvm-svn: 168510
-
- Nov 22, 2012
-
-
Richard Smith authored
specified as a qualified name. llvm-svn: 168479
-
Richard Smith authored
and defined within the current instantiation, but which are not part of the current instantiation. Previously, it would look at bases which could be specialized separately from the current template. llvm-svn: 168477
-
Richard Smith authored
non-trivial special members for varargs calls. llvm-svn: 168476
-
Chandler Carruth authored
Previously, this flag to CC1 was never exposed at the clang driver layer, and if you happened to enable it (by being on Android or GCC 4.7 platform), you couldn't *disable* it, because there was no 'no' variant. The whole thing was confusingly implemented. Now, the target-specific flag processing gets the driver arg list, and we use standard hasFlag with a default based on the GCC version and/or Android platform. The user can still pass the 'no-' variant to forcibly disable the flag, or pass the positive variant to clang itself to enable the flag. The test has also been substantially cleaned up and extended to cover these use cases. llvm-svn: 168473
-
- Nov 21, 2012
-
-
Benjamin Kramer authored
SemaCXX: an enumeral type can be of character or boolean type in a C++11 enum class. Make sure we create a literal of the right type. Fixes PR14386. llvm-svn: 168441
-
Alexey Samsonov authored
llvm-svn: 168431
-
NAKAMURA Takumi authored
FIXME: It could be /dev/null. llvm-svn: 168429
-
Alexey Samsonov authored
[Sanitizer] force linking with static sanitizer runtimes on Darwin even if they are not found in resource directory. Add test checking sanitizer linker flags on Darwin. llvm-svn: 168428
-
Dmitri Gribenko authored
Patch by Philip Craig. llvm-svn: 168420
-
- Nov 19, 2012
-
-
Richard Smith authored
them in order to parse the rest of the file. llvm-svn: 168327
-
Kaelyn Uhrain authored
getUnderlyingDecl()) so that derivatives of CorrectionCandidateCallback::ValidateCandidate(...) don't have to worry about being thrown by UsingDecls and such. llvm-svn: 168317
-
Logan Chien authored
According to Android ABI, we have to link with libdl.so, if we are linking with non-static libgcc. Besides, this also fixes MIPS link error of undefined references to `_Unwind_Find_FDE' and `dl_iterate_phdr'. llvm-svn: 168310
-
Logan Chien authored
The dynamic linker of Android does not support .ctors/.dtors. We should emit .init_array and .fini_array regardless the gcc version. NOTE: This patch does not affect the ARM backend, because it is required to generate .init_array and .fini_array for program targeting ARM AAPCS and AEABI. llvm-svn: 168309
-
NAKAMURA Takumi authored
llvm-svn: 168303
-
Chandler Carruth authored
There were numerous issues here that were all entangled, and so I've tried to do a general simplification of the logic. 1) The logic was mimicing actual GCC bugs, rather than "features". These have been fixed in trunk GCC, and this fixes Clang as well. Notably, the logic was always intended to be last-match-wins like any other flag. 2) The logic for handling '-mdynamic-no-pic' was preposterously unclear. It also allowed the use of this flag on non-Darwin platforms where it has no actual meaning. Now this option is handled directly based on tests of how llvm-gcc behaves, and it is only supported on Darwin. 3) The APIs for the Driver's ToolChains had the implementation ugliness of dynamic-no-pic leaking through them. They also had the implementation details of the LLVM relocation model flag names leaking through. 4) The actual results of passing these flags was incorrect on Darwin in many cases. For example, Darwin *always* uses PIC level 2 if it uses in PIC level, and Darwin *always* uses PIC on 64-bit regardless of the flags specified, including -fPIE. Darwin never compiles in PIE mode, but it can *link* in PIE mode. 5) Also, PIC was not always being enabled even when PIE was. This isn't a supported mode at all and may have caused some fallout in builds with complex PIC and PIE interactions. The result is (I hope) cleaner and clearer for readers. I've also left comments and tests about some of the truly strage behavior that is observed on Darwin platforms. We have no real testing of Windows platforms and PIC, but I don't have the tools handy to figure that out. Hopefully others can beef up our testing here. Unfortunately, I can't test this for every platform. =/ If folks have dependencies on these flags that aren't covered by tests, they may break. I've audited and ensured that all the changes in behavior of the existing tests are intentional and good. In particular I've tried to make sure the Darwin behavior (which is more suprising than the Linux behavior) also matches that of 'gcc' on my mac. llvm-svn: 168297
-
- Nov 18, 2012
-
-
NAKAMURA Takumi authored
llvm-svn: 168278
-
Dmitri Gribenko authored
We actually used to assert on this. Thanks to NAKAMURA Takumi for noticing this! llvm-svn: 168277
-
- Nov 17, 2012
-
-
Fariborz Jahanian authored
of a deprecated method in original class (or category), only in overrides. // rdar://12717705 llvm-svn: 168270
-
Nico Weber authored
This makes LexCharConstant() look more like LexStringLiteral(), which doesn't have this bug. Add tests for eof after \ for several other cases. llvm-svn: 168269
-
Andy Gibbs authored
__has_attribute, __has_extension, making them behave more akin to conventional macros. llvm-svn: 168268
-
Andy Gibbs authored
llvm-svn: 168267
-
Andy Gibbs authored
common LexStringLiteral function. In doing so, some consistency problems have been ironed out (e.g. where the first token in the string literal was lexed with macro expansion, but subsequent ones were not) and also an erroneous diagnostic has been corrected. LexStringLiteral is complemented by a FinishLexStringLiteral function which can be used in the situation where the first token of the string literal has already been lexed. llvm-svn: 168266
-
Andy Gibbs authored
llvm-svn: 168265
-
Benjamin Kramer authored
Also fixes a bit/byte mismatch when checking if a target supports atomic ops of a certain size. llvm-svn: 168260
-
Eli Friedman authored
llvm-svn: 168239
-
- Nov 16, 2012
-
-
Dmitri Gribenko authored
llvm-svn: 168213
-
Chad Rosier authored
This was causing different behavior when using -x objective-c++-cpp-output as compared to -x objc++-cpp-output. Specifically, the driver was not adding the -fcxx-exceptions flag in the latter case. rdar://12680312 llvm-svn: 168212
-