| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
| |
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
|
|
|
|
| |
llvm-svn: 83979
|
|
|
|
|
|
| |
Let replaceAllUsesWith() adjust VHs even though there are no uses.
llvm-svn: 83978
|
|
|
|
| |
llvm-svn: 83964
|
|
|
|
| |
llvm-svn: 83798
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
never want to defer generation of it, even if it is declared static.
With this change we're finally able to compile and run the (infamous)
#include <string>
#include <iostream>
int main(int argc, char **argv) {
std::cout << "Hello, World" << std::endl;
}
$ clang hello.cpp -lstdc++ -o hello
$ ./hello
Hello, World
llvm-svn: 83559
|
|
|
|
|
|
| |
keeping state, such as identifiers assigned to anonymous structs as well as scope encoding.
llvm-svn: 83442
|
|
|
|
| |
llvm-svn: 83342
|
|
|
|
| |
llvm-svn: 83337
|
|
|
|
| |
llvm-svn: 83328
|
|
|
|
| |
llvm-svn: 83303
|
|
|
|
|
|
| |
apparently because using directives aren't quite working correctly.
llvm-svn: 83184
|
|
|
|
| |
llvm-svn: 82644
|
|
|
|
|
|
| |
breaking some projects, but I don't have a test case yet.
llvm-svn: 82539
|
|
|
|
|
|
| |
- Switching all of them out-of-my-current-scope-of-interest, sorry.
llvm-svn: 82515
|
|
|
|
|
|
|
|
|
|
|
| |
Several of the existing methods were identical to their respective
specializations, and so have been removed entirely. Several more 'leaf'
optimizations were introduced.
The getAsFoo() methods which imposed extra conditions, like
getAsObjCInterfacePointerType(), have been left in place.
llvm-svn: 82501
|
|
|
|
|
|
|
|
|
|
| |
The decl wasn't being passed down, which meant that function attributes were not
being set correctly. This is particularly important for ARM, since it wants to
override the calling convention. Instead we would emit the builtin with the
wrong calling convention, and instcombine would come along and merrily shred all
the calls to it. :)
llvm-svn: 81756
|
|
|
|
|
|
|
|
| |
generated for an inline function definition, taking into account C99
and GNU inline/extern inline semantics. This solution is simpler,
cleaner, and fixes PR4536.
llvm-svn: 81670
|
|
|
|
|
|
| |
to use, and allow the ABI implementation to override the calling convention.
llvm-svn: 81593
|
|
|
|
| |
llvm-svn: 81589
|
|
|
|
| |
llvm-svn: 81582
|