diff options
Diffstat (limited to 'gcc/testsuite/gcc.dg/inline-1.c')
-rw-r--r-- | gcc/testsuite/gcc.dg/inline-1.c | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/gcc/testsuite/gcc.dg/inline-1.c b/gcc/testsuite/gcc.dg/inline-1.c new file mode 100644 index 000000000..4dce611d9 --- /dev/null +++ b/gcc/testsuite/gcc.dg/inline-1.c @@ -0,0 +1,28 @@ +/* Verify that DECL_INLINE gets copied between DECLs properly. */ +/* { dg-do compile } */ +/* { dg-options "-O1" } */ +/* { dg-final { if [ istarget hppa*-*-* ] { scan-assembler-not "xyzzy?,%r" } else { scan-assembler-not "xyzzy" } } } */ + +/* Test that declaration followed by definition inlines. */ +static inline int xyzzy0 (int); +static int xyzzy0 (int x) { return x; } +int test0 (void) +{ + return xyzzy0 (5); +} + +/* Test that definition following declaration inlines. */ +static int xyzzy1 (int); +static inline int xyzzy1 (int x) { return x; } +int test1 (void) +{ + return xyzzy1 (5); +} + +/* Test that redeclaration inside a function body inlines. */ +extern inline int xyzzy2 (int x) { return x; } +int test2 (void) +{ + extern int xyzzy2 (int); + return xyzzy2 (5); +} |