| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
| |
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
|
| |
|
|
|
|
|
| |
Instead of using CPlusPlus, use Bool. No functionality change is
intended, it just makes things a tad bit more clear.
llvm-svn: 242957
|
| |
|
|
|
|
|
|
| |
Patch by Eugene Zelenko!
Differential Revision: http://reviews.llvm.org/D11401
llvm-svn: 242931
|
| |
|
|
| |
llvm-svn: 242927
|
| |
|
|
| |
llvm-svn: 242915
|
| |
|
|
|
|
|
|
| |
Patch by Martell Malone!
http://reviews.llvm.org/D11349
llvm-svn: 242914
|
| |
|
|
| |
llvm-svn: 242906
|
| |
|
|
|
|
|
|
|
|
| |
Now clang should be able to use compiler-rt and libc++ on mingw.
Based on a patch by Martell Malone.
Differential Revision: http://reviews.llvm.org/D11237
llvm-svn: 242905
|
| |
|
|
|
|
|
|
| |
Fixes PR21000.
Patch by Artem Belevich.
llvm-svn: 242904
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
Create diagnostic for function concept declaration which is not a
definition.
Create diagnostic for concept declaration which isn't in namespace
scope.
Create associated tests.
Reviewers: rsmith, faisalv, fraggamuffin, hubert.reinterpretcast
Subscribers: cfe-commits
Differential Revision: http://reviews.llvm.org/D11027
Patch by Nathan Wilson!
llvm-svn: 242899
|
| |
|
|
| |
llvm-svn: 242898
|
| |
|
|
|
|
| |
C++ modules. Instead, serialize a list of interesting identifiers and mark those ones out of date on module import. Avoiding the identifier lookups here gives a 20-30% speedup in builds with large numbers of modules. No functionality change intended.
llvm-svn: 242868
|
| |
|
|
|
|
|
|
|
|
|
| |
more modules are added: visit modules depth-first rather than breadth-first.
The visitation is still (approximately) oldest-to-newest, and still guarantees
that a module is visited before anything it imports, so modules that are
imported by others sometimes need to jump to a later position in the visitation
order when more modules are loaded, but independent module trees don't
interfere with each other any more.
llvm-svn: 242863
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
Before we skipped that for virtual functions not fully qualified (r81507).
This commit basically reverts this to the older behaviour, which seems
more consistent. We now also correctly consider ill-formed calls to deleted
member functions, which were silently passed before in some cases.
The review contains the whole discussion.
PR: 20268
Differential Revision: http://reviews.llvm.org/D11334
llvm-svn: 242857
|