Commit Message

The LTO/TM tests are failing with a type mismatch on x86-32 because of
the missing regparm on the prototype.
I have added the regparm, and abstracted things a bit so we don't have
to keep multiple copies. It's bad enough that we have to reproduce this
once...
OK?
testsuite/
PR testsuite/52011
* gcc.dg/lto/trans-mem.h: New file.
* gcc.dg/lto/trans-mem-2_0.c: Include it.
* gcc.dg/lto/trans-mem-1_1.c: Same.
* gcc.dg/lto/trans-mem-4_1.c: Same.
* gcc.dg/lto/trans-mem-3_1.c: Same.

On 01/27/12 10:00, Patrick Marlier wrote:
> On 01/27/2012 10:14 AM, Aldy Hernandez wrote:>> +ITM_REGPARM noinline uint32_t _ITM_beginTransaction(uint32_t a, ...)>> { asm(""); }>> No ITM_REGPARM here. It should be also removed from libitm.h.>> --> Patrick.>
I'm ok either way. I'm just trying to get 32-bits to pass the tests.
If you all agree to remove ITM_REGPARM from libitm.h, then the tests on
x86-32 will work. What is the status of this-- was there agreement on
removing regparm?

On 01/27/2012 11:02 AM, Aldy Hernandez wrote:
> If you all agree to remove ITM_REGPARM from libitm.h, then the tests on> x86-32 will work. What is the status of this-- was there agreement on> removing regparm?
Note that I meant only for _ITM_beginTransaction. Indeed, regparm is
ignored with variadic functions.
See discussion here:
http://gcc.gnu.org/ml/gcc-patches/2012-01/msg00933.html
http://gcc.gnu.org/ml/gcc-patches/2012-01/msg00924.html
Patrick.

On 01/28/2012 03:11 AM, Patrick Marlier wrote:
> On 01/27/2012 11:02 AM, Aldy Hernandez wrote:>> If you all agree to remove ITM_REGPARM from libitm.h, then the tests on>> x86-32 will work. What is the status of this-- was there agreement on>> removing regparm?> > Note that I meant only for _ITM_beginTransaction. Indeed, regparm is ignored with variadic functions.> See discussion here:> http://gcc.gnu.org/ml/gcc-patches/2012-01/msg00933.html> http://gcc.gnu.org/ml/gcc-patches/2012-01/msg00924.html
It's ignored. It's not actively wrong.
I'm for leaving it alone, actually.
r~