| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
|
|
|
|
| |
by setting the section of the generated global. This is an
optimization done by the code generator, and the code being
removed didn't handle the case when the string contained an
embedded nul (which the code generator does correctly
handle). This is rdar://7589850
llvm-svn: 95003
|
|
|
|
|
|
| |
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
|