| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
llvm-svn: 84436
|
|
|
|
| |
llvm-svn: 84142
|
|
|
|
|
|
|
|
| |
class templates the proper linkage.
Daniel, please look over the CodeGenModule bits.
llvm-svn: 84140
|
|
|
|
| |
llvm-svn: 84114
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
1) -fwritable-string does affect the non-utf16 version of cfstrings
just not the utf16 ones.
2) utf16 strings should always be marked constant, as the __TEXT segment
is readonly.
3) The name of the global doesn't matter, remove it from TargetInfo.
4) Trust the asmprinter to drop cstrings into the right section, like llvmgcc does now.
This fixes rdar://7115750
llvm-svn: 84077
|
|
|
|
| |
llvm-svn: 84075
|
|
|
|
| |
llvm-svn: 84050
|