X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=gcc%2Ftestsuite%2Fgcc.target%2Farm%2Finterrupt-2.c;h=61d313053675e3f628b6f51ae63eda40d498af9a;hb=4d8cd3a26294ce35abb17668eac2b6c38dd23bd0;hp=b979bf17e8a1d077ada035cf294854f3d740492d;hpb=c944d49b3bd3667c65c299afd3b1d756084203f4;p=platform%2Fupstream%2Fgcc48.git diff --git a/gcc/testsuite/gcc.target/arm/interrupt-2.c b/gcc/testsuite/gcc.target/arm/interrupt-2.c index b979bf1..61d3130 100644 --- a/gcc/testsuite/gcc.target/arm/interrupt-2.c +++ b/gcc/testsuite/gcc.target/arm/interrupt-2.c @@ -1,26 +1,19 @@ /* Verify that prologue and epilogue are correct for functions with __attribute__ ((interrupt)). */ /* { dg-do compile } */ -/* { dg-options "-O1" } */ +/* { dg-require-effective-target arm_nothumb } */ +/* { dg-options "-O1 -marm" } */ -/* This test is not valid when -mthum. We just cheat. */ -#ifndef __thumb__ +/* This test is not valid when -mthumb. */ extern void bar (int); extern void test (void) __attribute__((__interrupt__)); int foo; void test() { - funcptrs(foo); + bar (foo); foo = 0; } -#else -void test () -{ - asm ("stmfd\tsp!, {r0, r1, r2, r3, r4, r5, ip, lr}"); - asm ("ldmfd\tsp!, {r0, r1, r2, r3, r4, r5, ip, pc}^"); -} -#endif /* { dg-final { scan-assembler "stmfd\tsp!, {r0, r1, r2, r3, r4, r5, ip, lr}" } } */ /* { dg-final { scan-assembler "ldmfd\tsp!, {r0, r1, r2, r3, r4, r5, ip, pc}\\^" } } */