summaryrefslogtreecommitdiffstats
path: root/clang/test
Commit message (Collapse)AuthorAgeFilesLines
* If the headermap maps the filename to a framework include ("Foo.h" -> ↵Argyrios Kyrtzidis2014-02-143-0/+12
| | | | | | | | | | | | | | "Foo/Foo.h"), continue header lookup using the framework include as filename. This allows us to conveniently treat #import "Foo.h" as an implicit module import if we can resolve "Foo/Foo.h" as such. rdar://16042979 llvm-svn: 201419
* Enable generation of unwind tables when building with sanitizers.Evgeniy Stepanov2014-02-141-0/+11
| | | | llvm-svn: 201391
* Enable AArch64 NEON by default.Jiangning Liu2014-02-142-2/+4
| | | | llvm-svn: 201384
* Add a command line option -gdwarf-aranges that will turn on emittingEric Christopher2014-02-141-1/+5
| | | | | | the dwarf .debug_aranges section. llvm-svn: 201379
* Debug info: Make DWARF4 the default for Darwin, too.Adrian Prantl2014-02-143-15/+4
| | | | llvm-svn: 201375
* Enable correcting a member declaration where the type is class template,Kaelyn Uhrain2014-02-131-0/+11
| | | | | | | | | and the class name is shadowed by another member. Recovery still needs to be figured out, which is non-trivial since the parser has already gone down a much different path than if it had recognized the class template as type instead of seeing the member that shadowed the class template. llvm-svn: 201360
* Re-commit: Demote EmitRawText call in AsmPrinter::EmitInlineAsm() and remove ↵Daniel Sanders2014-02-132-5/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | hasRawTextSupport() call Summary: AsmPrinter::EmitInlineAsm() will no longer use the EmitRawText() call for targets with mature MC support. Such targets will always parse the inline assembly (even when emitting assembly). Targets without mature MC support continue to use EmitRawText() for assembly output. The hasRawTextSupport() check in AsmPrinter::EmitInlineAsm() has been replaced with MCAsmInfo::UseIntegratedAs which when true, causes the integrated assembler to parse inline assembly (even when emitting assembly output). UseIntegratedAs is set to true for targets that consider any failure to parse valid assembly to be a bug. Target specific subclasses generally enable the integrated assembler in their constructor. The default value can be overridden with -no-integrated-as. All tests that rely on inline assembly supporting invalid assembly (for example, those that use mnemonics such as 'foo' or 'hello world') have been updated to disable the integrated assembler. Changes since review (and last commit attempt): - Fixed test failures that were missed due to configuration of local build. (fixes crash.ll and a couple others). - Fixed tests that happened to pass because the local build was on X86 (should fix 2007-12-17-InvokeAsm.ll) - mature-mc-support.ll's should no longer require all targets to be compiled. (should fix ARM and PPC buildbots) - Object output (-filetype=obj and similar) now forces the integrated assembler to be enabled regardless of default setting or -no-integrated-as. (should fix SystemZ buildbots) Reviewers: rafael Reviewed By: rafael CC: llvm-commits Differential Revision: http://llvm-reviews.chandlerc.com/D2686 llvm-svn: 201333
* XCore target pass -v flag to assembler & linkerRobert Lytton2014-02-131-3/+4
| | | | llvm-svn: 201312
* XCore target -fexceptions flag handlingRobert Lytton2014-02-131-0/+15
| | | | | | | XCore target has -fno-exception as the default option Pass on "-fexceptions" flag to xcc (linker) llvm-svn: 201310
* Add EXPERIMENTAL --rtlib=compiler-rt to GNU ClangRenato Golin2014-02-131-0/+40
| | | | | | | | | | | | | | | | | | This commit is not strictly correct nor accounts for all uses (shared objects, for example), but it allows one to test the compiler-rt library on GNU targets. Using this patch to run the test-suite has already shown me problems on ARM. Since this is a Darwin-only flag, nobody is using it, so it shouldn't be a problem. I will need extension to deal with the shared cases, but since we're not compiling libclang_rt.so, that's not yet applicable. Many other problems will have to be fixed first in compiler-rt (such as removing the 'arch' name from it and making it trully multi-arch, moving it to the default lib directory, make both .a and .so variants, etc). llvm-svn: 201307
* [OPENMP] 'if' clause support (no CodeGen support)Alexey Bataev2014-02-132-6/+49
| | | | llvm-svn: 201297
* There is no std namespace for standards-based attributes. Removing the scope ↵Aaron Ballman2014-02-131-3/+0
| | | | | | qualifier and updating the only affected test case. llvm-svn: 201294
* Fixing a compiler assertion with zero-width bit-fields in packed structs.Yunzhong Gao2014-02-131-0/+15
| | | | | | | | | According to the GNU docs, zero-sized bitfields should not be affected by the packed attribute. Differential Revision: http://llvm-reviews.chandlerc.com/D2693 llvm-svn: 201288
* ms_struct layout replaces platform-specific behavior likeJohn McCall2014-02-131-0/+43
| | | | | | | | | useBitFieldTypeAlignment() and appears to ignore the special bit-packing semantics of __attribute__((packed)). Further flesh out an already-extensive comment. llvm-svn: 201282
* Change testcase to use FileCheck.John McCall2014-02-131-17/+22
| | | | llvm-svn: 201281
* Fix some -Wdocumentation warnings in Sema.h and try to fix test for win64Reid Kleckner2014-02-131-1/+1
| | | | llvm-svn: 201278
* MS ABI: Implement #pragma vtordisp() and clang-cl /vdNReid Kleckner2014-02-123-2/+184
| | | | | | | | | | | | | | | | | These features are new in VS 2013 and are necessary in order to layout std::ostream correctly. Currently we have an ABI incompatibility when self-hosting with the 2013 stdlib in our convertible_fwd_ostream wrapper in gtest. This change adds another implicit attribute, MSVtorDispAttr, because implicit attributes are currently the best way to make sure the information stays on class templates through instantiation. Reviewers: majnemer Differential Revision: http://llvm-reviews.chandlerc.com/D2746 llvm-svn: 201274
* Remove FIXME and hardcoded triple from this test (PR18251)Hans Wennborg2014-02-121-3/+1
| | | | | | We don't support using the MS ABI with non-x86/x86_64 targets anyway. llvm-svn: 201260
* Sema: Restrict alignment to 2**28.David Majnemer2014-02-121-0/+1
| | | | | | | | Allowing alignment past this point causes wrap around within clang. N.B. GCC has the same restriction. llvm-svn: 201254
* relax testcase and make ppc64 buildbots happy.Adrian Prantl2014-02-121-4/+4
| | | | llvm-svn: 201250
* libclang: report error code for bad PCH filesDmitri Gribenko2014-02-122-1/+15
| | | | | | | | | | | | | | | | | | | This commit improves libclang to report the error condition when CXTranslationUnit can not be created because of a stale PCH file. This allows the caller, for example, to rebuild the PCH file and retry the request. There two are APIs in libclang that return a CXTranslationUnit and don't support reporting detailed errors (the only error condition is a NULL result). For these APIs, a second, superior, version is introduced -- clang_createTranslationUnit2 and clang_parseTranslationUnit2. These functions return a CXTranslationUnit indirectly and also return an error code. Old functions are still supported and are nothing more than convenience wrappers that ignore extended error codes. As a cleanup, this commit also categorizes some libclang errors in the functions I had to modify anyway. llvm-svn: 201249
* Document and improve the debug-property-synth.m test based on theAdrian Prantl2014-02-121-6/+22
| | | | | | information provided in the referenced radar. llvm-svn: 201248
* Revert "Remove bad debug info test."Adrian Prantl2014-02-121-0/+20
| | | | | | | | This reverts commit r201183. The test, albeit undocumented and badly written is still testing something useful. It will be updated in a subsequent commit. llvm-svn: 201247
* Revert r201237+r201238: Demote EmitRawText call in ↵Daniel Sanders2014-02-122-6/+5
| | | | | | | | AsmPrinter::EmitInlineAsm() and remove hasRawTextSupport() call It introduced multiple test failures in the buildbots. llvm-svn: 201241
* Arcanist failed to commit the two clang test corrections that should have ↵Daniel Sanders2014-02-122-5/+6
| | | | | | been in r201237. llvm-svn: 201238
* ARM & NEON: add test for r101232Tim Northover2014-02-121-0/+217
| | | | | | rdar://problem/16035743 llvm-svn: 201233
* Don't use find | xargs in ↵Dmitri Gribenko2014-02-121-3/+3
| | | | | | | | test/Modules/fmodules-validate-once-per-build-session.c With -fdisable-module-hash, we can implement this with a simple 'cp'. llvm-svn: 201231
* clang/test/Modules/fmodules-validate-once-per-build-session.c: Tweak for ↵NAKAMURA Takumi2014-02-121-3/+3
| | | | | | | | gnuwin32 with %/t (instead of %t). xargs didn't handle dosish paths, while find foo\bar\ emits dosish paths. llvm-svn: 201228
* 'svn add' files I forgot for r201224 (Add an option to allow Clang verifyDmitri Gribenko2014-02-121-0/+45
| | | | | | source files for a module only once during) llvm-svn: 201225
* Add an option to allow Clang verify source files for a module only once duringDmitri Gribenko2014-02-121-0/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | the build When Clang loads the module, it verifies the user source files that the module was built from. If any file was changed, the module is rebuilt. There are two problems with this: 1. correctness: we don't verify system files (there are too many of them, and stat'ing all of them would take a lot of time); 2. performance: the same module file is verified again and again during a single build. This change allows the build system to optimize source file verification. The idea is based on the fact that while the project is being built, the source files don't change. This allows us to verify the module only once during a single build session. The build system passes a flag, -fbuild-session-timestamp=, to inform Clang of the time when the build started. The build system also requests to enable this feature by passing -fmodules-validate-once-per-build-session. If these flags are not passed, the behavior is not changed. When Clang verifies the module the first time, it writes out a timestamp file. Then, when Clang loads the module the second time, it finds a timestamp file, so it can compare the verification timestamp of the module with the time when the build started. If the verification timestamp is too old, the module is verified again, and the timestamp file is updated. llvm-svn: 201224
* [ARM] Fix NEON wrongly being enabled with soft-float when targeting ↵Amara Emerson2014-02-121-1/+6
| | | | | | | | armv8/Cortex-A53/A57. This was caused by r200708 which enabled the crypto feature for these cores. llvm-svn: 201223
* MS ABI: vptr injection should obey alignment requirementsDavid Majnemer2014-02-121-0/+45
| | | | | | | | | | | | | vptr injection must inject padding equivalent to the alignment of the most aligned non-virtual subobject, not the alignment of the enclosing record. To fascilitate this change, don't let record layout observe the alignment of the record until we've injected our vptrs. Also, do not allow the alignment of vbases to affect required alignment until just before we insert the vtordisp field. llvm-svn: 201199
* Remove bad debug info test.David Blaikie2014-02-111-20/+0
| | | | | | | | | | Another test that's testing through assembly from Clang which is problematic. An attempt to upgrade this to just be an IR-generation test was unsuccessful (I was unable to get this test to fail) but it looks like there's other, better, test coverage in this area (test/CodeGenObjC/debuginfo-properties.m) anyway. llvm-svn: 201183
* Remove bad debug info test.David Blaikie2014-02-111-36/+0
| | | | | | | | | | | | | | This test case doesn't belong in Clang (it's testing IndVarSimplify) but in an effort to reproduce the test case this was intended to cover (by essentially reverting r134441) I wasn't able to reproduce the failure this test case should've produced. So I haven't ported this down to LLVM, instead I'm just deleting it. I suspect the test is just underconstrained, but I've no great interest in trying hard to fix it right now - if anyone else wants to, I'd be more than welcome to that. llvm-svn: 201178
* MS ABI: Add support for the -vm{b,g,s,m,v} flagsDavid Majnemer2014-02-112-7/+68
| | | | | | | | | These flags control the inheritance model initially used by the translation unit. Differential Revision: http://llvm-reviews.chandlerc.com/D2741 llvm-svn: 201175
* [Sema] Revert the change in r200622 that allowed integer casts to silence ↵Argyrios Kyrtzidis2014-02-111-2/+2
| | | | | | | | | | -Wnon-literal-null-conversion in C code. It is actually useful to warn in such cases, thanks to Dmitri for pushing on this and making us see the light! Related to rdar://15925483 and rdar://15922612. The latter radar is where the usefulness of the warning is most clear. llvm-svn: 201165
* 'nonnull(1)' on a block parameter should apply to the block's argument.Jordan Rose2014-02-112-0/+15
| | | | | | | | | | | | | | | Thanks to r199467, __attribute__((nonnull)) (without arguments) can apply directly to parameters, instead of being applied to the whole function. However, the old form of nonnull (with an argument index) could also apply to the arguments of function and block pointers, and both of these can be passed as parameters. Now, if 'nonnull' with an argument is found on a parameter, /and/ the parameter is a function or block pointer, it is handled the old way. PR18795 llvm-svn: 201162
* XCore target: add section information.Robert Lytton2014-02-111-0/+5
| | | | | | | | Xcore target ABI requires const data that is externally visible to be handled differently if it has C-language linkage rather than C++ language linkage. llvm-svn: 201142
* XCore target: Pass through "-fverbose-asm" flag to xcc assembler.Robert Lytton2014-02-111-2/+2
| | | | llvm-svn: 201141
* AAPCS: Do not split structs after CPRC allocated on stackOliver Stannard2014-02-111-0/+10
| | | | | | | | | | According to the AAPCS, we can split structs between GPRs and the stack, except for when an argument has already been allocated on the stack. This can occur when a large number of floating-point arguments fill up the VFP registers, and are alllocated on the stack before the general-purpose argument registers are full. llvm-svn: 201137
* Fix PCH deserialization bug with local static symbols being treated as local ↵Ted Kremenek2014-02-112-0/+27
| | | | | | | | | | | | | extern. This triggered a miscompilation of code using Boost's function_template.hpp when it was included inside a PCH file. A local static within that header would be treated as local extern, resulting in the wrong mangling. This only occurred during PCH deserialization. Fixes <rdar://problem/15975816> and <rdar://problem/15926311>. llvm-svn: 201130
* [analyzer] Inline C++ operator new when c++-inline-allocators is turned on.Jordan Rose2014-02-111-1/+2
| | | | | | | | | This will let us stage in the modeling of operator new. The -analyzer-config opton 'c++-inline-allocators' is currently off by default. Patch by Karthik Bhat! llvm-svn: 201122
* [stackprotector] Add command line option -fstack-protector-strongJosh Magee2014-02-112-1/+13
| | | | | | | | | | This option has the following effects: * It adds the sspstrong IR attribute to each function within the CU. * It defines the macro __SSP_STRONG__ with the value of 2. Differential Revision: http://llvm-reviews.chandlerc.com/D2717 llvm-svn: 201120
* [AArch64] Fixed vget/vset_lane_f16 implementationAna Pazos2014-02-101-22/+71
| | | | | | | | Replaced cast and vreinterepret operations with code to reinterpret bitwise the types float16_t and int16_t. llvm-svn: 201112
* Tests for DR351-370, plus update DR status page to match the latest core ↵Richard Smith2014-02-101-0/+264
| | | | | | issue list. llvm-svn: 201106
* MS ABI: Add support for #pragma pointers_to_membersDavid Majnemer2014-02-101-0/+23
| | | | | | | | | | | | | | | | | | | Introduce a notion of a 'current representation method' for pointers-to-members. When starting out, this is set to 'best case' (representation method is chosen by examining the class, selecting the smallest representation that would work given the class definition or lack thereof). This pragma allows the translation unit to dictate exactly what representation to use, similar to how the inheritance model keywords operate. N.B. PCH support is forthcoming. Differential Revision: http://llvm-reviews.chandlerc.com/D2723 llvm-svn: 201105
* Basic: Clean up malformed pragma diagnosticsDavid Majnemer2014-02-101-23/+1
| | | | | | | Create a new diagnostic, -Wignored-pragmas and use it to handle any case where a pragma would have a side effect but is ignored. llvm-svn: 201102
* PR18777: This PR is already fixed; add regtest.Richard Smith2014-02-101-0/+5
| | | | llvm-svn: 201100
* PR18685: Ignore class template specializations as potentialKaelyn Uhrain2014-02-091-0/+16
| | | | | | | nested-name-specifiers for typos unless the typo already has a nested-name-specifier that is a template specialization. llvm-svn: 201056
* [libclang] While visiting a C++ destructor decl, keep the type identifier ↵Argyrios Kyrtzidis2014-02-091-1/+7
| | | | | | | | | | associated with the decl, don't turn it into a type ref. rdar://15907618 llvm-svn: 201042
OpenPOWER on IntegriCloud