| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
| |
attribute as part of the calculation. Sema::MarkDeclReferenced(), and
a few other places, want only to consider the "used" bit to determine,
e.g, whether to perform template instantiation. Fixes a linkage issue
with Boost.Serialization.
llvm-svn: 106252
|
| |
|
|
| |
llvm-svn: 106188
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Currently, there are two effective changes:
- Attr::Kind has been changed to attr::Kind, in a separate namespace
rather than the Attr class. This is because the enumerator needs to
be visible to parse.
- The class definitions for the C++0x attributes other than aligned are
generated by TableGen.
The specific classes generated by TableGen are controlled by an array in
TableGen (see the accompanying commit to the LLVM repository). I will be
expanding the amount of code generated as I develop the new attributes system
while initially keeping it confined to these attributes.
llvm-svn: 106172
|
| |
|
|
|
|
| |
Straszheim!
llvm-svn: 106113
|
| |
|
|
| |
llvm-svn: 106108
|
| |
|
|
|
|
| |
completely initialized.
llvm-svn: 106043
|
| |
|
|
| |
llvm-svn: 106025
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
library configuration
Currently, all AST consumers are located in the Frontend library,
meaning that in a shared library configuration, Frontend has a
dependency on Rewrite, Checker and CodeGen. This is suboptimal for
clients which only wish to make use of the frontend. CodeGen in
particular introduces a large number of unwanted dependencies.
This patch breaks the dependency by moving all AST consumers with
dependencies on Rewrite, Checker and/or CodeGen to their respective
libraries. The patch therefore introduces dependencies in the other
direction (i.e. from Rewrite, Checker and CodeGen to Frontend).
After applying this patch, Clang builds correctly using CMake and
shared libraries ("cmake -DBUILD_SHARED_LIBS=ON").
N.B. This patch includes file renames which are indicated in the
patch body.
Changes in this revision of the patch:
- Fixed some copy-paste mistakes in the header files
- Modified certain aspects of the coding to comply with the LLVM
Coding Standards
llvm-svn: 106010
|
| |
|
|
| |
llvm-svn: 106003
|
| |
|
|
|
|
| |
macro. Fixes PR 7361.
llvm-svn: 105984
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
source code location instead of on the note. Previously we generated:
<inline asm>:1:2: error: unrecognized instruction
barf
^
t.c:4:8: note: generated from here
asm ("barf");
^
Now we generate:
t.c:4:8: error: unrecognized instruction
asm ("barf");
^
<inline asm>:1:2: note: instantated into assembly here
barf
^
llvm-svn: 105978
|
| |
|
|
|
|
|
| |
Apparently some programs which abuse the preprocessor depend
on this.
llvm-svn: 105889
|
| |
|
|
|
|
| |
the decl was read from a PCH file.
llvm-svn: 105852
|
| |
|
|
|
|
| |
over Arg*s.
llvm-svn: 105838
|
| |
|
|
| |
llvm-svn: 105830
|
| |
|
|
|
|
|
| |
candidates printed. We default to 'all'. At the moment, 'best' prints only
the first 4 overloads, but we'll improve that over time.
llvm-svn: 105815
|
| |
|
|
|
|
| |
select either the default Itanium ABI or the new, experimental Microsoft ABI.
llvm-svn: 105804
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
case of an elaborated-type-specifier like 'typename A<T>::foo', and
DependentTemplateSpecializationType represents the case of an
elaborated-type-specifier like 'typename A<T>::template B<T>'. The TypeLoc
representation of a DependentTST conveniently exactly matches that of an
ElaboratedType wrapping a TST.
Kill off the explicit rebuild methods for RebuildInCurrentInstantiation;
the standard implementations work fine because the nested name specifier
is computable in the newly-entered context.
llvm-svn: 105801
|
| |
|
|
|
|
|
| |
value semantics such that we recurse while the visitors return true, and halt
as soon as one returns false. Patch by csilvers.
llvm-svn: 105787
|
| |
|
|
| |
llvm-svn: 105759
|
| |
|
|
|
|
|
|
|
|
| |
new design discussed on cfe-dev, with further steps in that direction to come.
It is already much more complete than the previous visitor.
Patch by Zhanyong and Craig with 80 column wraps and one missing declaration
added by me.
llvm-svn: 105709
|
| |
|
|
|
|
| |
scattered throughout the project Makefiles.
llvm-svn: 105638
|
| |
|
|
|
|
| |
- This eliminates most dependencies on how Clang is installed relative to LLVM.
llvm-svn: 105637
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- This magically enables using 'clang -cc1' as a replacement for most of 'llvm-as', 'llvm-dis', 'llc' and 'opt' functionality.
For example, 'llvm-as' is:
$ clang -cc1 -emit-llvm-bc FOO.ll -o FOO.bc
and 'llvm-dis' is:
$ clang -cc1 -emit-llvm FOO.bc -o -
and 'opt' is, e.g.:
$ clang -cc1 -emit-llvm -O3 -o FOO.opt.ll FOO.ll
and 'llc' is, e.g.:
$ clang -cc1 -S -o - FOO.ll
The nice thing about using the backend tools this way is that they are guaranteed to exactly match how the compiler generates code (for example, setting the same backend options).
llvm-svn: 105583
|
| |
|
|
|
|
| |
- These inputs follow an abbreviated execution path, but are still worth handling by FrontendAction so they reuse all the other clang -cc1 features.
llvm-svn: 105582
|
| |
|
|
| |
llvm-svn: 105581
|
| |
|
|
| |
llvm-svn: 105580
|
| |
|
|
|
|
| |
to parallel what is done for AST inputs.
llvm-svn: 105579
|
| |
|
|
|
|
| |
instead of an IsAST bool.
llvm-svn: 105578
|
| |
|
|
| |
llvm-svn: 105577
|
| |
|
|
|
|
| |
create modules which have target data strings.
llvm-svn: 105576
|
| |
|
|
| |
llvm-svn: 105575
|
| |
|
|
|
|
| |
argument to BackendConsumer.
llvm-svn: 105574
|
| |
|
|
| |
llvm-svn: 105525
|
| |
|
|
| |
llvm-svn: 105484
|
| |
|
|
|
|
| |
No functionality change yet.
llvm-svn: 105479
|
| |
|
|
|
|
| |
moves us further.
llvm-svn: 105468
|
| |
|
|
|
|
|
| |
the case where we pick up block arguments from a typedef. Save the block
signature as it was written, and preserve same through PCH.
llvm-svn: 105466
|
| |
|
|
|
|
|
|
| |
This is required in order to test:
The ASTImporter should set base classes after formally entering the definition.
llvm-svn: 105401
|
| |
|
|
| |
llvm-svn: 105329
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
continues to
bring in the entire lookup table at once.
Also, give ExternalSemaSource's vtable a home. This is important because otherwise
any reference to it will cause RTTI to be emitted, and since clang is compiled
with -fno-rtti, that RTTI will contain unresolved references (to ExternalASTSource's
RTTI). So this change makes it possible to subclass ExternalSemaSource from projects
compiled with RTTI, as long as the subclass's home is compiled with -fno-rtti.
llvm-svn: 105268
|
| |
|
|
|
|
|
|
| |
The macros required for DeclNodes use have changed to match the use of
StmtNodes. The FooFirst enumerator constants have been named firstFoo
to match usage elsewhere.
llvm-svn: 105165
|
| |
|
|
| |
llvm-svn: 105084
|
| |
|
|
| |
llvm-svn: 105083
|
| |
|
|
| |
llvm-svn: 105082
|
| |
|
|
| |
llvm-svn: 104990
|
| |
|
|
|
|
|
| |
Currently, the backend uses the same policy, but it will soon switch to
-regalloc=fast for -O0.
llvm-svn: 104984
|
| |
|
|
|
|
|
|
|
|
|
|
| |
the x86-64 __va_list_tag with this attribute. The attribute causes the
affected type to behave like a fundamental type when considered by ADL.
(x86-64 is the only target we currently provide with a struct-based
__builtin_va_list)
Fixes PR6762.
llvm-svn: 104941
|
| |
|
|
|
|
|
|
| |
paths on non-x86.
I really detest this file.
llvm-svn: 104921
|
| |
|
|
| |
llvm-svn: 104906
|