| 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
|
| |
|
|
|
|
| |
the class, so that they are usable in +load methods if the string class has been compiled with clang - if it's been compiled with GCC, the ABI makes this impossible. (GNU runtimes)
llvm-svn: 147493
|
| |
|
|
|
|
| |
attribute.
llvm-svn: 147490
|
| |
|
|
| |
llvm-svn: 147489
|
| |
|
|
|
|
|
|
|
|
|
|
| |
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: 147483
|
| |
|
|
| |
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
|
| |
|
|
|
|
| |
preprocessor to warn about it.
llvm-svn: 147466
|
| |
|
|
|
|
| |
attributes for later use.
llvm-svn: 147457
|
| |
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
|
| |
calls setVisibility/setLinkage.
No functionality change.
llvm-svn: 147423
|
| |
|
|
|
|
| |
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
|
| |
|
|
| |
llvm-svn: 147395
|
| |
|
|
| |
llvm-svn: 147388
|