summaryrefslogtreecommitdiff
path: root/test
Commit message (Collapse)AuthorAgeFilesLines
* [SystemZ] Add support for new cpu architecture - arch13Ulrich Weigand2019-07-1212-2/+768
| | | | | | | | | | | | | | | | | | | This patch series adds support for the next-generation arch13 CPU architecture to the SystemZ backend. This includes: - Basic support for the new processor and its features. - Support for low-level builtins mapped to new LLVM intrinsics. - New high-level intrinsics in vecintrin.h. - Indicate support by defining __VEC__ == 10303. Note: No currently available Z system supports the arch13 architecture. Once new systems become available, the official system name will be added as supported -march name. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@365933 91177308-0d34-0410-b5e6-96231b3b80d8
* CodeGet: Init 32bit pointers with 0xFFFFFFFFVitaly Buka2019-07-121-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: Patch makes D63967 effective for 32bit platforms and improves pattern initialization there. It cuts size of 32bit binary compiled with -ftrivial-auto-var-init=pattern by 2% (3% with -Os). Binary size change on CTMark, (with -fuse-ld=lld -Wl,--icf=all, similar results with default linker options) ``` master patch diff Os pattern 7.915580e+05 7.698424e+05 -0.028387 O3 pattern 9.953688e+05 9.752952e+05 -0.019325 ``` Zero vs Pattern on master ``` zero pattern diff Os 7.689712e+05 7.915580e+05 0.031380 O3 9.744796e+05 9.953688e+05 0.021133 ``` Zero vs Pattern with the patch ``` zero pattern diff Os 7.689712e+05 7.698424e+05 0.000789 O3 9.744796e+05 9.752952e+05 0.000742 ``` Reviewers: pcc, eugenis, glider, jfb Reviewed By: jfb Subscribers: hubert.reinterpretcast, dexonsmith, cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D64597 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@365921 91177308-0d34-0410-b5e6-96231b3b80d8
* Dump actual line numbers when dumping the AST to JSON.Aaron Ballman2019-07-121-0/+147
| | | | | | The "line" attribute is now the physical line within the source file for the location. A "presumedLine" attribute is printed when the presumed line number does not match the given source line number. We continue to not print repeated line information in subsequent source locations, but we track presumed and actual lines separately. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@365919 91177308-0d34-0410-b5e6-96231b3b80d8
* [clang-format][tests] Explicitly specify style in some testsRafael Stahl2019-07-124-5/+5
| | | | | | | | | | | | | | | | Summary: This fixes broken tests when doing an out-of-source build that picks up a random .clang-format on the file system due to the default "file" style. Reviewers: djasper, klimek, MyDeveloperDay, krasimir Reviewed By: MyDeveloperDay Subscribers: lebedev.ri, cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D61001 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@365909 91177308-0d34-0410-b5e6-96231b3b80d8
* Dump floating-point values as strings when dumping to JSON.Aaron Ballman2019-07-122-5062/+5083
| | | | | | This fixes a bug where we would have an invalid JSON attribute (e.g., "value": inf). It also increases the precision of the values because they're not represented as approximate doubles with the host architecture's floating-point model. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@365900 91177308-0d34-0410-b5e6-96231b3b80d8
* test/Driver/fsanitize.c: delete -target x86_64-linux-gnu from tests that ↵Fangrui Song2019-07-121-21/+21
| | | | | | | | should always be available Follow-up of D64317/r365587. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@365872 91177308-0d34-0410-b5e6-96231b3b80d8
* [X86][PowerPC] Support -mlong-double-128Fangrui Song2019-07-123-0/+27
| | | | | | | | | | | | | | | This patch makes the driver option -mlong-double-128 available for X86 and PowerPC. The CC1 option -mlong-double-128 is available on all targets for users to test on unsupported targets. On PowerPC, -mlong-double-128 uses the IBM extended double format because we don't support -mabi=ieeelongdouble yet (D64283). Reviewed By: rnk Differential Revision: https://reviews.llvm.org/D64277 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@365866 91177308-0d34-0410-b5e6-96231b3b80d8
* NFC: Unforget a colon in a few CHECK: directives.Artem Dergachev2019-07-123-3/+3
| | | | | | Differential Revision: https://reviews.llvm.org/D64526 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@365863 91177308-0d34-0410-b5e6-96231b3b80d8
* [PowerPC] Default to -fomit-frame-pointer when optimization is enabledFangrui Song2019-07-121-0/+5
| | | | | | | NetBSD, Linux, CloudABI and Hurd already omit frame pointer for PowerPC. Make it do so for other platforms. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@365862 91177308-0d34-0410-b5e6-96231b3b80d8
* [analyzer] exploded-graph-rewriter: Improve source location dumps.Artem Dergachev2019-07-126-12/+44
| | | | | | | | - Correctly display macro expansion and spelling locations. - Use the same procedure to display location context call site locations. - Display statement IDs for program points. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@365861 91177308-0d34-0410-b5e6-96231b3b80d8
* [Driver] Refactor interaction between -f(no-)?omit-frame-pointer and ↵Fangrui Song2019-07-124-38/+58
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | -m(no-)?omit-leaf-frame-pointer Use a tri-state enum to represent shouldUseFramePointer() and shouldUseLeafFramePointer(). This simplifies the logic and fixes PR9825: -fno-omit-frame-pointer doesn't imply -mno-omit-leaf-frame-pointer. and PR24003: /Oy- /O2 should not omit leaf frame pointer: this matches MSVC x86-32. (/Oy- is a no-op on MSVC x86-64.) and: when CC1 option -mdisable-fp-elim if absent, -momit-leaf-frame-pointer can also be omitted. The new behavior matches GCC: -fomit-frame-pointer wins over -mno-omit-leaf-frame-pointer -fno-omit-frame-pointer loses out to -momit-leaf-frame-pointer The behavior makes lots of sense. We have 4 states: - 00) leaf retained, non-leaf retained - 01) leaf retained, non-leaf omitted (this is invalid) - 10) leaf omitted, non-leaf retained (what -momit-leaf-frame-pointer was designed for) - 11) leaf omitted, non-leaf omitted "omit" options taking precedence over "no-omit" options is the only way to make 3 valid states representable with -f(no-)?omit-frame-pointer and -m(no-)?omit-leaf-pointer. Reviewed By: ychen Differential Revision: https://reviews.llvm.org/D64294 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@365860 91177308-0d34-0410-b5e6-96231b3b80d8
* Handle IntToPtr in isBytewiseValueVitaly Buka2019-07-121-8/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: This helps with more efficient use of memset for pattern initialization From @pcc prototype for -ftrivial-auto-var-init=pattern optimizations Binary size change on CTMark, (with -fuse-ld=lld -Wl,--icf=all, similar results with default linker options) ``` master patch diff Os 8.238864e+05 8.238864e+05 0.0 O3 1.054797e+06 1.054797e+06 0.0 Os zero 8.292384e+05 8.292384e+05 0.0 O3 zero 1.062626e+06 1.062626e+06 0.0 Os pattern 8.579712e+05 8.338048e+05 -0.030299 O3 pattern 1.090502e+06 1.067574e+06 -0.020481 ``` Zero vs Pattern on master ``` zero pattern diff Os 8.292384e+05 8.579712e+05 0.036578 O3 1.062626e+06 1.090502e+06 0.025124 ``` Zero vs Pattern with the patch ``` zero pattern diff Os 8.292384e+05 8.338048e+05 0.003333 O3 1.062626e+06 1.067574e+06 0.003193 ``` Reviewers: pcc, eugenis Subscribers: hiraditya, cfe-commits, llvm-commits Tags: #clang, #llvm Differential Revision: https://reviews.llvm.org/D63967 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@365858 91177308-0d34-0410-b5e6-96231b3b80d8
* Codegen, NFC: 32bit test in auto-var-init.cppVitaly Buka2019-07-121-115/+107
| | | | git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@365857 91177308-0d34-0410-b5e6-96231b3b80d8
* Re-Revert Devirtualize destructor of final class.Jordan Rupprecht2019-07-121-23/+0
| | | | | | | | | | This reverts r365509 (git commit d088720edad9c29ee0d622b5d69092e18a9ac0bd) This is a second revert[1] due to failures in internal test cases (shared offline) found during more thorough testing. [1] Original patch commited as r364100, reverted as r364359, recommitted as r365509 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@365850 91177308-0d34-0410-b5e6-96231b3b80d8
* [NewPM] Port SancovLeonard Chan2019-07-111-0/+41
| | | | | | | | | | | | | | | | | This patch contains a port of SanitizerCoverage to the new pass manager. This one's a bit hefty. Changes: - Split SanitizerCoverageModule into 2 SanitizerCoverage for passing over functions and ModuleSanitizerCoverage for passing over modules. - ModuleSanitizerCoverage exists for adding 2 module level calls to initialization functions but only if there's a function that was instrumented by sancov. - Added legacy and new PM wrapper classes that own instances of the 2 new classes. - Update llvm tests and add clang tests. Differential Revision: https://reviews.llvm.org/D62888 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@365838 91177308-0d34-0410-b5e6-96231b3b80d8
* CodeGen: Suppress c++ warnings in testVitaly Buka2019-07-111-0/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@365835 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix a Python3 compatibility errorAzharuddin Mohammed2019-07-111-1/+1
| | | | | | | | File "clang/test/lit.cfg.py", line 186, in <module> config.available_features.add('macos-sdk-' + macOSSDKVersion) TypeError: must be str, not bytes git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@365832 91177308-0d34-0410-b5e6-96231b3b80d8
* [analyzer] exploded-graph-rewriter: Fix filenames in program point.Artem Dergachev2019-07-111-1/+2
| | | | | | Fix a typo in JSON field name. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@365827 91177308-0d34-0410-b5e6-96231b3b80d8
* CodeGen, NFC: Test for auto-init for 32bit pointersVitaly Buka2019-07-111-0/+16
| | | | git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@365822 91177308-0d34-0410-b5e6-96231b3b80d8
* [OPENMP]Improve handling of analysis of unsupported VLAs in reductions.Alexey Bataev2019-07-111-0/+6
| | | | | | | | | Fixed the processing of the unsupported VLAs in the reduction clauses. Used targetDiag if the diagnostics can be delayed and emit it immediately if the target does not support VLAs and we're parsing target directive with the reduction clauses. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@365821 91177308-0d34-0410-b5e6-96231b3b80d8
* [Driver] -noprofilelib flagPetr Hosek2019-07-111-0/+5
| | | | | | | | | | This flag is analoguous to other flags like -nostdlib or -nolibc and could be used to disable linking of profile runtime library. This is useful in certain environments like kernel, where profile instrumentation is still desirable, but we cannot use the standard runtime library. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@365808 91177308-0d34-0410-b5e6-96231b3b80d8
* [CodeGen] NVPTX: Switch from atomic.load.add.f32 to atomicrmw faddBenjamin Kramer2019-07-112-2/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@365798 91177308-0d34-0410-b5e6-96231b3b80d8
* [OPENMP]Initial fix PR42392: Improve -Wuninitialized warnings for OpenMP ↵Alexey Bataev2019-07-1136-1/+582
| | | | | | | | | | | | | | | | | | | | | | | programs. Summary: Some OpenMP clauses rely on the values of the variables. If the variable is not initialized and used in OpenMP clauses that depend on the variables values, it should be reported that the uninitialized variable is used in the OpenMP clause expression. This patch adds initial processing for uninitialized variables in OpenMP constructs. Currently, it checks for use of the uninitialized variables in the structured blocks. Reviewers: NoQ, Szelethus, dcoughlin, xazax.hun, a.sidorin, george.karpenkov, szepet Subscribers: rnkovacs, guansong, jfb, jdoerfert, cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D64356 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@365786 91177308-0d34-0410-b5e6-96231b3b80d8
* Added mapping for pointers captured in Lambdas in OpenMP target regions,Alexey Bataev2019-07-111-0/+125
| | | | | | | | | | | | | | | | | | | by David Truby. Summary: This adds a zero length array section mapping for each pointer captured by a lambda that is used in a target region, as per section 2.19.7.1 of the OpenMP 5 specification. Reviewers: ABataev Reviewed By: ABataev Subscribers: guansong, jdoerfert, cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D64558 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@365777 91177308-0d34-0410-b5e6-96231b3b80d8
* [CGDebugInfo] Fix -femit-debug-entry-values crash on os_log_helpersVedant Kumar2019-07-111-2/+11
| | | | | | | | | | | | An os_log_helper FunctionDecl may not have a body. Ignore these for the purposes of debug entry value emission. Fixes an assertion failure seen in a stage2 build of clang: Assertion failed: (FD->hasBody() && "Functions must have body here"), function analyzeParametersModification git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@365716 91177308-0d34-0410-b5e6-96231b3b80d8
* Attempt to fix bots after r365703Nico Weber2019-07-101-3/+15
| | | | git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@365714 91177308-0d34-0410-b5e6-96231b3b80d8
* GodeGen, NFC: Add test to track emitStoresForConstant behaviorVitaly Buka2019-07-101-0/+66
| | | | | | | | | | | | | | Reviewers: eugenis, pcc Reviewed By: eugenis Subscribers: cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D64385 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@365706 91177308-0d34-0410-b5e6-96231b3b80d8
* driver: Don't warn about assembler flags being unused when not assemblingNico Weber2019-07-101-0/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | clang currently warns when passing flags for the assembler (e.g. -Wa,-mbig-obj) to an invocation that doesn't run the assembler (e.g. -E). At first sight, that makes sense -- the flag really is unused. But many other flags don't have an effect if no assembler runs (e.g. -fno-integrated-as, -ffunction-sections, and many others), and those currently don't warn. So this seems more like a side effect of how CollectArgsForIntegratedAssembler() is implemented than like an intentional feature. Since it's a bit inconvenient when debugging builds and adding -E, always call CollectArgsForIntegratedAssembler() to make sure assembler args always get claimed. Currently, this affects only these flags: -mincremental-linker-compatible, -mimplicit-it= (on ARM), -Wa, -Xassembler It does have the side effect that assembler options now need to be valid even if -E is passed. Previously, `-Wa,-mbig-obj` would error for non-coff output only if the assembler ran, now it always errors. This too makes assembler flags more consistent with all the other flags and seems like a progression. Fixes PR42066. Differential Revision: https://reviews.llvm.org/D64527 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@365703 91177308-0d34-0410-b5e6-96231b3b80d8
* [Concepts] Concept definitions (D40381)Saar Raz2019-07-102-0/+77
| | | | | | | | First in a series of patches to land C++2a Concepts support. This patch adds AST and parsing support for concept-declarations. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@365699 91177308-0d34-0410-b5e6-96231b3b80d8
* My first test commit.Saar Raz2019-07-101-0/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@365695 91177308-0d34-0410-b5e6-96231b3b80d8
* [OPENMP]Remove not used check line from the test, NFC.Alexey Bataev2019-07-101-1/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@365691 91177308-0d34-0410-b5e6-96231b3b80d8
* [X86] Change the IR sequence for _mm_storeh_pi and _mm_storel_pi to perform ↵Craig Topper2019-07-102-8/+4
| | | | | | | | the store as a <2 x float> instead of i64. This is similar to what we do for loadl_pi and loadh_pi. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@365669 91177308-0d34-0410-b5e6-96231b3b80d8
* [X86] Add guards to some of the x86 intrinsic tests to skip 64-bit mode only ↵Craig Topper2019-07-1010-0/+58
| | | | | | | | | | intrinsics when compiled for 32-bit mode. All the command lines are for 64-bit mode, but sometimes I compile the tests in 32-bit mode to see what assembly we get and we need to skip these to do that. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@365668 91177308-0d34-0410-b5e6-96231b3b80d8
* [clang] Preserve names of addrspacecast'ed values.Vyacheslav Zakharin2019-07-107-46/+60
| | | | | | Differential Revision: https://reviews.llvm.org/D63846 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@365666 91177308-0d34-0410-b5e6-96231b3b80d8
* [AMDGPU] Increased the number of implicit argument bytes for both OpenCL and ↵Christudasan Devadasan2019-07-102-26/+26
| | | | | | | | | | | | | HIP (CLANG). To enable a new implicit kernel argument, increased the number of argument bytes from 48 to 56. Reviewed By: yaxunl Differential Revision: https://reviews.llvm.org/D63756 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@365643 91177308-0d34-0410-b5e6-96231b3b80d8
* [AArch64] Fix vector vuqadd intrinsics operandsDiogo N. Sampaio2019-07-101-0/+51
| | | | | | | | | | | | | | | | | | Summary: Change the vuqadd vector instrinsics to have the second argument as unsigned values, not signed, accordingly to https://developer.arm.com/architectures/instruction-sets/simd-isas/neon/intrinsics Reviewers: LukeCheeseman, ostannard Reviewed By: ostannard Subscribers: javed.absar, kristof.beyls, cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D64211 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@365609 91177308-0d34-0410-b5e6-96231b3b80d8
* [NFC][AArch64] Fix vector vqtb[lx][1-4]_s8 operandDiogo N. Sampaio2019-07-101-9/+9
| | | | | | | | | | | | | | | | | | Summary: Change the vqtb[lx][1-4]_s8 instrinsics to have the last argument as vector of unsigned valuse, not signed, accordingly to https://developer.arm.com/architectures/instruction-sets/simd-isas/neon/intrinsics Reviewers: LukeCheeseman, DavidSpickett Reviewed By: DavidSpickett Subscribers: DavidSpickett, javed.absar, kristof.beyls, cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D64243 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@365598 91177308-0d34-0410-b5e6-96231b3b80d8
* [Driver] Add float-divide-by-zero back to supported sanitizers after ↵Fangrui Song2019-07-105-1/+22
| | | | | | | | | | | | | | | | | | D63793/rC365272 D63793 removed float-divide-by-zero from the "undefined" set but it failed to add it to getSupportedSanitizers(), thus the sanitizer is rejected by the driver: clang-9: error: unsupported option '-fsanitize=float-divide-by-zero' for target 'x86_64-unknown-linux-gnu' Also, add SanitizerMask::FloatDivideByZero to a few other masks to make -fsanitize-trap, -fsanitize-recover, -fsanitize-minimal-runtime and -fsanitize-coverage work. Reviewed By: rsmith, vitalybuka Differential Revision: https://reviews.llvm.org/D64317 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@365587 91177308-0d34-0410-b5e6-96231b3b80d8
* [analyzer] CastValueChecker: Model castsCsaba Dabis2019-07-102-1/+138
| | | | | | | | | | | | | | | | | | | | | Summary: It models the LLVM casts: - `cast<>` - `dyn_cast<>` - `cast_or_null<>` - `dyn_cast_or_null<>` It has a very basic support without checking the `classof()` function. (It reapplies the reverted 'llvm-svn: 365582' patch with proper test file.) Reviewed By: NoQ Tags: #clang Differential Revision: https://reviews.llvm.org/D64374 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@365585 91177308-0d34-0410-b5e6-96231b3b80d8
* Revert "[analyzer] CastValueChecker: Model casts"Csaba Dabis2019-07-092-134/+1
| | | | | | This reverts commit 27cf6664437efd640bb6db5594bafcce68fa2854. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@365584 91177308-0d34-0410-b5e6-96231b3b80d8
* [analyzer] CastValueChecker: Model castsCsaba Dabis2019-07-092-1/+134
| | | | | | | | | | | | | | | | | | | Summary: It models the LLVM casts: - `cast<>` - `dyn_cast<>` - `cast_or_null<>` - `dyn_cast_or_null<>` It has a very basic support without checking the `classof()` function. Reviewed By: NoQ Tags: #clang Differential Revision: https://reviews.llvm.org/D64374 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@365582 91177308-0d34-0410-b5e6-96231b3b80d8
* [MS] Treat ignored explicit calling conventions as an explicit __cdeclReid Kleckner2019-07-091-0/+45
| | | | | | | | | | | | | | | The CCCR_Ignore action is only used for Microsoft calling conventions, mainly because MSVC does not warn when a calling convention would be ignored by the current target. This behavior is actually somewhat important, since windows.h uses WINAPI (which expands to __stdcall) widely. This distinction didn't matter much before the introduction of __vectorcall to x64 and the ability to make that the default calling convention with /Gv. Now, we can't just ignore __stdcall for x64, we have to treat it as an explicit __cdecl annotation. Fixes PR42531 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@365579 91177308-0d34-0410-b5e6-96231b3b80d8
* XFAIL clang/test/Headers/max_align.c on i686Andus Yu2019-07-091-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@365558 91177308-0d34-0410-b5e6-96231b3b80d8
* Use the Itanium C++ ABI for the pipe_builtin.cl testReid Kleckner2019-07-091-1/+3
| | | | | | | Certain OpenCL constructs cannot yet be mangled in the MS C++ ABI. Add a FIXME for it if anyone cares to implement it. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@365557 91177308-0d34-0410-b5e6-96231b3b80d8
* [CXX] Exercise all paths through these tests.Paul Robinson2019-07-093-1/+3
| | | | | | Differential Revision: https://reviews.llvm.org/D63894 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@365555 91177308-0d34-0410-b5e6-96231b3b80d8
* [AMDGPU] gfx908 clang targetStanislav Mekhanoshin2019-07-094-0/+13
| | | | | | Differential Revision: https://reviews.llvm.org/D64430 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@365528 91177308-0d34-0410-b5e6-96231b3b80d8
* [ObjC] Add a warning for implicit conversions of a constant non-boolean ↵Erik Pilkington2019-07-092-0/+78
| | | | | | | | | | value to BOOL rdar://51954400 Differential revision: https://reviews.llvm.org/D63912 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@365518 91177308-0d34-0410-b5e6-96231b3b80d8
* Revert Revert Devirtualize destructor of final class.Hiroshi Yamauchi2019-07-091-0/+23
| | | | | | | | | | | | Revert r364359 and recommit r364100. r364100 was reverted as r364359 due to an internal test failure, but it was a false alarm. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@365509 91177308-0d34-0410-b5e6-96231b3b80d8
* [OpenCL][Sema] Fix builtin rewritingMarco Antognini2019-07-093-3/+3
| | | | | | | | | | | This patch ensures built-in functions are rewritten using the proper parent declaration. Existing tests are modified to run in C++ mode to ensure the functionality works also with C++ for OpenCL while not increasing the testing runtime. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@365499 91177308-0d34-0410-b5e6-96231b3b80d8
* Ignore trailing NullStmts in StmtExprs for GCC compatibility.Aaron Ballman2019-07-094-0/+53
| | | | | | | | Ignore trailing NullStmts in compound expressions when determining the result type and value. This is to match the GCC behavior which ignores semicolons at the end of compound expressions. Patch by Dominic Ferreira. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@365498 91177308-0d34-0410-b5e6-96231b3b80d8