target/8659: trying to delete frame instruction with -fpic

meissner@suse.de meissner@suse.de
Wed Nov 20 07:00:00 GMT 2002


>Number:         8659
>Category:       target
>Synopsis:       trying to delete frame instruction with -fpic
>Confidential:   no
>Severity:       critical
>Priority:       medium
>Responsible:    unassigned
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Wed Nov 20 06:56:02 PST 2002
>Closed-Date:
>Last-Modified:
>Originator:     Marcus Meissner <meissner@suse.de>
>Release:        gcc version 3.2.1 20021002 (prerelease)
>Organization:
>Environment:
SuSE Linux 8.1.99 (PowerPC 32) (powerpc-suse-linux)
>Description:
The attached testcase fails when compiled with:
gcc -O2 -fpic testcase.i
with:
setup.i: In function `c':
setup.i:10: Attempt to delete prologue/epilogue insn:
(insn 66 64 67 (set (reg:SI 65 lr)
        (reg:SI 12 r12)) -1 (nil)
    (nil))
setup.i:10: Internal compiler error in propagate_one_insn, at flow.c:1615
>How-To-Repeat:
gcc -O2 -fpic testcase.i on powerpc-*-linux
>Fix:
I guess something in the sibcall/varargs handling is amiss.
>Release-Note:
>Audit-Trail:
>Unformatted:
----gnatsweb-attachment----
Content-Type: text/plain; name="testcase.i"
Content-Disposition: inline; filename="testcase.i"

static int a() {}
static int b(char *f, ...) { }

void c(char *x) {
  if (!*x) {
    b("");
    return;
  }
  a();
}



More information about the Gcc-bugs mailing list