[Bug rtl-optimization/33676] libgfortran bootstrap failure: selected_int_kind.f90:22: Segmentation fault, wrong code with -fomit-frame-pointer
Kenneth Zadeck
zadeck@naturalbridge.com
Fri Oct 12 12:02:00 GMT 2007
Uros Bizjak wrote:
> On 10/12/07, Serge Belyshev <belyshev@depni.sinp.msu.ru> wrote:
>
>
>>>> PR middle-end/33676
>>>> * gcc.dg/torture/pr33676.c: New.
>>>>
>>> This is wrong place for tests that fail with "-fomit-frame-pointer".
>>> dg-torture will cycle all optimization levels, but
>>> -fomit-frame-pointer will be checked only at -O3. However, since we
>>> know that the testcase fails with "-O0 -fomit-frame-pointer", gcc.dg
>>> is a better place for this.
>>>
>> But as the bug fixed, it doesn't fail anymore. So this is in torture,
>> compiled several times, using different options, testing for *another*
>> (possibly similar, but doesn't matter) regression to appear.
>>
>> Also note that original bug failed not only with -O0 -fomit-frame-pointer
>> but also with any of: -O{0,1,2,3} -fomit-frame-pointer -march=i{3,4,5}86
>>
>
> But under this rationale, we could apply torture procedure to the
> whole gcc.dg directory. All these files fail for multiple optimization
> levels and multiple sub-targets.
>
> Uros.
>
I did what I was told to do by a middle end maintainer. If y'all want
to change it, that is fine with me.
Kenny
[11:20] <zadeck> i have a question about the testcase in pr33676. I do
not know where it should go and what commands to put at the top of it,
it only triggers if you say -march=i586 so it really should only run on
that platform
[11:23] <richi <irc://irc.oftc.net/richi,isnick>> zadeck: just put it
in gcc.c-torture/execute
[11:23] <richi <irc://irc.oftc.net/richi,isnick>> zadeck: you can add
dg-options "-march=i586" conditional on target i?86-*-*
[11:24] <zadeck> thanks
[11:24] <richi <irc://irc.oftc.net/richi,isnick>> hm, then you need to
put it in gcc.dg/torture/ instead
[11:25] <zadeck> what is the difference between ../torture and
../execute, the only way to detect failure is to execute it.
[11:25] <richi <irc://irc.oftc.net/richi,isnick>> with /* { dg-do run
} */ /* { dg-options "-march=i586" { target i?86-*-* } } */
[11:26] <richi <irc://irc.oftc.net/richi,isnick>> gcc.dg/torture
allows dg commands, gcc.c-torture/* simply has execute, compile and link
tests separated by directory
[11:26] <zadeck> thanks
[11:27] <jsm28 <irc://irc.oftc.net/jsm28,isnick>> Note that { target {
{ i?86-*-* x86_64-*-* } && ilp32 } } is the correct target specifier for
32-bit x86.
[11:28] <richi <irc://irc.oftc.net/richi,isnick>> and to be even more
picky, -march=i586 will probably fail on real i386 hardware, so it
should be i[56]86-*-*
[11:28] <richi <irc://irc.oftc.net/richi,isnick>> ;)
More information about the Gcc-patches
mailing list