summaryrefslogtreecommitdiffstats
path: root/clang/test
Commit message (Collapse)AuthorAgeFilesLines
* [clang-cl] Implement support for the /Zl flagDavid Majnemer2015-07-241-0/+9
| | | | | | | | | The flag allows users to specify that they do not want the object file to have any implicit /defaultlib directives. This fixes PR24236. llvm-svn: 243097
* [AST] Perform additional canonicalization for DependentSizedArrayTypeDavid Majnemer2015-07-241-0/+11
| | | | | | | | | | We treated DependentSizedArrayTypes with the same element type but differing size expressions as equivalently canonical. This would lead to bizarre behavior during template instantiation. This fixes PR24212. llvm-svn: 243093
* Cleanup ObjCInterfaceDecl lookup for ObjC literalsAlex Denisov2015-07-245-15/+15
| | | | llvm-svn: 243092
* Generating available_externally vtables for outline virtual functionsPiotr Padlewski2015-07-242-6/+144
| | | | | | | | | | | | | | Generating available_externally vtables for optimizations purposes. Unfortunatelly ItaniumABI doesn't guarantee that we will be able to refer to virtual inline method by name. But when we don't have any inline virtual methods, and key function is not defined in this TU, we can generate that there will be vtable and mark it as available_externally. This is patch will help devirtualize better. Differential Revision: http://reviews.llvm.org/D11441 llvm-svn: 243090
* [Static Analyzer] Some tests do not turn on core checkers. Running the ↵Gabor Horvath2015-07-244-4/+4
| | | | | | | | analyzers without the core checkers is not supported. Differential Revision: http://reviews.llvm.org/D11432 llvm-svn: 243088
* Fix the cc1as crash when it outputs assemblySteven Wu2015-07-241-0/+3
| | | | | | | | In clang cc1as_main, when the output file type is “asm”, AsmStreamer owns a formatted_raw_ostream which has a reference to FDOS (raw_ostream), so AsmStreamer must be closed before FDOS is closed. llvm-svn: 243085
* Fix the equal-vector-size rule for reinterpret_casts in C++John McCall2015-07-232-2/+28
| | | | | | | | | | | | | to consider the storage size of the vector instead of its sizeof. In other words, ban <3 x int> to <4 x int> casts, which produced invalid IR anyway. Also, attempt to be a little more rigorous, or at least explicit, about when enums are allowed in these casts. rdar://21901132 llvm-svn: 243069
* InstrProf: Fix a typo in the test for r243066Justin Bogner2015-07-231-1/+1
| | | | llvm-svn: 243068
* InstrProf: Don't extend coverage regions into the catch keywordJustin Bogner2015-07-231-0/+24
| | | | | | | | The catch keyword isn't really part of a region, so it's fairly meaningless to extend into it. This was usually harmless, but it could crash when catch blocks involved macros in strange ways. llvm-svn: 243066
* [Compiler-RT] Remove dependency on libgcc_s/ehRenato Golin2015-07-231-4/+4
| | | | | | | | | | | | | | Currently, for --rtlib=compiler-rt on GNU systems, we're assuming that one has libgcc_s and libgcc_eh as low-level libraries, which when used in conjunction with -lunwind or -lc++abi, breaks that assumption. My original fix was wrong, and this patch reverts it to prepare for a new flag to choose the unwinder/C++ libraries. For the time being, people can use "-lgcc_s -lgcc_eh" or "-lunwind -lc++abi" or any combination they need explicitly. llvm-svn: 243025
* Add missing files for objc_boxable feature.Alex Denisov2015-07-2312-0/+811
| | | | | | Original patch [r240761] is missing all new files because of committer's mistake. llvm-svn: 243018
* [X86][AVX512F] Add FP scalar intrinsicsAsaf Badouh2015-07-231-0/+300
| | | | | | | | intrinsics for: add/sub/mul/div/min/max in their FP scalar versions Differential Revision: http://reviews.llvm.org/D11418 llvm-svn: 243009
* [X86][AVX512BW] add madd and maddubs intrinsicsAsaf Badouh2015-07-231-0/+30
| | | | | | Differential Revision: http://reviews.llvm.org/D11420 llvm-svn: 242986
* Add test to verify we emit warning when the deprecated virtual function is ↵Davide Italiano2015-07-231-0/+6
| | | | | | | | overloaded. Suggested by Richard Smith. llvm-svn: 242980
* Downgrade error about adding 'dllimport' to used free function to warning ↵Hans Wennborg2015-07-221-1/+1
| | | | | | | | (PR24215) The code will still work as it can reference the function via its thunk. llvm-svn: 242973
* [MS Compat] Allow _Atomic(Type) and 'struct _Atomic' to coexistDavid Majnemer2015-07-221-4/+11
| | | | | | | | | | | | | | | | | | | | | | MSVC 2013 ships, as part of its STL implementation, a class named '_Atomic'. This is unfortunate because this keyword is in conflict with the C11 keyword with the same name. Our solution was to disable this keyword when targeting MSVC 2013 and reenable it for 2015. However, this makes it impossible for clang's headers to make use of _Atomic. This is problematic in the case of libc++ as it makes heavy use of this keyword. Let the keywordness of _Atomic float under certain circumstances: the body of a class named _Atomic, or a class with a base specifier named _Atomic, will not have the keyword variant of _Atomic for the duration of the class body. This is sufficient to allow us to correctly handle _Atomic in the STL while permitting us to use _Atomic as a keyword everywhere else. Differential Revision: http://reviews.llvm.org/D11233 llvm-svn: 242970
* Pass -I options to integrates and external assemblersRenato Golin2015-07-221-0/+37
| | | | | | | | Fixes PR21000. Patch by Artem Belevich. llvm-svn: 242904
* [CONCEPTS] Add diagnostics: non-defining function; non-namespace scopeHubert Tong2015-07-221-0/+17
| | | | | | | | | | | | | | | | | | | | | Summary: Create diagnostic for function concept declaration which is not a definition. Create diagnostic for concept declaration which isn't in namespace scope. Create associated tests. Reviewers: rsmith, faisalv, fraggamuffin, hubert.reinterpretcast Subscribers: cfe-commits Differential Revision: http://reviews.llvm.org/D11027 Patch by Nathan Wilson! llvm-svn: 242899
* [modules] Change module manager visitation order to be a bit more stable whenRichard Smith2015-07-221-3/+8
| | | | | | | | | | | more modules are added: visit modules depth-first rather than breadth-first. The visitation is still (approximately) oldest-to-newest, and still guarantees that a module is visited before anything it imports, so modules that are imported by others sometimes need to jump to a later position in the visitation order when more modules are loaded, but independent module trees don't interfere with each other any more. llvm-svn: 242863
* [Sema] Diagnose use of declaration correctly.Davide Italiano2015-07-222-5/+11
| | | | | | | | | | | | | Before we skipped that for virtual functions not fully qualified (r81507). This commit basically reverts this to the older behaviour, which seems more consistent. We now also correctly consider ill-formed calls to deleted member functions, which were silently passed before in some cases. The review contains the whole discussion. PR: 20268 Differential Revision: http://reviews.llvm.org/D11334 llvm-svn: 242857
* [modules] In C++, stop serializing and deserializing a list of declarations inRichard Smith2015-07-213-11/+9
| | | | | | | | | the identifier table. This is redundant, since the TU-scope lookups are also serialized as part of the TU DeclContext, and wasteful in a number of ways. We still emit the decls for PCH / preamble builds, since for those we want identical results, not merely semantically equivalent ones. llvm-svn: 242855
* Change a test to follow the formatting of the rest of the tests in the file.Richard Trieu2015-07-211-6/+11
| | | | | | No functional change. llvm-svn: 242854
* ARM: actually define __ARM_ARCH_7S__ for the armv7s sliceTim Northover2015-07-211-1/+8
| | | | | | | We ended up with the wrong predefine after the recent TargetParser shuffle, and I accidentally solidified it with a test. This should fix it. llvm-svn: 242841
* [modules] Produce an error if -cc1 wants to implicitly build a module and noRichard Smith2015-07-211-0/+5
| | | | | | | module cache has been provided, rather than creating one in the current directory. llvm-svn: 242819
* [X86][AVX512F] add FP arithmetic intrinsicsAsaf Badouh2015-07-211-0/+201
| | | | | | | | | add/div/mul/sub include rounding versions Differential Revision: http://reviews.llvm.org/D11354 llvm-svn: 242790
* Commit for http://reviews.llvm.org/D10765Michael Wong2015-07-213-0/+86
| | | | | | | for OpenMP 4 target data directive parsing and sema. This commit is on behalf of Kelvin Li. llvm-svn: 242785
* Fix mingw toolchain to honor sysroot on Linux and add tests.Yaron Keren2015-07-212-0/+39
| | | | | | | | It should now support three mingw distributions running on Windows and three Linux distributions. The include directories for each are listed in the comments. llvm-svn: 242766
* [ARM] Pass subtarget feature "+reserve-r9" instead of passing backendAkira Hatanaka2015-07-211-1/+1
| | | | | | | | | | | | | | | | | | option "-arm-reserve-r9". This recommits r242736, which had to be reverted because the llvm-side change that was committed in r242737 caused the number of subtarget features to go over the limit of 64. This change is needed since backend options do not make it to the backend when doing LTO and are not capable of changing the behavior of code-gen passes on a per-function basis. rdar://problem/21529937 Differential Revision: http://reviews.llvm.org/D11319 llvm-svn: 242755
* Fix crash-on-invalid: don't look ahead past an unknown token, it might be EOF.Richard Smith2015-07-211-0/+4
| | | | llvm-svn: 242744
* Revert r242736.Akira Hatanaka2015-07-201-1/+1
| | | | | | | | | r242737 caused builds to fail with the following error message, so I'm reverting the clang side change too: error:Too many subtarget features! Bump MAX_SUBTARGET_FEATURES. llvm-svn: 242741
* [ARM] Pass subtarget feature "+reserve-r9" instead of passing backendAkira Hatanaka2015-07-201-1/+1
| | | | | | | | | | | | | | option "-arm-reserve-r9". This change is needed since backend options do not make it to the backend when doing LTO and are not capable of changing the behavior of code-gen passes on a per-function basis. rdar://problem/21529937 Differential Revision: http://reviews.llvm.org/D11319 llvm-svn: 242736
* Ignore the "novtable" declspec when not using the Microsoft C++ ABI.Bob Wilson2015-07-203-2/+7
| | | | | | | | | | | | | | Clang used to silently ignore __declspec(novtable). It is implemented now, but leaving the vtable uninitialized does not work when using the Itanium ABI, where the class layout for complex class hierarchies is stored in the vtable. It might be possible to honor the novtable attribute in some simple cases and either report an error or ignore it in more complex situations, but it’s not clear if that would be worthwhile. There is also value in having a simple and predictable behavior, so this changes clang to simply ignore novtable when not using the Microsoft C++ ABI. llvm-svn: 242730
* [MS Compat] Add support for __declspec(noalias)David Majnemer2015-07-202-1/+6
| | | | | | | The attribute '__declspec(noalias)' communicates that the function only accesses memory pointed to by its pointer-typed arguments. llvm-svn: 242728
* Fix code completion tests to use an explicit modules cache pathReid Kleckner2015-07-202-2/+2
| | | | | | | | Otherwise the stale module cache data may cause the test to fail. These two tests are new and are the only instances of c-index-test with -fmodules that doesn't have an explicit module cache path. llvm-svn: 242710
* Fix a case where we forgot to make a static local variable comdatReid Kleckner2015-07-201-0/+17
| | | | | | | | | | | | | Sometimes we can provide an initializer for static locals, in which case we sometimes might need to change the type. Changing the type requires making a new LLVM GlobalVariable, and in this codepath we were forgetting to transfer the comdat. Fixes PR23838. Patch by Ivan Garramona. llvm-svn: 242704
* Fix quoting of #pragma comment for PS4.Yunzhong Gao2015-07-201-0/+1
| | | | | | | | | | | | This is the PS4 counterpart to r229376, which quotes the library name if the name contains space. It was discovered that if a library name contains both double-quote and space characters, quoting the name might produce unexpected results, but we are mostly concerned with a Windows host environment, which does not allow double-quote or slashes in file/folder names. Differential Revision: http://reviews.llvm.org/D11275 llvm-svn: 242689
* [CodeGen] Flip lanes when lowering __builtin_palignr with one laneBenjamin Kramer2015-07-201-2/+2
| | | | | | | Otherwise we'd pick the wrong lane for the resulting shuffle and miscompile code. PR24187. llvm-svn: 242678
* [X86, inlineasm] Improve analysis of x,Y0,Yi,Ym,Yt,L,e,Z,s asm constraints ↵Alexey Bataev2015-07-202-4/+34
| | | | | | | | | (patch by Alexey Frolov) Improve Sema checking of 9 existing inline asm constraints (‘x’, ‘Y*’, ‘L’, ‘e’, ‘Z’, ‘s’). Differential Revision: http://reviews.llvm.org/D10536 llvm-svn: 242665
* Allow case-insensitive values for -mtune for AArch64 target in line with GCC.Gabor Ballabas2015-07-202-1/+10
| | | | | | | | | GCC allows case-insensitive values for -mcpu, -march and -mtune options. This patch implements the same behaviour for the -mtune option for the AArch64 target. Differential Revision: http://reviews.llvm.org/D10563 llvm-svn: 242663
* Attempt to fix greendragon buildbot failures; apparently wc sometimes ↵Richard Smith2015-07-201-2/+2
| | | | | | inserts a leading space into its output. Just check for a matching number anywhere in the output. llvm-svn: 242661
* [modules] Add (already passing) test for template default argument merging ↵Richard Smith2015-07-193-3/+14
| | | | | | when the template is declared in a namespace. llvm-svn: 242653
* [modules] Don't save uninteresting identifiers, and don't consider identifiersRichard Smith2015-07-191-0/+6
| | | | | | | to be interesting just because they are the name of a builtin. Reduces the size of an empty module by over 80% (~100KB). llvm-svn: 242650
* [X86][AVX512BW] add clang intrinsics for pmulhrsw / pmulhuw / pmulhwAsaf Badouh2015-07-191-1/+48
| | | | | | | | also made minor fix in "test_mm512_maskz_permutex2var_epi16" Differential Revision: http://reviews.llvm.org/D11336 llvm-svn: 242635
* Silence the driver warnings, if we see "-w" on the Driver.Filipe Cabecinhas2015-07-181-0/+1
| | | | | | | | | | | | | | | | | | Summary: We can enable warnings after that -w, so the patch might not be 100% correct. The problem that triggered this is: we have some amount of tests that expect 0 warnings (including unit tests for -w), but -w ends up not fully silencing everything. Reviewers: echristo, chandlerc Subscribers: cfe-commits Differential Revision: http://reviews.llvm.org/D11322 llvm-svn: 242606
* Driver: Add AMDGPU toolchainTom Stellard2015-07-181-0/+5
| | | | | | | | | | | | | | Summary: This is a minimal toolchain, which sets the integrated assembler as default, and uses lld for linking. Reviewers: arsenm, mcrosier Subscribers: cfe-commits Differential Revision: http://reviews.llvm.org/D10700 llvm-svn: 242601
* [Sema] Emit correct warning when copy-elision is not possible.Davide Italiano2015-07-182-12/+14
| | | | | | | | | | If we're returning a function parameter, copy elision isn't possible, so we now warn for redundant move. PR: 23819 Differential Revision: http://reviews.llvm.org/D11305 llvm-svn: 242600
* [MS ABI] Explicit specialization of static data members are weakDavid Majnemer2015-07-172-3/+13
| | | | | | | | | | | | | Normally, explicit specializations are treated like strong external definitions. However, MSVC treats explicit specializations of static data members as weak. MSVC 2013's <regex> implementation has such an explicit specialization which leads to clang emitting a strong definition in each translation unit which includes it. Tweak clang's linkage calculation to give such entities GVA_StrongODR linkage instead. This fixes PR24165. llvm-svn: 242592
* Fix test case in r242565Steven Wu2015-07-171-1/+2
| | | | llvm-svn: 242571
* Fix -save-temp when using objc-arc, sanitizer and profilingSteven Wu2015-07-173-4/+32
| | | | | | | | | | | | Currently, -save-temp will cause ObjCARC optimization to be dropped, sanitizer pass to run early in the pipeline, and profiling instrumentation to run twice. Fix the issue by properly disable all passes in the optimization pipeline when generating bitcode output and parse some of the Language Options even when the input is bitcode so the passes can be setup correctly. llvm-svn: 242565
* R600: Add macro defs for all supported OpenCL extensionsTom Stellard2015-07-171-1/+8
| | | | llvm-svn: 242523
OpenPOWER on IntegriCloud