This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: inline-asm/4823: [3.2/3.3/3.4 regression] gcc reports internal compiler error on legal code


> http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&database=gcc&pr=4823
> 
> For Wolfgang's smaller testcase:
> 
> ---------------------------------
> void
> f (void)
> {
>  double result;
>  asm volatile (
>  " faddp %0, %1 \n\t"
>  : "=&t" (result)
>  : "u" (result),
>    "0" (result)
>  : "%st", "%st(1)", "%st(2)", "%st(3)",
>    "%st(4)", "%st(5)", "%st(6)", "%st(7)"
>  );
> }
> ------------------------
> 
> we now don't crash.  Instead we bail out with an error.
> 
> # gcc-3.3 -c 4823.c
> 4823.c: In function `f':
> 4823.c:5: error: output constraint 0 cannot be specified together with 
> "st" clobber
> 4823.c:8: confused by earlier errors, bailing out
> # gcc-3.3 -c 4823.c -O
> 4823.c: In function `f':
> 4823.c:5: error: output constraint 0 cannot be specified together with 
> "st" clobber
> 4823.c:8: confused by earlier errors, bailing out
> # gcc-3.3 -c 4823.c -O2
> 4823.c: In function `f':
> 4823.c:5: error: output constraint 0 cannot be specified together with 
> "st" clobber
> 4823.c:8: confused by earlier errors, bailing out
> 
> Honza, is this the correct behavior?
Hmm, not really "confused by earlier errors, bailing out" means that
compiler segfaulted.  It is different failure - the reg-stack is not
really good at dealing with missformed asm constrains.  I believe I've
sent a patch some time ago for similar problem, will try to dig it out,
but probably next week - this week is bit too hectic for me.

Honza
> 
> Greetz
> Steven
> 


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]