Re: Is fastcall broken?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 





Andrew Haley-5 wrote:
> 
> Angus writes:
>  > 
>  > I have gcc 4.0.2 and 4.1.2 and in the one particular case if I use the
>  > fastcall attribute valgrind reports a bunch of errors, and I get a
>  > segmentation fault, for which fastcall is key. But I believe it is more
> than
>  > just key, I believe the fastcall attribute to be the cause, since when
> I run
>  > valgrind on my app w/out fastcall, or in a 64-bit environment, valgrind
>  > doesn't report anything wrong.
>  >    I'm using the fastcall attribute in 3 places. One is this
> stand-alone
>  > function, and the other two are pure virtual methods of a class. Oddly
>  > enough, the pure virtuals aren't giving me any trouble at all (since
> I'm
>  > very caseful to declare the overrides with like attributes). In all
> cases
>  > the full attributes declaration is: __attribute__((const, nothrow,
>  > fastcall)).
>  >    Could I be using fastcall wrong, or is it just a dangerous attribute
> to
>  > work with?
> 
> I wouldn't say it was dangerous, exactly.  I suspect there is a
> problem soemewhere with your declarations, but until you give us a
> test case we won't know.
> 

    I figured out what the problem was. I forgot to include the header file
with the definition, so obviously there was no way for the function to know
that it was supposed to use the fastcall convention, but all the callers
did. It's very unlike me to omit the inclusion of the header, even though
for functions it is almost never necessary. But the one time it was
necessary, I didn't do it. Thanks.
-- 
View this message in context: http://www.nabble.com/Is-fastcall-broken--tf3995991.html#a11359697
Sent from the gcc - Help mailing list archive at Nabble.com.


[Index of Archives]     [Linux C Programming]     [Linux Kernel]     [eCos]     [Fedora Development]     [Fedora Announce]     [Autoconf]     [The DWARVES Debugging Tools]     [Yosemite Campsites]     [Yosemite News]     [Linux GCC]

  Powered by Linux