| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
| |
llvm-svn: 243222
|
| |
|
|
|
|
| |
No functional change intended.
llvm-svn: 243221
|
| |
|
|
| |
llvm-svn: 243218
|
| |
|
|
|
|
|
|
|
| |
This lets us pass functors (and lambdas) without void * tricks. On the
downside we can't pass CXXRecordDecl's Find* members (which are now type
safe) to lookupInBases directly, but a lambda trampoline is a small
price to pay. No functionality change intended.
llvm-svn: 243217
|
| |
|
|
|
|
|
| |
Avoids the awkward passing of an opaque void *UserData argument. No
functional change intended.
llvm-svn: 243213
|
| |
|
|
| |
llvm-svn: 243207
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
__builtin_frame_address requires its argument to be a constant
expression which already implies that it cannot have undefined behavior.
However, we used EmitScalarExpr to emit the argument causing UBSan to
try to check for overflow.
Instead, use the constant expression emission system.
This fixes PR24256.
llvm-svn: 243206
|
| |
|
|
|
|
|
|
| |
This fixes the clang crash reported in PR24000.
Differential Revision: http://reviews.llvm.org/D11341
llvm-svn: 243196
|
| |
|
|
|
|
|
| |
This is a follow-up to r243185, which made changes to pass subtarget
feature "+reserve-x18" instead of backend option "-aarch64-reserve-x18".
llvm-svn: 243189
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
option "-aarch64-reserve-x18".
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/D11462
llvm-svn: 243185
|
| |
|
|
|
|
| |
the wording is identical; NFC.
llvm-svn: 243169
|
| |
|
|
|
|
|
|
|
| |
Change `getOrCreateLimitedType()` to return a `DICompositeType` and
remove the casts from its callers. Inside, I've strengthened a `cast`
from `DICompositeTypeBase`, but the casts in the callers already prove
that this is safe. There should be no functionality change here.
llvm-svn: 243155
|
| |
|
|
|
|
|
|
| |
Generic_GCC::GCCVersion
similar to the way Generic_GCC::GCCInstallationDetector::ScanLibDirForGCCTriple works.
llvm-svn: 243153
|
| |
|
|
|
|
| |
Thanks to Richard Smith for pointing this out!
llvm-svn: 243144
|
| |
|
|
|
|
|
|
|
|
| |
These changes are for Android x86_64 targets to be compatible with current Android g++.
https://llvm.org/bugs/show_bug.cgi?id=23897
Use 'g' and 'Cg' for "long double" and "long double _Complex" mangled type names.
Differential Revision: http://reviews.llvm.org/D11466
llvm-svn: 243133
|
| |
|
|
|
|
|
| |
Change `StaticDataMemberCache` to store references to `DIDerivedType`
directly, and remove now-unnecessary casts from the accessors.
llvm-svn: 243129
|
| |
|
|
| |
llvm-svn: 243125
|
| |
|
|
| |
llvm-svn: 243120
|
| |
|
|
|
|
|
|
|
|
|
|
| |
implementations.
The outer nullability is transferred from the declaration to the implementation so including them is redundant.
The inner ones are not transferred so they are kept to match the exact types. When we transfer the inner ones as well
adding them in the implementation will become redundant and we should strip those as well.
rdar://21737451
llvm-svn: 243119
|
| |
|
|
|
| |
From: Mehdi Amini <mehdi.amini@apple.com>
llvm-svn: 243115
|
| |
|
|
|
|
| |
not throughUsingDeclaration(). (2) Testing shows that this does work for shadowed variables as well as shadowed functions. I could not find an example where this matcher was failing. NFC.
llvm-svn: 243111
|
| |
|
|
|
|
| |
also silence a -Wreturn-type warning. NFC intended.
llvm-svn: 243109
|
| |
|
|
|
|
| |
a compile error.
llvm-svn: 243108
|
| |
|
|
|
|
| |
declaration are marked final.
llvm-svn: 243107
|
| |
|
|
|
|
| |
directory structure. Try to make mingw toolchain resilient to such surprises.
llvm-svn: 243105
|
| |
|
|
| |
llvm-svn: 243101
|
| |
|
|
|
|
|
|
| |
Address Richard Smith comments: remove the trailing seperator from the Arch
variable, implement six mingw_* trees under tools/clangtest/Driver/Inputs
and merge linux and Windows tests into a universal test that uses these trees.
llvm-svn: 243098
|
| |
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
| |
llvm-svn: 243092
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
|
| |
analyzers without the core checkers is not supported.
Differential Revision: http://reviews.llvm.org/D11432
llvm-svn: 243088
|
| |
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
| |
llvm-svn: 243068
|
| |
|
|
|
|
|
|
| |
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
|
| |
|
|
| |
llvm-svn: 243048
|
| |
|
|
|
|
|
|
|
| |
Large CFGs cause `checkForFunctionCall()` to overflow its stack. Break
the recursion by manually managing the call stack instead.
Patch by Vedant Kumar!
llvm-svn: 243039
|
| |
|
|
|
|
|
|
|
|
| |
Split out `hasRecursiveCallInPath()` from `checkForFunctionCall()` to
flatten nesting and clarify the code. This also simplifies a follow-up
patch that refactors the other logic in `checkForFunctionCall()`.
Patch by Vedant Kumar!
llvm-svn: 243038
|
| |
|
|
|
|
| |
somewhat differently when used within clang-query. Fixes PR24217.
llvm-svn: 243029
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
| |
Original patch [r240761] is missing all new files because of committer's mistake.
llvm-svn: 243018
|
| |
|
|
|
|
|
|
| |
intrinsics for: add/sub/mul/div/min/max in their FP scalar versions
Differential Revision: http://reviews.llvm.org/D11418
llvm-svn: 243009
|
| |
|
|
|
|
| |
Differential Revision: http://reviews.llvm.org/D11420
llvm-svn: 242986
|
| |
|
|
|
|
|
|
| |
overloaded.
Suggested by Richard Smith.
llvm-svn: 242980
|
| |
|
|
| |
llvm-svn: 242977
|
| |
|
|
|
|
|
|
| |
(PR24215)
The code will still work as it can reference the function via its thunk.
llvm-svn: 242973
|
| |
|
|
|
|
|
|
| |
This makes it possible to use EHPersonality in other parts of CodeGen.
Differential Revision: http://reviews.llvm.org/D11440
llvm-svn: 242971
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
| |
llvm-svn: 242960
|