| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| |
|
|
| |
llvm-svn: 230445
|
| |
|
|
|
|
| |
of writing out an AST file.
llvm-svn: 230428
|
| |
|
|
|
|
|
| |
ParseCXXTryBlockCommon() makes sense because it has two callers due to
function try blocks. There are no SEH function try blocks.
llvm-svn: 230426
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is a necessary prerequisite for debugging with modules.
The .pcm files become containers that hold the serialized AST which allows
us to store debug information in the module file that can be shared by all
object files that were built importing the module.
This reapplies r230044 with a fixed configure+make build and updated
dependencies and testcase requirements. Over the last iteration this
version adds
- missing target requirements for testcases that specify an x86 triple,
- a missing clangCodeGen.a dependency to libClang.a in the make build.
rdar://problem/19104245
llvm-svn: 230423
|
| |
|
|
|
|
| |
constructor.
llvm-svn: 230417
|
| |
|
|
|
|
|
| |
graph with M modules to take O(P) time, not just O(M) time, when using explicit
module builds.
llvm-svn: 230412
|
| |
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
| |
Commit of patch in http://reviews.llvm.org/D7871
llvm-svn: 230395
|
| |
|
|
|
|
| |
Commiting code from review http://reviews.llvm.org/D7841
llvm-svn: 230385
|
| |
|
|
|
|
|
| |
wrong (DiagnoseUseOfDecl should take both), but it's more consistent with what
we do in other places.
llvm-svn: 230384
|
| |
|
|
|
|
| |
implicitly construct a temporary in a reference binding.
llvm-svn: 230381
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Summary: Fixes PR22671.
Reviewers: rsmith
Subscribers: cfe-commits
Differential Revision: http://reviews.llvm.org/D7863
llvm-svn: 230362
|
| |
|
|
|
|
|
|
| |
The backend should now be able to handle all AAPCS rules based on argument
type, which means Clang no longer has to duplicate the register-counting logic
and the CodeGen can be significantly simplified.
llvm-svn: 230349
|
| |
|
|
|
|
|
|
|
|
| |
literals based on underlying type of wchar_t.
Reviewed:
http://reviews.llvm.org/D7559
Patch by Rachel Craig; Test cases by Hubert Tong.
llvm-svn: 230333
|
| |
|
|
|
|
|
| |
__kmpc_omp_flush() runtime library now has only one argument and is not a vararg
anymore. This update makes the codegen compatible with these changes.
llvm-svn: 230331
|
| |
|
|
|
|
|
|
|
| |
MSVC does not support C99 _Complex.
ICC, however, does support it on windows x86_64, and treats it, for purposes of parameter passing, as equivalent to a struct containing two fields (for the real and imaginary part).
Differential Revision: http://reviews.llvm.org/D7825
llvm-svn: 230315
|
| |
|
|
|
|
|
| |
Fixes multiple crashes where a non-canonical decl would be used as key
in a lookup.
llvm-svn: 230314
|
| |
|
|
|
|
|
| |
This reverts commit r230305.
Off to fix another round of missing dependencies on various platforms.
llvm-svn: 230309
|
| |
|
|
|
|
|
|
|
|
|
| |
This would cause frameworks to have spurious "redefinition" errors if
they had both a (legacy) "module.map" and a (new) "module.modulemap" file and we
happened to do a sub-directory search in that directory using a
non-framework include path (e.g. -Ifoo/ -Ffoo/). For migration
purposes it's very handy that the compiler will prefer the new spelling
of the filename and not look at the old one if it doesn't need to.
llvm-svn: 230308
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is a necessary prerequisite for debugging with modules.
The .pcm files become containers that hold the serialized AST which allows
us to store debug information in the module file that can be shared by all
object files that were built importing the module.
rdar://problem/19104245
This reapplies r230044 with a fixed configure+make build and updated
dependencies. Take 3.
llvm-svn: 230305
|
| |
|
|
|
|
|
|
| |
When generating coverage maps, we were traversing the body as if it
were part of the parent function, but this doesn't make sense since
we're currently counting lambdas as separate functions.
llvm-svn: 230304
|
| |
|
|
|
|
|
| |
bug is not actually modules-specific, but it's a little tricky to tickle it
outside of modules builds, so submitting with the reduced testcase I have.
llvm-svn: 230303
|
| |
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
| |
No two elements of this array should be the same, but the standard library
may pass the same element as both arguments to this function.
llvm-svn: 230293
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
Clang has introduced ::max_align_t in stddef.h in r201729, but libc++ was
already defining std::max_align_t on Darwin because there was none in the
global namespace. After that Clang commit though, libc++ started defining
std::max_align_t to be a typedef for ::max_align_t, which has a different
definition. This changed the ABI. This commit restores the previous
definition.
rdar://19919394 rdar://18557982
llvm-svn: 230292
|
| |
|
|
|
|
|
|
|
|
|
| |
ptr-operators, and use"
This seems to break mixing function-style and c-style casts, and is
breaking bootstrapping llvm.
This reverts r230261.
llvm-svn: 230274
|
| |
|
|
|
|
|
|
| |
the presence of an abstract declarator with a ptr-operator as proof that a
construct cannot parse as an expression to improve diagnostics along error
recovery paths.
llvm-svn: 230261
|
| |
|
|
|
|
|
|
|
|
| |
llvm.eh.sjlj.setjmp / llvm.eh.sjlj.longjmp, if the backend is known to
support them outside the Exception Handling context. The default
handling in LLVM codegen doesn't work and will create incorrect code.
The ARM backend on the other hand will assert if the intrinsics are
used.
llvm-svn: 230255
|
| |
|
|
| |
llvm-svn: 230253
|
| |
|
|
|
|
|
|
| |
Somehow this file ended up with a strange hybrid of the old "indent
inside a namespace" style and the new "don't", giving us a wonderful
two-space indent starting halfway through a namespace. Fix it.
llvm-svn: 230244
|
| |
|
|
|
|
|
|
| |
VS 2013 is the minimum supported version, so it's reasonable for Clang
to simulate this by default. This also simplifies the clang-cl
self-host, since we have the 18.00 version check.
llvm-svn: 230243
|
| |
|
|
|
|
|
|
| |
Reviewers: kcc, samsonov, petarj, eugenis
Differential Revision: http://reviews.llvm.org/D6147
llvm-svn: 230209
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Before C11 there was only the DECIMAL_DIG definition. As of C11, we now
have one definition per floating point type (e.g. DBL_DECIMAL_DIG).
Change the existing code to define the new versions. To remain backward
compatible, define __DECIMAL_DIG__ as __LDBL_DECIMAL_DIG__.
Also update the tests. It seems that some of the existing test vectors
were incorrect. Change all tests for __DECIMAL_DIG__ to expect
__LDBL_DECIMAL_DIG__. Add tests for *_DECIMAL_DIG for FreeBSD/amd64, as
I happen to have such a system laying around. I've validated that the
values are in sync with <float.h>.
llvm-svn: 230207
|
| |
|
|
| |
llvm-svn: 230199
|
| |
|
|
|
|
| |
if sized delete is not provided in global scope, and -fdefine-sized-deallocation option is disabled.
llvm-svn: 230160
|
| |
|
|
| |
llvm-svn: 230152
|
| |
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
dllexport (PR22591)
This is only a problem in C++03 mode targeting MS ABI (MinGW doesn't
export inline methods, and C++11 marks these methods implicitly
deleted).
Since targeting the MS ABI in pre-C++11 mode is a rare configuration,
this will probably not get fixed, but we can at least have a better
error message.
llvm-svn: 230115
|
| |
|
|
|
|
| |
driver into CC1 for now.
llvm-svn: 230112
|
| |
|
|
|
|
|
| |
can take a "const char*" format but supports standard printf
and CF/NS types . rdar://19904147
llvm-svn: 230109
|
| |
|
|
|
|
|
|
| |
This reverts commit 230099.
The Linux configure+make build variant still needs some work.
llvm-svn: 230103
|
| |
|
|
|
|
|
|
|
| |
The patch teaches the clang's driver to understand new MIPS ISA names,
pass appropriate options to the assembler, defines corresponding macros etc
http://reviews.llvm.org/D7737
llvm-svn: 230092
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is a necessary prerequisite for debugging with modules.
The .pcm files become containers that hold the serialized AST which allows
us to store debug information in the module file that can be shared by all
object files that were built importing the module.
rdar://problem/19104245
This reapplies r230044 with a fixed configure+make build and updated
dependencies. Take 2.
llvm-svn: 230089
|
| |
|
|
|
|
|
|
| |
This reverts commit r230067.
Investigating another batch of problems found by the bots.
llvm-svn: 230073
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is a necessary prerequisite for debugging with modules.
The .pcm files become containers that hold the serialized AST which allows
us to store debug information in the module file that can be shared by all
object files that were built importing the module.
rdar://problem/19104245
This reapplies r230044 with a fixed configure+make build and updated
dependencies.
llvm-svn: 230067
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
There are two issues here:
1) It's too late to rebuild at this point, because we won't go through
removeModules and when we try to reload the new .pcm we'll get the old
one instead. We might be able to call removeModules after an OutOfDate
here, but I'm not yet confident that it is always safe to do so.
2) In practice, this check fails spuriously when the umbrella header
appears to change because of a VFS change that means it maps to a
different copy of the same file. Because of this, we just skip the
check for now.
llvm-svn: 230064
|
| |
|
|
|
|
| |
Commit of review http://reviews.llvm.org/D7766
llvm-svn: 230061
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|