* gdb.opt/inline-cmds.c (ATTR): New define.
authorTom Tromey <tromey@redhat.com>
Tue, 27 Jul 2010 18:08:48 +0000 (18:08 +0000)
committerTom Tromey <tromey@redhat.com>
Tue, 27 Jul 2010 18:08:48 +0000 (18:08 +0000)
(func1): Use it.
(func2): Likewise.
(func3): Likewise.
(outer_inline1): Likewise.
(outer_inline2): Likewise.
* gdb.opt/inline-bt.c (ATTR): New define.
(func1): Use it.
(func2): Likewise.
* gdb.opt/inline-locals.c (ATTR): New define.
(func1): Use it.
(func2): Likewise.

gdb/testsuite/ChangeLog
gdb/testsuite/gdb.opt/inline-bt.c
gdb/testsuite/gdb.opt/inline-bt.exp
gdb/testsuite/gdb.opt/inline-cmds.c
gdb/testsuite/gdb.opt/inline-locals.c

index 2990487974863ee75b674736d93d9cc852fe1e2a..88a4b6652237bd09a93beeab7610ac251f4904b2 100644 (file)
@@ -1,3 +1,18 @@
+2010-07-27  Tom Tromey  <tromey@redhat.com>
+
+       * gdb.opt/inline-cmds.c (ATTR): New define.
+       (func1): Use it.
+       (func2): Likewise.
+       (func3): Likewise.
+       (outer_inline1): Likewise.
+       (outer_inline2): Likewise.
+       * gdb.opt/inline-bt.c (ATTR): New define.
+       (func1): Use it.
+       (func2): Likewise.
+       * gdb.opt/inline-locals.c (ATTR): New define.
+       (func1): Use it.
+       (func2): Likewise.
+
 2010-07-27  Tom Tromey  <tromey@redhat.com>
 
        * gdb.stabs/gdb11479.c (hack): New function.
index 476421de4d1ea75220da5ec35b97be8dedb261bf..45933d6e4fa3932380d2419dbfd223c989ce7772 100644 (file)
    You should have received a copy of the GNU General Public License
    along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
+/* This is only ever run if it is compiled with a new-enough GCC, but
+   we don't want the compilation to fail if compiled by some other
+   compiler.  */
+#ifdef __GNUC__
+#define ATTR __attribute__((always_inline))
+#else
+#define ATTR
+#endif
+
 int x, y;
 volatile int result;
 
 void bar(void);
 
-inline int func1(void)
+inline ATTR int func1(void)
 {
   bar ();
   return x * y;
 }
 
-inline int func2(void)
+inline ATTR int func2(void)
 {
   return x * func1 ();
 }
index 92f1f8aeb4e2bfecd32eb52d8bff281ae984dbd9..a3e1898c08d14c2e61f16b11e113ed2176df1b37 100644 (file)
@@ -22,7 +22,7 @@ set sources [list ${fullsrcfile} ${fullsrcfile2}]
 set binfile ${objdir}/${subdir}/${testfile}
 
 if  { [gdb_compile ${sources} ${binfile} \
-          executable {debug optimize=-O2}] != "" } {
+          executable {debug optimize=-O2 additional_flags=-Winline}] != "" } {
     untested inline-bt.exp
     return -1
 }
index 0bdede9e843030c2b90e79800c66de35155c8be6..f8775326388eca858b1bd39102176accbb1ff707 100644 (file)
    You should have received a copy of the GNU General Public License
    along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
+/* This is only ever run if it is compiled with a new-enough GCC, but
+   we don't want the compilation to fail if compiled by some other
+   compiler.  */
+#ifdef __GNUC__
+#define ATTR __attribute__((always_inline))
+#else
+#define ATTR
+#endif
+
 int x, y;
 volatile int result;
 
@@ -20,28 +29,28 @@ void bar(void);
 void marker(void);
 void noinline(void);
 
-inline int func1(void)
+inline ATTR int func1(void)
 {
   bar ();
   return x * y;
 }
 
-inline int func2(void)
+inline ATTR int func2(void)
 {
   return x * func1 ();
 }
 
-inline void func3(void)
+inline ATTR void func3(void)
 {
   bar ();
 }
 
-inline void outer_inline1(void)
+inline ATTR void outer_inline1(void)
 {
   noinline ();
 }
 
-inline void outer_inline2(void)
+inline ATTR void outer_inline2(void)
 {
   outer_inline1 ();
 }
index b3028cb7e15eda4899a520d2052feb8ddfba6658..2d316817db040ab7221270548266c8de5fb25112 100644 (file)
    You should have received a copy of the GNU General Public License
    along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
+/* This is only ever run if it is compiled with a new-enough GCC, but
+   we don't want the compilation to fail if compiled by some other
+   compiler.  */
+#ifdef __GNUC__
+#define ATTR __attribute__((always_inline))
+#else
+#define ATTR
+#endif
+
 int x, y;
 volatile int result;
 volatile int *array_p;
 
 void bar(void);
 
-inline int func1(int arg1)
+inline ATTR int func1(int arg1)
 {
   int array[64];
   array_p = array;
@@ -29,7 +38,7 @@ inline int func1(int arg1)
   return x * y + array_p[0] * arg1;
 }
 
-inline int func2(int arg2)
+inline ATTR int func2(int arg2)
 {
   return x * func1 (arg2);
 }