summaryrefslogtreecommitdiffstats
path: root/clang/test/CodeGenCXX/member-functions.cpp
Commit message (Collapse)AuthorAgeFilesLines
* [opaque pointer types] Explicit non-pointer type for call expressionsDavid Blaikie2015-04-161-1/+1
| | | | | | (migration for recent LLVM change to textual IR for calls) llvm-svn: 235147
* Emit DeferredDeclsToEmit in a DFS order.Rafael Espindola2015-01-221-3/+2
| | | | | | | | | | | | | | Currently we emit DeferredDeclsToEmit in reverse order. This patch changes that. The advantages of the change are that * The output order is a bit closer to the source order. The change to test/CodeGenCXX/pod-member-memcpys.cpp is a good example. * If we decide to deffer more, it will not cause as large changes in the estcases as it would without this patch. llvm-svn: 226751
* CHECK-LABEL-ify some code gen tests to improve diagnostic experience when ↵Stephen Lin2013-08-151-7/+7
| | | | | | tests fail. llvm-svn: 188447
* FileCheck'ize testsDmitri Gribenko2013-01-281-22/+41
| | | | llvm-svn: 173720
* PR13941: Mark all virtual functions as unnamed_addr. It's not possible toRichard Smith2012-09-281-0/+3
| | | | | | | observe their addresses (taking their address gives the vtable slot) so we are free to merge their definitions. llvm-svn: 164864
* Move unnamed_addr after the function arguments on Sabre's request.Rafael Espindola2011-01-251-2/+2
| | | | llvm-svn: 124210
* Add unnamed_addr to constructors and destructors.Rafael Espindola2011-01-111-2/+2
| | | | llvm-svn: 123197
* fix PR5179 and correctly fix PR5831 to not miscompile.Chris Lattner2010-07-301-1/+1
| | | | | | | | | | | | | | | | | | | | The X86-64 ABI code didn't handle the case when a struct would get classified and turn up as "NoClass INTEGER" for example. This is perfectly possible when the first slot is all padding (e.g. due to empty base classes). In this situation, the first 8-byte doesn't take a register at all, only the second 8-byte does. This fixes this by enhancing the x86-64 abi stuff to allow and handle this case, reverts the broken fix for PR5831, and enhances the target independent stuff to be able to handle an argument value in registers being accessed at an offset from the memory value. This is the last x86-64 calling convention related miscompile that I'm aware of. llvm-svn: 109848
* pass/return structs of char and short as i8/i16 to avoidChris Lattner2010-06-281-1/+1
| | | | | | aweful through-memory coersion, just like we do for i32 now. llvm-svn: 107078
* Make sure that we mangle overloaded operators that are member functions ↵Anders Carlsson2009-12-221-1/+1
| | | | | | | | correctly, giving them the correct arity. With this seemingly insignificant fix, we are now able to build and link clang using clang itself! (LLVM still has to be built with gcc for the time being). llvm-svn: 91893
* x86_64: Structures with no fields but which have padding should be classified asDaniel Dunbar2009-12-221-1/+1
| | | | | | | | integer. - This is consistent, but may not be correct. I will revisit x86_64 ABI handling for C++ as a whole at some point. - PR5831. llvm-svn: 91874
* Update tests to use %clang_cc1 instead of 'clang-cc' or 'clang -cc1'.Daniel Dunbar2009-12-151-1/+1
| | | | | | | | | - This is designed to make it obvious that %clang_cc1 is a "test variable" which is substituted. It is '%clang_cc1' instead of '%clang -cc1' because it can be useful to redefine what gets run as 'clang -cc1' (for example, to set a default target). llvm-svn: 91446
* Eliminate &&s in tests.Daniel Dunbar2009-11-081-10/+10
| | | | | | - 'for i in $(find . -type f); do sed -e 's#\(RUN:.*[^ ]\) *&& *$#\1#g' $i | FileUpdate $i; done', for the curious. llvm-svn: 86430
* Mangle record types as decls.Anders Carlsson2009-09-261-1/+1
| | | | llvm-svn: 82843
* Add a target triple, because this test depends on details of the x86-64 ABIDouglas Gregor2009-05-271-1/+1
| | | | llvm-svn: 72503
* Handle operator call expressions where the callee is a member function.Anders Carlsson2009-05-271-1/+12
| | | | llvm-svn: 72458
* A C++ member function always has either weak linkage (if it's inline or ↵Anders Carlsson2009-05-151-1/+8
| | | | | | defined inline) or strong linkage (other cases). llvm-svn: 71873
* push GlobalDecl through enough of the CodeGenModule interfacesChris Lattner2009-05-121-2/+4
| | | | | | | | | to allow us to support generation of deferred ctors/dtors. It looks like codegen isn't emitting a call to the dtor in member-functions.cpp:test2, but when it does, its body should get emitted. llvm-svn: 71594
* add an initial stab at emitting deferred c++ inline functions. This handles ↵Chris Lattner2009-05-121-2/+26
| | | | | | | | | static functions and methods declared inline, but not ctors/dtors or methods not declared inline (apparently my previous patch wasn't good enough). llvm-svn: 71591
* We weren't generating correct code for calls to variadic member functions.Anders Carlsson2009-04-081-2/+6
| | | | llvm-svn: 68635
* Add some basic support for generating C++ member functions.Anders Carlsson2009-04-041-0/+15
llvm-svn: 68425
OpenPOWER on IntegriCloud