This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [trans-mem] issue with openmp
- From: Richard Henderson <rth at redhat dot com>
- To: Aldy Hernandez <aldyh at redhat dot com>
- Cc: Patrick Marlier <patrick dot marlier at unine dot ch>, FELBER Pascal <pascal dot felber at unine dot ch>, gcc-patches at gcc dot gnu dot org
- Date: Tue, 06 Jul 2010 12:28:30 -0700
- Subject: Re: [trans-mem] issue with openmp
- References: <4C04C24A.4080103@unine.ch> <20100618153140.GB7343@redhat.com> <4C221F08.2020403@unine.ch> <20100623172043.GB19259@redhat.com> <4C225BC3.9010301@unine.ch> <20100706162920.GA20816@redhat.com> <4C336C64.5070601@redhat.com> <20100706181221.GA21220@redhat.com>
On 07/06/2010 11:12 AM, Aldy Hernandez wrote:
> On Tue, Jul 06, 2010 at 10:48:20AM -0700, Richard Henderson wrote:
>> On 07/06/2010 09:29 AM, Aldy Hernandez wrote:
>>> -__attribute__((transaction_pure))
>>> -extern void _ITM_dropReferences (void *, size_t) ITM_REGPARM;
>>> +extern void _ITM_dropReferences (void *, size_t) ITM_REGPARM ITM_PURE;
>>> +
>>> +__attribute__((__malloc__)) ITM_REGPARM ITM_PURE
>>> +extern void *_ITM_malloc (size_t);
>>> +__attribute__((__malloc__)) ITM_REGPARM ITM_PURE
>>> +extern void *_ITM_calloc (size_t, size_t);
>>> +extern void _ITM_free (void *) ITM_REGPARM ITM_PURE;
>>
>> I'm not sure that _ITM_malloc et al should include ITM_REGPARM.
>
> Arghh, I was getting confused by a complaint by Patrick about a
> %eax<->%rax problem in the calling sequence, but that must be something
> different because I can't reproduce it.
That was due to C's implicit type of "int" for undeclared functions.
> * libitm.h (ITM_PURE): Define.
> Declare _ITM_malloc, _ITM_calloc, and _ITM_free.
Ok.
r~