| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| |
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
|
| |
member function template, since the behavior is identical for
ObjCInterfaceDecl and ObjCProtocolDecl. It's expected that all
redeclarable entities will have the same behavior.
llvm-svn: 147450
|
| |
|
|
|
|
| |
default anyway).
llvm-svn: 147449
|
| |
|
|
|
|
| |
"AutoModuleImport" preprocessor option and is tied to -fmodules.
llvm-svn: 147448
|
| |
|
|
|
|
|
|
| |
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: 147433
|
| |
|
|
| |
llvm-svn: 147424
|
| |
|
|
|
|
| |
used anywhere.
llvm-svn: 147422
|
| |
|
|
| |
llvm-svn: 147421
|
| |
|
|
|
|
| |
ObjCProtocolDecl proper source-range information.
llvm-svn: 147420
|
| |
|
|
|
|
| |
They are no longer needed
llvm-svn: 147419
|
| |
|
|
| |
llvm-svn: 147418
|
| |
|
|
|
|
|
| |
multiple, disjoint modules. There is far too much duplicating with the
ObjCInterfaceDecl case here, which I'll eliminate shortly.
llvm-svn: 147417
|
| |
|
|
| |
llvm-svn: 147416
|
| |
|
|
|
|
| |
ObjCProtocolDecl modules forward declarations properly.
llvm-svn: 147415
|
| |
|
|
|
|
| |
module file when we've merely added a definition
llvm-svn: 147414
|
| |
|
|
|
|
| |
longer needed now that we aren't back-patching ObjCProtocolDecls.
llvm-svn: 147413
|
| |
|
|
|
|
|
| |
forward declarations and definitions of an Objective-C protocol are
represented within a single chain of ObjCProtocolDecls.
llvm-svn: 147412
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
for Objective-C protocols, including:
- Using the first declaration as the canonical declaration
- Using the definition as the primary DeclContext
- Making sure that all declarations have a pointer to the definition
data, and that we know which declaration is the definition
- Serialization support for redeclaration chains and for adding
definitions to already-serialized declarations.
However, note that we're not taking advantage of much of this code
yet, because we're still re-using ObjCProtocolDecls.
llvm-svn: 147410
|
| |
|
|
|
|
|
|
|
| |
separately-allocated DefinitionData structure. Introduce various
functions that will help with the separation of declarations from
definitions (isThisDeclarationADefinition(), hasDefinition(),
getDefinition()).
llvm-svn: 147408
|
| |
|
|
| |
llvm-svn: 147407
|
| |
|
|
|
|
|
| |
getCanonicalDecl() when putting ObjCProtocolDecls into a set. This is
groundwork for making ObjCProtocolDecl redeclarable.
llvm-svn: 147406
|
| |
|
|
|
|
| |
take precedence over command line options. Fixes PR10113.
llvm-svn: 147405
|
| |
|
|
| |
llvm-svn: 147401
|
| |
|
|
|
|
|
|
|
| |
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
|
| |
|
|
| |
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: 147373
|
| |
|
|
| |
llvm-svn: 147372
|
| |
|
|
|
|
| |
flag was used.
llvm-svn: 147371
|
| |
|
|
|
|
| |
imply sse3. Matches gcc behavior.
llvm-svn: 147370
|
| |
|
|
| |
llvm-svn: 147362
|
| |
|
|
|
|
|
| |
'is an extension'. The former is inappropriate and confusing when building with
-Werror/-pedantic-errors.
llvm-svn: 147357
|
| |
|
|
| |
llvm-svn: 147355
|
| |
|
|
|
|
| |
enabled, but can be disabled separately. Move popcnt intrinsics to popcntintrin.h to match gcc.
llvm-svn: 147340
|
| |
|
|
| |
llvm-svn: 147338
|
| |
|
|
| |
llvm-svn: 147331
|
| |
|
|
|
|
| |
clients. No functionality change.
llvm-svn: 147318
|
| |
|
|
|
|
| |
Patch by Sylvestre Ledru. Fixes PR11673.
llvm-svn: 147313
|
| |
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
|
|
|
| |
block-level expr. Currently CXXConstructExpr is always added as a block-level
expr. This caused two problems for the analyzer (and potentially for the
CFG-based codegen).
1. We have no way to know whether a ctor call is base or complete.
2. We have no way to know the destination object being contructed.
llvm-svn: 147306
|
| |
|
|
|
|
|
| |
covers both declarations (@class) and definitions (@interface) of an
Objective-C class.
llvm-svn: 147299
|