| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| |
|
|
|
|
|
|
|
| |
We would wrongfully reject (a.~A)() in both the destructor and
pseudo-destructor cases.
This fixes PR22668.
llvm-svn: 230512
|
| |
|
|
| |
llvm-svn: 230478
|
| |
|
|
|
|
| |
(re-) exported from multiple modules."", since I have reverted r230446.
llvm-svn: 230477
|
| |
|
|
| |
llvm-svn: 230475
|
| |
|
|
|
|
| |
It fails on Clang::PCH/headersearch.cpp for targeting msvc.
llvm-svn: 230474
|
| |
|
|
|
|
|
|
|
|
| |
multiple modules."
This reverts the revert from commit r230406.
The changes in r230445 and r230446 make the test pass on Windows now.
llvm-svn: 230448
|
| |
|
|
|
|
|
|
| |
Covered by existing tests in test/CodeGen/override-layout.c and
test/CodeGenCXX/override-layout.cpp. Seriously, they found real bugs in
my code. :)
llvm-svn: 230446
|
| |
|
|
| |
llvm-svn: 230445
|
| |
|
|
|
|
|
|
|
|
| |
from multiple modules."
It crashes for targeting (i686|x86_64)-win32.
clang: clang/lib/AST/VTableBuilder.cpp:142: {anonymous}::FinalOverriders::OverriderInfo {anonymous}::FinalOverriders::getOverrider(const clang::CXXMethodDecl*, clang::CharUnits) const: Assertion `OverridersMap.count(std::make_pair(MD, BaseOffset)) && "Did not find overrider!"' failed.
llvm-svn: 230406
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Summary: Fixes PR22671.
Reviewers: rsmith
Subscribers: cfe-commits
Differential Revision: http://reviews.llvm.org/D7863
llvm-svn: 230362
|
| |
|
|
|
|
|
| |
Fixes multiple crashes where a non-canonical decl would be used as key
in a lookup.
llvm-svn: 230314
|
| |
|
|
|
|
|
| |
attempting to lazily deserialize its specializations; otherwise, there might be
pending specializations that we don't know about yet.
llvm-svn: 230301
|
| |
|
|
|
|
| |
more asserts.
llvm-svn: 230296
|
| |
|
|
|
|
|
| |
results. No-one was ever modifying a lookup result, and it would not be
reasonable to do so.
llvm-svn: 230123
|
| |
|
|
|
|
|
| |
invalidate lookup_iterators and lookup_results for some name within a
DeclContext if the lookup results for a *different* name change.
llvm-svn: 230121
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This patch introduces the -fsanitize=cfi-vptr flag, which enables a control
flow integrity scheme that checks that virtual calls take place using a vptr of
the correct dynamic type. More details in the new docs/ControlFlowIntegrity.rst
file.
It also introduces the -fsanitize=cfi flag, which is currently a synonym for
-fsanitize=cfi-vptr, but will eventually cover all CFI checks implemented
in Clang.
Differential Revision: http://reviews.llvm.org/D7424
llvm-svn: 230055
|
| |
|
|
| |
llvm-svn: 229918
|
| |
|
|
|
|
| |
according to r229809. [-Wdocumentation]
llvm-svn: 229823
|
| |
|
|
| |
llvm-svn: 229822
|
| |
|
|
|
|
|
| |
We didn't have enough qualificaiton before the scope specifier and we
had too much qualification in the destructor name itself.
llvm-svn: 229809
|
| |
|
|
|
|
| |
No functional change intended.
llvm-svn: 229726
|
| |
|
|
|
|
|
|
|
| |
extern "C" declarations should be considered like global declarations
for mangling purposes.
Differential Revision: http://reviews.llvm.org/D7718
llvm-svn: 229724
|
| |
|
|
|
|
| |
Differential Revision: http://reviews.llvm.org/D7148
llvm-svn: 229680
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
We attempted to be compatible with GCC's buggy mangling for templates
with a declaration for a template argument.
However, we weren't completely successful in copying their bug in cases
like:
char foo;
template <char &C> decltype(C) f() { return foo; };
template char &f<foo>();
Instead, just follow the ABI specification. This fixes PR22621.
llvm-svn: 229644
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
Our mangling of <destructor-name> wasn't quite right: we'd introduce
mangling substitutions where one shouldn't be possible. We also didn't
correctly handle the case where the destroyed type was not dependent but
still a TemplateSpecializationType.
N.B. There isn't a mangling for a template-template parameter showing up
as the destroyed type. We do the 'obvious' thing and mangle the index
of the parameter.
llvm-svn: 229615
|
| |
|
|
|
|
| |
Same functionality, but hoists the vector growth out of the loop.
llvm-svn: 229508
|
| |
|
|
|
|
|
| |
warning when property getter is used in direct method call
and return value of property is unused. rdar://19773512
llvm-svn: 229458
|
| |
|
|
| |
llvm-svn: 229428
|
| |
|
|
|
|
| |
requiring the macro. NFC; Clang edition.
llvm-svn: 229339
|
| |
|
|
|
|
| |
macro. NFC; Clang edition.
llvm-svn: 229336
|
| |
|
|
|
|
|
|
|
|
| |
We had two bugs:
- We were missing the "on" prefix for unresolved operators.
- We didn't handle the mangling of destructors at all.
This fixes PR22584.
llvm-svn: 229255
|
| |
|
|
|
|
|
| |
they're given a null pointer as an argument, so we do not need to emit null
checks on their results.
llvm-svn: 229213
|
| |
|
|
|
|
| |
NFC.
llvm-svn: 228864
|
| |
|
|
|
|
|
|
|
| |
already have, check whether the name from the module is actually newer than the
existing declaration. If it isn't, we might (say) replace a visible declaration
with an injected friend, and thus make it invisible (or lose a default argument
or an array bound).
llvm-svn: 228661
|
| |
|
|
|
|
|
| |
context as anonymous for merging purposes. They can't be found by their names,
so we merge them based on their position within the surrounding context.
llvm-svn: 228485
|
| |
|
|
|
|
| |
DeclContext::noload_lookup.
llvm-svn: 228475
|
| |
|
|
|
|
| |
Convert uses of those APIs into ranged for loops. NFC.
llvm-svn: 228404
|
| |
|
|
|
|
|
|
|
|
| |
initializer of the form {x}, where x is of type C or a type derived from C,
perform *non-list* initialization of the entity from x, but create a
CXXConstructExpr that knows that we used list-initialization syntax.
Plus some fixes to ensure we mangle correctly in this and related cases.
llvm-svn: 228276
|
| |
|
|
| |
llvm-svn: 228274
|
| |
|
|
|
|
|
|
|
| |
When visiting AssignmentOps, keep evaluating after a failure (when possible) in
order to identify overflow in subexpressions.
Differential Revision: http://reviews.llvm.org/D1238
llvm-svn: 228202
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
Allow user to provide multiple blacklists by passing several
-fsanitize-blacklist= options. These options now don't override
default blacklist from Clang resource directory, which is always
applied (which fixes PR22431).
-fno-sanitize-blacklist option now disables all blacklists that
were specified earlier in the command line (including the default
one).
This change depends on http://reviews.llvm.org/D7367.
Test Plan: regression test suite
Reviewers: timurrrr
Subscribers: cfe-commits, kcc, pcc
Differential Revision: http://reviews.llvm.org/D7368
llvm-svn: 228156
|
| |
|
|
|
|
| |
visibility.
llvm-svn: 228107
|
| |
|
|
| |
llvm-svn: 228066
|
| |
|
|
| |
llvm-svn: 227953
|
| |
|
|
|
|
| |
This fixes PR22441.
llvm-svn: 227950
|
| |
|
|
|
|
|
| |
Clang is otherwise consistent that Microsoft be abbreviated as MS, not
Ms.
llvm-svn: 227842
|
| |
|
|
|
|
| |
Eliminates a ton of boilerplate proxying the iterator methods. NFC.
llvm-svn: 227764
|
| |
|
|
|
|
| |
to match LLVM's preferred style.
llvm-svn: 227545
|
| |
|
|
|
|
|
|
|
| |
list-initialization that gets converted to some form other than an
InitListExpr. CXXTemporaryObjectExpr is a special case here, because it
represents a fused CXXFunctionalCastExpr + CXXConstructExpr. That, in
itself, is probably a design error...
llvm-svn: 227377
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
It was used for interoperability with PNaCl's calling conventions, but
it's no longer needed.
Also Remove NaCl*ABIInfo which just existed to delegate to either the portable
or native ABIInfo, and remove checkCallingConvention which was now a no-op
override.
Reviewers: jvoung
Subscribers: jfb, llvm-commits
Differential Revision: http://reviews.llvm.org/D7206
llvm-svn: 227362
|