summaryrefslogtreecommitdiff
path: root/gcc/testsuite
diff options
context:
space:
mode:
authormmitchel <mmitchel@138bc75d-0d04-0410-961f-82ee72b054a4>2004-02-29 23:43:29 +0000
committermmitchel <mmitchel@138bc75d-0d04-0410-961f-82ee72b054a4>2004-02-29 23:43:29 +0000
commit9d5baf966b6861e550dfed9014db548d283fb9a9 (patch)
tree79f67c731f4bdf068313a3e2b873f2feb80a0d5d /gcc/testsuite
parentb2353ac42155e16d9bbd202d71910729ff37102b (diff)
downloadgcc-9d5baf966b6861e550dfed9014db548d283fb9a9.tar.gz
PR middle-end/13448
* c-tree.h (readonly_warning): Rename to ... (readonly_error): ... this. * c-typeck.c (build_unary_op): Adjust accordingly. (readonly_warning): Rename to ... (readonly_error): ... this and issue errors, not warnings. (build_modify_expr): Call readonly_error, not readonly_warning. (c_expand_asm_operands): Likewise. * tree-inline.c (optimize_inline_calls): Do not inline functions after errors have occurred. PR middle-end/13448 * gcc.dg/inline-5.c: New test. * gcc.dg/always-inline.c: Split out tests into ... * gcc.dg/always-inline2.c: ... this and ... * gcc.dg/always-inline3.c: ... this. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@78682 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/testsuite')
-rw-r--r--gcc/testsuite/ChangeLog8
-rw-r--r--gcc/testsuite/gcc.dg/always_inline.c12
-rw-r--r--gcc/testsuite/gcc.dg/always_inline2.c8
-rw-r--r--gcc/testsuite/gcc.dg/always_inline3.c8
-rw-r--r--gcc/testsuite/gcc.dg/inline-5.c13
5 files changed, 37 insertions, 12 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index b5aa29d32f2..74be633db11 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,5 +1,13 @@
2004-02-29 Mark Mitchell <mark@codesourcery.com>
+ PR middle-end/13448
+ * gcc.dg/inline-5.c: New test.
+ * gcc.dg/always-inline.c: Split out tests into ...
+ * gcc.dg/always-inline2.c: ... this and ...
+ * gcc.dg/always-inline3.c: ... this.
+
+2004-02-29 Mark Mitchell <mark@codesourcery.com>
+
PR debug/12103
* g++.dg/debug/crash1.C: New test.
diff --git a/gcc/testsuite/gcc.dg/always_inline.c b/gcc/testsuite/gcc.dg/always_inline.c
index 9480470a95a..2177f642f60 100644
--- a/gcc/testsuite/gcc.dg/always_inline.c
+++ b/gcc/testsuite/gcc.dg/always_inline.c
@@ -1,18 +1,6 @@
/* { dg-do compile } */
/* { dg-options "-Winline -O2" } */
#include <stdarg.h>
-inline __attribute__ ((always_inline)) void t(void); /* { dg-error "body not available" "" } */
-void
-q(void)
-{
- t(); /* { dg-error "called from here" "" } */
-}
-inline __attribute__ ((always_inline)) void
-q2(void)
-{ /* { dg-error "recursive" "" } */
- q2(); /* { dg-error "called from here" "" } */
- q2(); /* { dg-error "called from here" "" } */
-}
inline __attribute__ ((always_inline)) void
e(int t, ...)
{ /* { dg-error "variable argument" "" } */
diff --git a/gcc/testsuite/gcc.dg/always_inline2.c b/gcc/testsuite/gcc.dg/always_inline2.c
new file mode 100644
index 00000000000..fa6528d1fac
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/always_inline2.c
@@ -0,0 +1,8 @@
+/* { dg-do compile } */
+/* { dg-options "-Winline -O2" } */
+inline __attribute__ ((always_inline)) void t(void); /* { dg-error "body not available" "" } */
+void
+q(void)
+{
+ t(); /* { dg-error "called from here" "" } */
+}
diff --git a/gcc/testsuite/gcc.dg/always_inline3.c b/gcc/testsuite/gcc.dg/always_inline3.c
new file mode 100644
index 00000000000..b183770adc0
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/always_inline3.c
@@ -0,0 +1,8 @@
+/* { dg-do compile } */
+/* { dg-options "-Winline -O2" } */
+inline __attribute__ ((always_inline)) void
+q2(void)
+{ /* { dg-error "recursive" "" } */
+ q2(); /* { dg-error "called from here" "" } */
+ q2(); /* { dg-error "called from here" "" } */
+}
diff --git a/gcc/testsuite/gcc.dg/inline-5.c b/gcc/testsuite/gcc.dg/inline-5.c
new file mode 100644
index 00000000000..d72fad65610
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/inline-5.c
@@ -0,0 +1,13 @@
+/* PR middle-end/13448 */
+
+/* { dg-options "-O3" } */
+
+void funct (const int n)
+{
+ n++; /* { dg-error "" } */
+}
+
+int main () {
+ funct (1);
+ return 0;
+}