- Nov 08, 2013
-
-
David Majnemer authored
GEP expressions were folded differently from before, change the tests to reflect this. llvm-svn: 194243
-
- Nov 06, 2013
-
-
Rafael Espindola authored
On the microsoft ABI clang is producing one weak_odr and one linkonce_odr destructor, which is reasonable since only one is required. The fix is simply to move the assert past the special case treatment of linkonce_odr. llvm-svn: 194158
-
Timur Iskhodzhanov authored
llvm-svn: 194132
-
- Nov 05, 2013
-
-
Rafael Espindola authored
This is a small optimization on linux, but should help more on windows where msvc only outputs one destructor if there would be two identical ones. llvm-svn: 194095
-
Timur Iskhodzhanov authored
llvm-svn: 194082
-
Richard Smith authored
deallocation function (and the corresponding unsized deallocation function has been declared), emit a weak discardable definition of the function that forwards to the corresponding unsized deallocation. This allows a C++ standard library implementation to provide both a sized and an unsized deallocation function, where the unsized one does not just call the sized one, for instance by putting both in the same object file within an archive. llvm-svn: 194055
-
Rafael Espindola authored
llvm-svn: 194050
-
Rafael Espindola authored
llvm-svn: 194049
-
Rafael Espindola authored
This reverts commit r194046. Debugging a bootstrap issue. llvm-svn: 194047
-
Rafael Espindola authored
This is a small optimization on linux, but should help more on windows where msvc only outputs one destructor if there would be two identical ones. llvm-svn: 194046
-
- Nov 04, 2013
-
-
Rafael Espindola authored
With this patch we produce alias for cases like template<typename T> struct foobar { foobar() { } }; template struct foobar<void>; We just have to be careful to produce the same aliases in every TU because of comdats. llvm-svn: 194000
-
David Majnemer authored
If the sole distinction between two declarations is that one has a __restrict qualifier then we should not consider it to be an overload. Instead, we will consider it as an incompatible redeclaration which is similar to how MSVC, ICC and GCC would handle it. This fixes PR17786. N.B. We must not mangle in __restrict into method qualifiers becase we don't allow overloading between such declarations anymore. To do otherwise would be a violation of the Itanium ABI. llvm-svn: 193964
-
- Nov 02, 2013
-
-
NAKAMURA Takumi authored
- Don't seek "entry:" It dosen't appear with -Asserts. - Take care that Codegen'ed Instruction(s) wouldn't have name(s) in -Asserts. llvm-svn: 193908
-
Warren Hunt authored
llvm-svn: 193902
-
Warren Hunt authored
long in linux 64 is 64 bits but is always 32 bits on windows. The lit test was modified to use long long instead of long and check for 64-bit mangling. llvm-svn: 193901
-
Warren Hunt authored
Differential Revision: http://llvm-reviews.chandlerc.com/D2082 Adds a lang_c LinkageSpecDecl to lazily generated builtins. This enforces correct behavior for builtins in a variety of cases without special treatment elsewhere within the compiler (special treatment is removed by the patch). It also allows for C++ overloads of builtin functions, which Microsoft uses in their headers e.g. _InterlockedExchangeAdd is an extern C builtin for the long type but an inline wrapper for int type. llvm-svn: 193896
-
- Oct 30, 2013
-
-
Timur Iskhodzhanov authored
Make thunk this/return adjustment ABI-specific. Also, fix the return adjustment when using -cxx-abi microsoft Reviewed at http://llvm-reviews.chandlerc.com/D2026 llvm-svn: 193679
-
- Oct 29, 2013
-
-
Timur Iskhodzhanov authored
llvm-svn: 193610
-
Timur Iskhodzhanov authored
llvm-svn: 193608
-
- Oct 26, 2013
-
-
Rafael Espindola authored
llvm-svn: 193484
-
NAKAMURA Takumi authored
Clang confuses among dosish paths. In this case, "Input/foo.cpp" and "Input\foo.cpp" cannot be unified. llvm-svn: 193456
-
- Oct 23, 2013
-
-
David Majnemer authored
The Itanium mangler couldn't cope with mangling an IndirectFieldDecl. Instead, mangle the field the IndirectFieldDecl refers to. Further, give IndirectFieldDecl no linkage just like FieldDecl. N.B. Decl.cpp:getLVForNamespaceScopeDecl tried to calculate linkage for data members of anonymous structs/unions. However, this seems impossible so turn it into an assertion. llvm-svn: 193269
-
Richard Smith authored
check using the ubsan runtime) and -fsanitize=local-bounds (for the middle-end check which inserts traps). Remove -fsanitize=local-bounds from -fsanitize=undefined. It does not produce useful diagnostics and has false positives (PR17635), and is not a good compromise position between UBSan's checks and ASan's checks. Map -fbounds-checking to -fsanitize=local-bounds to restore Clang's historical behavior for that flag. llvm-svn: 193205
-
- Oct 22, 2013
-
-
Timur Iskhodzhanov authored
Reviewed at http://llvm-reviews.chandlerc.com/D1977 llvm-svn: 193176
-
David Majnemer authored
Summary: Enforce the rule in C++11 [temp.mem]p2 that local classes cannot have member templates. This fixes PR16947. N.B. C++14 has slightly different wording to afford generic lambdas declared inside of functions. Fun fact: Some formulations of local classes with member templates would cause clang to crash during Itanium mangling, such as the following: void outer_mem() { struct Inner { template <typename = void> struct InnerTemplateClass { static void itc_mem() {} }; }; Inner::InnerTemplateClass<>::itc_mem(); } Reviewers: eli.friedman, rsmith, doug.gregor, faisalv Reviewed By: doug.gregor CC: cfe-commits, ygao Differential Revision: http://llvm-reviews.chandlerc.com/D1866 llvm-svn: 193144
-
- Oct 20, 2013
-
-
Peter Collingbourne authored
This uses function prefix data to store function type information at the function pointer. Differential Revision: http://llvm-reviews.chandlerc.com/D1338 llvm-svn: 193058
-
Alp Toker authored
The convention is LF unless specifically testing line endings. llvm-svn: 193056
-
- Oct 17, 2013
-
-
Timur Iskhodzhanov authored
llvm-svn: 192875
-
Eric Christopher authored
function, not the context of the context. llvm-svn: 192862
-
- Oct 16, 2013
-
-
Timur Iskhodzhanov authored
[-cxx-abi microsoft] Fix this argument/parameter offsets for virtual destructors in the presence of virtual bases Reviewed at http://llvm-reviews.chandlerc.com/D1939 llvm-svn: 192822
-
Timur Iskhodzhanov authored
llvm-svn: 192786
-
Rafael Espindola authored
This removes the dependency on the llvm mangler doing it for us. In isolation, the benefit is that the testing of what mangling is applied is all in one place: (C, C++) X (Itanium, Microsoft) are all handled by clang. This also gives me hope that in the future the llvm mangler (and llvm-ar) will not depend on TargetMachine. llvm-svn: 192762
-
- Oct 15, 2013
-
-
Yunzhong Gao authored
reject this test case at the Sema stage, so no CodeGen test should be needed. llvm-svn: 192738
-
Rafael Espindola authored
Accepting them is a bug (pr17535), not a feature. llvm-svn: 192712
-
Reid Kleckner authored
If a class is using the unspecified inheritance model for member pointers and later we find the class is defined to use single inheritance, zero out the vbptr offset field of the member pointer when it is formed. llvm-svn: 192664
-
Yunzhong Gao authored
llvm-svn: 192638
-
- Oct 11, 2013
-
-
Reid Kleckner authored
Calling convention attributes can add sugar to methods that we have to look through. This fixes an assertion failure in the provided test case. llvm-svn: 192496
-
Warren Hunt authored
llvm-svn: 192494
-
Rafael Espindola authored
llvm-svn: 192464
-
- Oct 10, 2013
-
-
Manman Ren authored
to use DIScopeRef. Paired commit with r192378. llvm-svn: 192379
-