| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| |
|
|
|
|
| |
for debug info kind and dwarf version.
llvm-svn: 284420
|
| |
|
|
|
|
| |
We now strip coverage metadata if debug info are not present.
llvm-svn: 284419
|
| |
|
|
| |
llvm-svn: 284417
|
| |
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
| |
Should fix hexagon-elf-toolchain.c tests on Git.
llvm-svn: 284401
|
| |
|
|
| |
llvm-svn: 284400
|
| |
|
|
| |
llvm-svn: 284392
|
| |
|
|
| |
llvm-svn: 284389
|
| |
|
|
|
|
|
| |
This problem was exposed by r284129, causing clang-hexagon-elf to fail
clang tests.
llvm-svn: 284383
|
| |
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
|
| |
Patch by Axel Naumann!
Reviewed by Richard Smith and me.
llvm-svn: 284372
|
| |
|
|
| |
llvm-svn: 284366
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
| |
implements the bulk of the change (modifying the type system to include
exception specifications), but not all the details just yet.
llvm-svn: 284337
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
| |
llvm-svn: 284331
|
| |
|
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
| |
'*' specifier. Apparently the GNU folks want to discourage self-documenting
code.
llvm-svn: 284300
|
| |
|
|
|
|
| |
Differential Revision: https://reviews.llvm.org/D25572
llvm-svn: 284293
|
| |
|
|
|
|
| |
Differential Revision: https://reviews.llvm.org/D25539
llvm-svn: 284292
|
| |
|
|
|
|
|
|
|
| |
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
|
| |
|
|
| |
llvm-svn: 284285
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
|
| |
Patch by Michael LeMay
Differential revision: http://reviews.llvm.org/D19854
llvm-svn: 284278
|
| |
|
|
|
|
|
|
| |
Patch by Tania Albarghouthi.
Differential Revision: https://reviews.llvm.org/D25480
llvm-svn: 284277
|
| |
|
|
| |
llvm-svn: 284272
|
| |
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
|
|
| |
When importing the parent module, module initializers in submodules should
be emitted.
rdar://28740482
llvm-svn: 284263
|
| |
|
|
| |
llvm-svn: 284259
|
| |
|
|
|
|
|
|
| |
Patch by Stefan Kempf.
Differential Revision: https://reviews.llvm.org/D22130
llvm-svn: 284256
|
| |
|
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Reviewers: ioeric
Subscribers: klimek
Patch by Krasimir Georgiev!
Differential Revision: https://reviews.llvm.org/D25599
llvm-svn: 284228
|
| |
|
|
| |
llvm-svn: 284222
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
| |
llvm-svn: 284187
|
| |
|
|
|
|
| |
argument, in order to correctly instantiate the initializer.
llvm-svn: 284184
|
| |
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
| |
llvm-svn: 284167
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|