summaryrefslogtreecommitdiffstats
path: root/clang
Commit message (Collapse)AuthorAgeFilesLines
...
* Improve the CHECK lines in debug-options.c by separating out the checkAdrian Prantl2016-10-171-19/+33
| | | | | | for debug info kind and dwarf version. llvm-svn: 284420
* [Coverage] Update test after r284418.Davide Italiano2016-10-171-1/+1
| | | | | | We now strip coverage metadata if debug info are not present. llvm-svn: 284419
* Update testcase for r284416.Adrian Prantl2016-10-171-1/+2
| | | | llvm-svn: 284417
* Driver/Darwin: Set the DWARF version based on the deployment target.Adrian Prantl2016-10-174-21/+40
| | | | | | | | | | | System utilities such as atos only support DWARF 4 on OS X 10.11+ and iOS 9+. We thus want to enable DWARF 4 only if the deployment target has a recent enough operating system version and use DWARF 2 for older systems. <rdar://problem/28766743> llvm-svn: 284416
* [Driver] Use VFS to perform all distribution checksMichal Gorny2016-10-171-3/+3
| | | | | | | | | | Use the VFS provided by D.getVFS() for all distribution checks, including those performing read of the release file. Requested by @bruno on D24954. Differential Revision: https://reviews.llvm.org/D25641 llvm-svn: 284403
* Add a dummy file in each subdirectory in test/Driver/Inputs/hexagon_treeKrzysztof Parzyszek2016-10-176-0/+24
| | | | | | | | | | Git does not store empty subdirectories (while SVN does). Git clone of the clang repository did not create the fake Hexagon installation tree used for testing the driver. This only became evident after a change in the Hexagon toolchain that started checking for existence of certain directories. llvm-svn: 284402
* Hexagon: add dummy files to test dir so git keeps them.Tim Northover2016-10-172-0/+0
| | | | | | Should fix hexagon-elf-toolchain.c tests on Git. llvm-svn: 284401
* Fix a typo.Adrian Prantl2016-10-171-1/+1
| | | | llvm-svn: 284400
* Reapply r284383. The test failures were due to a missing dir in test/Krzysztof Parzyszek2016-10-171-1/+1
| | | | llvm-svn: 284392
* Revert r284383, while I figure out how to reproduce the failures locallyKrzysztof Parzyszek2016-10-171-1/+1
| | | | llvm-svn: 284389
* Return correct path from HexagonToolChain::getHexagonTargetDirKrzysztof Parzyszek2016-10-171-1/+1
| | | | | | | This problem was exposed by r284129, causing clang-hexagon-elf to fail clang tests. llvm-svn: 284383
* Revert "Reinstate r281429, reverted in r281452, with a fix for its ↵Benjamin Kramer2016-10-1713-129/+23
| | | | | | | | | mishandling of" This reverts commit r284176. It still marks some modules as invisible that should be visible. Will follow up with the author with a test case. llvm-svn: 284382
* Do not reset TUScope when we are in incremental processing mode.Vassil Vassilev2016-10-171-2/+4
| | | | | | | | Patch by Axel Naumann! Reviewed by Richard Smith and me. llvm-svn: 284372
* AST: Prefer LLVM_NODISCARD to LLVM_ATTRIBUTE_UNUSED_RESULTJustin Bogner2016-10-171-1/+1
| | | | llvm-svn: 284366
* [CUDA] Fix false-positive in known-emitted handling.Justin Lebar2016-10-172-6/+66
| | | | | | | | | | | | | | | | | Previously: When compiling for host, our constructed call graph went *through* kernel calls. This meant that if we had host calls kernel calls HD we would incorrectly mark the HD function as known-emitted on the host side, and thus perform host-side checks on it. Fixing this exposed another issue, wherein when marking a function as known-emitted, we also need to traverse the callgraph of its template, because non-dependent calls are attached to a function's template, not its instantiation. llvm-svn: 284355
* clang/test/CXX/conv/conv.fctptr/p1.cpp: Appease for targeting i686-win32.NAKAMURA Takumi2016-10-161-1/+1
| | | | | | | error: 'error' diagnostics seen but not expected: File clang\test\CXX\conv\conv.fctptr\p1.cpp Line 16: assigning to 'void (S::*)() __attribute__((thiscall)) noexcept' from incompatible type 'void (S::*)() __attribute__((thiscall))': different exception specifications llvm-svn: 284352
* Revert "Revert "[analyzer] Make MallocChecker more robust against custom ↵Devin Coughlin2016-10-162-0/+36
| | | | | | | | | redeclarations"" This reverts commit r284340 to reapply r284335. The bot breakage was due to an unrelated change in the polybench test suite. llvm-svn: 284351
* AST: Improve a couple of comments and cast unused values to voidJustin Bogner2016-10-161-5/+4
| | | | | | | | Make these comments a bit more explicit that they're initializing the RawText member, and explicitly cast the unused result of getRawText to void for clarity. llvm-svn: 284341
* Revert "[analyzer] Make MallocChecker more robust against custom redeclarations"Devin Coughlin2016-10-162-36/+0
| | | | | | | | | | This reverts commit r284335. It appears to be causing test-suite compile-time and execution-time performance measurements to take longer than expected on several bots. This is surprising, because r284335 is a static-analyzer-only change. llvm-svn: 284340
* P0012R1: Make exception specifications be part of the type system. ThisRichard Smith2016-10-1629-85/+445
| | | | | | | implements the bulk of the change (modifying the type system to include exception specifications), but not all the details just yet. llvm-svn: 284337
* [analyzer] Make MallocChecker more robust against custom redeclarationsDevin Coughlin2016-10-162-0/+36
| | | | | | | | | | | | | Add additional checking to MallocChecker to avoid crashing when memory routines have unexpected numbers of arguments. You wouldn't expect to see much of this in normal code (-Wincompatible-library-redeclaration warns on this), but, for example, CMake tests can generate these. This is PR30616. rdar://problem/28631974 llvm-svn: 284335
* Extend this test and make it a bit clearer which cases Clang is getting wrong.Richard Smith2016-10-161-14/+34
| | | | llvm-svn: 284331
* Revert "[analyzer] Re-apply r283093 "Add extra notes to ObjCDeallocChecker""Devin Coughlin2016-10-164-134/+12
| | | | | | | | | | | | Revert: r283662: [analyzer] Re-apply r283093 "Add extra notes to ObjCDeallocChecker" r283660: [analyzer] Fix build error after r283660 - remove constexpr strings. It was causing an internal build bot to fail. It looks like in some cases adding an extra note can cause scan-build plist output to drop a diagnostic altogether. llvm-svn: 284317
* Disable a silly GCC diagnostic for combining a scanf length specifier with theRichard Smith2016-10-151-0/+10
| | | | | | | '*' specifier. Apparently the GNU folks want to discourage self-documenting code. llvm-svn: 284300
* [Coverage] Support for C++17 if initializersVedant Kumar2016-10-144-1/+29
| | | | | | Differential Revision: https://reviews.llvm.org/D25572 llvm-svn: 284293
* [Coverage] Support for C++17 switch initializersVedant Kumar2016-10-144-6/+37
| | | | | | Differential Revision: https://reviews.llvm.org/D25539 llvm-svn: 284292
* Sema: honour dllexport in itanium more faithfullySaleem Abdulrasool2016-10-142-1/+11
| | | | | | | | | Although the itanium environment uses the itanium layout for C++, treat the dllexport semantics more similarly to the MSVC specification. This preserves the existing behaviour for the use of the itanium ABI on non-windows-itanium environments. Export the inline definitions too. llvm-svn: 284288
* Add more swift calling convention testsArnold Schwaighofer2016-10-142-15/+816
| | | | llvm-svn: 284285
* Reinstate r284008 reverted in r284081, with two fixes:Richard Smith2016-10-1416-72/+266
| | | | | | | | | | | | | | | | | | | 1) Merge and demote variable definitions when we find a redefinition in MergeVarDecls, not only when we find one in AddInitializerToDecl (we only reach the second case if it's the addition of the initializer itself that converts an existing declaration into a definition). 2) When rebuilding a redeclaration chain for a variable, if we merge two definitions together, mark the definitions as merged so the retained definition is made visible whenever the demoted definition would have been. Original commit message (from r283882): [modules] PR28752: Do not instantiate variable declarations which are not visible. Original patch by Vassil Vassilev! Changes listed above are mine. llvm-svn: 284284
* Define Contiki OS toolchainDavid L Kreitzer2016-10-144-0/+23
| | | | | | | | Patch by Michael LeMay Differential revision: http://reviews.llvm.org/D19854 llvm-svn: 284278
* __builtin_fpclassify missing one int parameterDavid Sheinkman2016-10-142-1/+2
| | | | | | | | Patch by Tania Albarghouthi. Differential Revision: https://reviews.llvm.org/D25480 llvm-svn: 284277
* Implement no_sanitize_address for global varsDouglas Katzman2016-10-148-22/+40
| | | | llvm-svn: 284272
* [linux] When pre-reserving stack pages to work around broken address spaceRichard Smith2016-10-141-7/+35
| | | | | | | | layout for PIE binaries, ask the OS how much stack space is already in use to avoid stack overflow if we are run with more than 512K of combined command line arguments + environment variables. llvm-svn: 284271
* [Sema] Refactor context checking for availability diagnosticsErik Pilkington2016-10-145-123/+99
| | | | | | | | | This commit combines a couple of redundant functions that do availability attribute context checking into a more correct/simpler one. Differential revision: https://reviews.llvm.org/D25283 llvm-svn: 284265
* Module: emit initializers in submodules when importing the parent module.Manman Ren2016-10-144-4/+41
| | | | | | | | | When importing the parent module, module initializers in submodules should be emitted. rdar://28740482 llvm-svn: 284263
* Revert r284256 due to test failureEd Maste2016-10-142-27/+0
| | | | llvm-svn: 284259
* Link static PIE programs against rcrt0.o on OpenBSDEd Maste2016-10-142-0/+27
| | | | | | | | Patch by Stefan Kempf. Differential Revision: https://reviews.llvm.org/D22130 llvm-svn: 284256
* Implement __stosb intrinsic as a volatile memsetAlbert Gutowski2016-10-145-6/+23
| | | | | | | | | | | | Summary: We need `__stosb` to be an intrinsic, because SecureZeroMemory function uses it without including intrin.h. Implementing it as a volatile memset is not consistent with MSDN specification, but it gives us target-independent IR while keeping the most important properties of `__stosb`. Reviewers: rnk, hans, thakis, majnemer Subscribers: cfe-commits Differential Revision: https://reviews.llvm.org/D25334 llvm-svn: 284253
* Fix for PR30632: Name mangling issue.Alexey Bataev2016-10-143-4/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There was a bug in the implementation of captured statements. If it has a lambda expression in it and the same lambda expression is used outside the captured region, clang produced an error: ``` error: definition with same mangled name as another definition ``` Here is an example: ``` struct A { template <typename L> void g(const L&) { } }; template<typename T> void f() { { A().g([](){}); } A().g([](){}); } int main() { f<void>(); } ``` Error report: ``` main.cpp:3:10: error: definition with same mangled name as another definition void g(const L&) { } ^ main.cpp:3:10: note: previous definition is here ``` Patch fixes this bug. llvm-svn: 284229
* Removed duplicate header includeEric Liu2016-10-141-2/+1
| | | | | | | | | | | | Reviewers: ioeric Subscribers: klimek Patch by Krasimir Georgiev! Differential Revision: https://reviews.llvm.org/D25599 llvm-svn: 284228
* Try to fix windows bot file path style failure caused by r284219.Eric Liu2016-10-141-0/+18
| | | | llvm-svn: 284222
* Deduplicate sets of replacements by file names.Eric Liu2016-10-145-15/+41
| | | | | | | | | | | | | | | Summary: If there are multiple <File, Replacements> pairs with the same file path after removing dots, we only keep one pair (with path after dots being removed) and discard the rest. Reviewers: djasper Subscribers: klimek, hokein, bkramer, cfe-commits Differential Revision: https://reviews.llvm.org/D25565 llvm-svn: 284219
* [x86][ms-inline-asm] use of "jmp short" in asm is not supportedMichael Zuckerman2016-10-141-0/+9
| | | | | | | | | | Test linked to: https://reviews.llvm.org/D24957 Committing in the name of Ziv Izhar: After check-all and LGTM . Differential Revision: https://reviews.llvm.org/D24958 llvm-svn: 284213
* Fix bogus assert breaking modules self-host.Richard Smith2016-10-141-4/+6
| | | | llvm-svn: 284187
* Use SubstInitializer instead of SubstExpr when instantiating a defaultRichard Smith2016-10-142-2/+10
| | | | | | argument, in order to correctly instantiate the initializer. llvm-svn: 284184
* Reinstate r281429, reverted in r281452, with a fix for its mishandling ofRichard Smith2016-10-1313-23/+127
| | | | | | | | | compiles without -fmodules-local-submodule-visibility. Original commit message: [modules] When merging one definition into another, propagate the list of re-exporting modules from the discarded definition to the retained definition. llvm-svn: 284176
* Disable swiftcall test on windows: More brutal way to appease windows botsArnold Schwaighofer2016-10-131-0/+3
| | | | | | | | | | | The backtrace on the bot does not give me any indication what is wrong. The test case interestingly passes in stage2 of the build. I don't have a way of debugging this. Disable the test on windows and hope if there is truly a bug in the code that was causing we will eventually run into this on other platforms. llvm-svn: 284174
* Add 64-bit MS _Interlocked functions as builtins againAlbert Gutowski2016-10-135-164/+259
| | | | | | | | | | | | Summary: Previously global 64-bit versions of _Interlocked functions broke buildbots on i386, so now I'm adding them as builtins for x86-64 and ARM only (should they be also on AArch64? I had problems with testing it for AArch64, so I left it) Reviewers: hans, majnemer, mstorsjo, rnk Subscribers: cfe-commits, aemerson Differential Revision: https://reviews.llvm.org/D25576 llvm-svn: 284172
* fix _BitScan intrinsics missing header warnings; fix some line endingsAlbert Gutowski2016-10-134-90/+90
| | | | llvm-svn: 284167
* [analyzer] Remove superquadratic behaviour from DataflowWorklistAlexander Shaposhnikov2016-10-131-18/+9
| | | | | | | | | | | | | | | | | The class DataflowWorklist internally maintains a sorted list of pointers to CFGBlock and the method enqueuePredecessors has to call sortWorklist to maintain the invariant. The implementation based on vector + sort works well for small sizes but gets infeasible for relatively large sizes. In particular the issue takes place for some cryptographic libraries which use code generation. The diff replaces vector + sort with priority queue. For one of the implementations of AES this patch reduces the time for analysis from 204 seconds to 8 seconds. Test plan: make -j8 check-clang Differential revision: https://reviews.llvm.org/D25503 llvm-svn: 284166
OpenPOWER on IntegriCloud