| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
| |
Anton Lokhmotov.
llvm-svn: 147496
|
| |
|
|
|
|
|
|
| |
called transitively
from C++ constructors or destructors. Checker by Lei Zhang with a few tweaks by Ted Kremenek.
llvm-svn: 147494
|
| |
|
|
|
|
| |
attribute.
llvm-svn: 147490
|
| |
|
|
|
|
|
|
|
|
|
|
| |
that if two modules A and B both contain a declaration of a tag such
as
struct X;
and those two modules are unrelated, the two declarations of X will be
merged into a single redeclaration chain.
llvm-svn: 147488
|
| |
|
|
| |
llvm-svn: 147482
|
| |
|
|
| |
llvm-svn: 147480
|
| |
|
|
| |
llvm-svn: 147479
|
| |
|
|
| |
llvm-svn: 147473
|
| |
|
|
| |
llvm-svn: 147469
|
| |
|
|
|
|
| |
which should not be default synthesized.
llvm-svn: 147468
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
modules. This leaves us without an explicit syntax for importing
modules in C/C++, because such a syntax needs to be discussed
first. In Objective-C/Objective-C++, the @import syntax is used to
import modules.
Note that, under -fmodules, C/C++ programs can import modules via the
#include mechanism when a module map is in place for that header. This
allows us to work with modules in C/C++ without committing to a syntax.
llvm-svn: 147467
|
| |
|
|
|
|
|
| |
to make a macro public (the default for headers) or private,
respectively.
llvm-svn: 147455
|
| |
|
|
|
|
| |
@import identifier [. identifier]* ;
llvm-svn: 147452
|
| |
|
|
|
|
|
| |
declarations in the AST unless modules are enabled. This case doesn't
come up with precompiled headers, and it isn't cheap.
llvm-svn: 147451
|
| |
|
|
|
|
|
|
| |
module imports from -fauto-module-import to -fmodules. The new name
will eventually be used to enable modules, and the #include/#import
mapping is a crucial part of the feature.
llvm-svn: 147447
|
| |
|
|
| |
llvm-svn: 147441
|
| |
|
|
|
|
| |
-ffast-math.
llvm-svn: 147440
|
| |
|
|
|
|
|
| |
Add a test that such characters don't make it through to StringLiteral objects
in error recovery.
llvm-svn: 147438
|
| |
|
|
|
|
|
| |
is known (to Clang), but is not visible because the module has not yet
been imported.
llvm-svn: 147436
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Clang driver. This involves a bunch of silly option parsing code to try
to carefully emulate GCC's options. Currently, this takes a conservative
approach, and unless all of the unsafe optimizations are enabled, none
of them are. The fine grained control doesn't seem particularly useful.
If it ever becomes useful, we can add that to LLVM first, and then
expose it here.
This also fixes a few tiny bugs in the flag management around
-fhonor-infinities and -fhonor-nans; the flags now form proper sets both
for enabling and disabling, with the last flag winning.
I've also implemented a moderately terrifying GCC feature where
a language change is also provided by the '-ffast-math' flag by defining
the __FAST_MATH__ preprocessor macro. This feature is tracked and
serialized in the frontend but it isn't used yet. A subsequent patch
will add the preprocessor macro and tests for it.
I've manually tested that codegen appears to respect this, but I've not
dug in enough to see if there is an easy way to test codegen options w/o
relying on the particulars of LLVM's optimizations.
llvm-svn: 147434
|
| |
|
|
| |
llvm-svn: 147424
|
| |
|
|
|
|
|
| |
multiple, disjoint modules. There is far too much duplicating with the
ObjCInterfaceDecl case here, which I'll eliminate shortly.
llvm-svn: 147417
|
| |
|
|
|
|
|
| |
forward declarations and definitions of an Objective-C protocol are
represented within a single chain of ObjCProtocolDecls.
llvm-svn: 147412
|
| |
|
|
|
|
| |
take precedence over command line options. Fixes PR10113.
llvm-svn: 147405
|
| |
|
|
|
|
|
|
|
| |
features needed for a particular module to be available. This allows
mixed-language modules, where certain headers only work under some
language variants (e.g., in C++, std.tuple might only be available in
C++11 mode).
llvm-svn: 147387
|
| |
|
|
|
|
|
|
| |
mark it as XFAIL: mingw32.
Mingw32 target has not supported integrated-as yet.
llvm-svn: 147386
|
| |
|
|
| |
llvm-svn: 147385
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Also temporarily remove the assumption from IR gen that we can emit IR for every
constant we can fold, since it isn't currently true in C++11, to fix PR11676.
Original comment from r147271:
constexpr: perform zero-initialization prior to / instead of performing a
constructor call when appropriate. Thanks to Eli for spotting this.
llvm-svn: 147384
|
| |
|
|
| |
llvm-svn: 147372
|
| |
|
|
| |
llvm-svn: 147363
|
| |
|
|
| |
llvm-svn: 147362
|
| |
|
|
|
|
|
| |
'is an extension'. The former is inappropriate and confusing when building with
-Werror/-pedantic-errors.
llvm-svn: 147357
|
| |
|
|
|
|
| |
enabled, but can be disabled separately. Move popcnt intrinsics to popcntintrin.h to match gcc.
llvm-svn: 147340
|
| |
|
|
| |
llvm-svn: 147331
|
| |
|
|
|
|
|
|
|
| |
with sse disabled.
x87 math evaluates everything with 80 bits precision, so we have to set FLT_EVAL_METHOD
to "2".
llvm-svn: 147311
|
| |
|
|
|
|
|
| |
It should not be supported in C++11, since that uses the C99 standard
library, in which 'a' is a format specifier.
llvm-svn: 147310
|
| |
|
|
|
|
|
| |
covers both declarations (@class) and definitions (@interface) of an
Objective-C class.
llvm-svn: 147299
|
| |
|
|
|
|
|
|
|
| |
when using -fvisibility-inlines-hidden. This matches gcc's behavior and
documentation.
Fixes PR11642.
llvm-svn: 147295
|
| |
|
|
| |
llvm-svn: 147290
|
| |
|
|
| |
llvm-svn: 147281
|
| |
|
|
| |
llvm-svn: 147275
|
| |
|
|
|
|
|
| |
longer have access to the source locations we need to produce the
'replace constexpr with const' fixits, so they're gone for now.
llvm-svn: 147273
|
| |
|
|
|
|
| |
constructor call when appropriate. Thanks to Eli for spotting this.
llvm-svn: 147271
|
| |
|
|
| |
llvm-svn: 147267
|
| |
|
|
| |
llvm-svn: 147265
|
| |
|
|
| |
llvm-svn: 147263
|
| |
|
|
|
|
|
| |
case they override virtual functions from a base class. Also fix -print-stats
counting of move assignment/construction.
llvm-svn: 147258
|
| |
|
|
| |
llvm-svn: 147253
|
| |
|
|
|
|
| |
other intrinsic headers.
llvm-svn: 147242
|
| |
|
|
| |
llvm-svn: 147240
|