| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
| |
definition. With that in mind, rename getDefinition to getAnyInitializer (to distinguish it from getInit) and reimplement it in terms of isThisDeclarationADefinition. Update all code to use this new function.
llvm-svn: 94999
|
|
|
|
|
|
|
| |
now that the "InBytes" part of the name is implied by the return type, rename
it to getDeclAlign().
llvm-svn: 94681
|
|
|
|
| |
llvm-svn: 94564
|
|
|
|
| |
llvm-svn: 94555
|
|
|
|
|
|
| |
of LLVM types in character units.
llvm-svn: 94542
|
|
|
|
|
|
| |
deferred (even if it's in an anonymous namespace).
llvm-svn: 94525
|
|
|
|
|
|
| |
constant Objective-C strings.
llvm-svn: 94274
|
|
|
|
|
|
|
|
|
| |
1. Add helper class for sema checks for target attributes
2. Add helper class for codegen of target attributes
As a proof-of-concept - implement msp430's 'interrupt' attribute.
llvm-svn: 93118
|
|
|
|
| |
llvm-svn: 93074
|
|
|
|
|
|
|
| |
run-time initialization, and emit run-time initializers aggresively to avoid
ordering issues with deferred globals.
llvm-svn: 92976
|
|
|
|
|
|
|
|
| |
linkage of vtables. Before this, we were emitting RTTI names for
template instantiations with strong external linkage rather than with
weak ODR linkage.
llvm-svn: 92857
|
|
|
|
|
|
| |
virtual function has a body inlined in the class
llvm-svn: 92855
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- All classes can have a key function; templates don't change that.
non-template classes when computing the key function.
- We always mark all of the virtual member functions of class
template instantiations.
- The vtable for an instantiation of a class template has weak
linkage.
We could probably use available_externally linkage for vtables of
classes instantiated by explicit instantiation declarations (extern
templates), but GCC doesn't do this and I'm not 100% that the ABI
permits it.
llvm-svn: 92753
|
|
|
|
| |
llvm-svn: 92749
|
|
|
|
| |
llvm-svn: 92253
|
|
|
|
|
|
| |
are about to not come in implicitly.
llvm-svn: 92228
|
|
|
|
|
|
| |
LLVM-Code-Symbols test.
llvm-svn: 92152
|
|
|
|
|
|
| |
no extra safety anyway.
llvm-svn: 91207
|
|
|
|
| |
llvm-svn: 91156
|
|
|
|
| |
llvm-svn: 91119
|
|
|
|
| |
llvm-svn: 91069
|
|
|
|
|
|
|
| |
type of the builtin when generating the function declaration for a builtin
library call.
llvm-svn: 90936
|
|
|
|
| |
llvm-svn: 90831
|
|
|
|
|
|
| |
(Yes, I do intend to commit some tests for this.)
llvm-svn: 90818
|
|
|
|
|
|
|
| |
generation, and make sure we generate thunks when the function is defined
rather than when the vtable is defined.
llvm-svn: 90722
|
|
|
|
| |
llvm-svn: 90711
|
|
|
|
| |
llvm-svn: 90624
|
|
|
|
|
|
| |
fixing a synthetic ctor/dtor bug.
llvm-svn: 90168
|
|
|
|
|
|
| |
the FE to set NoCommon, and simplify CodeGenOptions initialization.
llvm-svn: 90119
|
|
|
|
|
|
|
|
| |
operators, and destructors. Avoids generating declarations/definitions of
trivial constructors/destructors, and makes sure the trivial copy assignment
operator is generated when necessary.
llvm-svn: 89943
|
|
|
|
|
|
| |
internal linkage. Fixes PR5433.
llvm-svn: 89931
|
|
|
|
| |
llvm-svn: 89737
|
|
|
|
|
|
|
|
| |
- Sometimes we have to mangle things we wouldn't normally (e.g., because they appear in a template expression).
- This also tidies up the predicate to be more obvious what is getting mangled.
llvm-svn: 89555
|
|
|
|
|
|
|
| |
instead of requiring clients to make a raw_svector_ostream, which is just an
implementation detail.
llvm-svn: 89548
|
|
|
|
| |
llvm-svn: 89547
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The following attributes are currently supported in C++0x attribute
lists (and in GNU ones as well):
- align() - semantics believed to be conformant to n3000, except for
redeclarations and what entities it may apply to
- final - semantics believed to be conformant to CWG issue 817's proposed
wording, except for redeclarations
- noreturn - semantics believed to be conformant to n3000, except for
redeclarations
- carries_dependency - currently ignored (this is an optimization hint)
llvm-svn: 89543
|
|
|
|
| |
llvm-svn: 89412
|
|
|
|
|
|
| |
instantiate a class. WIP.
llvm-svn: 89289
|
|
|
|
| |
llvm-svn: 89079
|
|
|
|
|
|
| |
definitions, not declarations or calls.
llvm-svn: 88915
|
|
|
|
|
|
|
| |
This doesn't have any visible effects at the moment because normally the
implicit cast code forces the type to the expected type.
llvm-svn: 88896
|
|
|
|
|
|
| |
This resolves the layering violation where CodeGen depended on Frontend.
llvm-svn: 86998
|
|
|
|
| |
llvm-svn: 86516
|
|
|
|
| |
llvm-svn: 86368
|
|
|
|
|
|
| |
initialization before main. Fixes pr5396.
llvm-svn: 86145
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
inlined functions. For example, given
template<typename T>
class string {
unsigned Len;
public:
unsigned size() const { return Len; }
};
extern template class string<char>;
we now give the instantiation of string<char>::size
available_externally linkage (if it is ever instantiated!), as
permitted by the C++0x standard.
llvm-svn: 85340
|
|
|
|
|
|
| |
be inlined.
llvm-svn: 85307
|
|
|
|
|
|
| |
FunctionDecl::isInlineSpecified/setInlineSpecified.
llvm-svn: 85305
|
|
|
|
| |
llvm-svn: 85237
|
|
|
|
| |
llvm-svn: 85125
|