History log of /external/clang/test/CodeGenCXX/pr13396.cpp
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
b48280ba1790122cd3fa6e17c88ecd6a4571a4eb 31-Jul-2012 Rafael Espindola <rafael.espindola@gmail.com> Handle functions with struct arguments or return types and the regparm
attribute. It is a variation of the x86_64 ABI:

* A struct returned indirectly uses the first register argument to pass the
pointer.
* Floats, Doubles and structs containing only one of them are not passed in
registers.
* Other structs are split into registers if they fit on the remaining ones.
Otherwise they are passed in memory.
* When a struct doesn't fit it still consumes the registers.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@161022 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/pr13396.cpp
a78a640c5f59720f2c2b8034eca4fbf8525d9026 31-Jul-2012 Rafael Espindola <rafael.espindola@gmail.com> Attributes preceding a function declaration are first applied to the return
type and then propagated to the function. This was failing for destructors,
constructors and constructors templates since they don't have a return type.

Fix that by directly calling processTypeAttrs on the dummy type we use as the
return type in these cases.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@161020 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/pr13396.cpp