aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRoger Sayle <roger@eyesopen.com>2002-07-11 12:29:07 +0000
committerRoger Sayle <sayle@gcc.gnu.org>2002-07-11 12:29:07 +0000
commite65a2d65e000030f605ed9e8b921a68131eeb2dc (patch)
treea386435c587fce0e88a8329bd17a393271551b2f
parenta06e3c4070d3c6e606cec20b7bb75a30ff02656b (diff)
downloadgcc-e65a2d65e000030f605ed9e8b921a68131eeb2dc.zip
gcc-e65a2d65e000030f605ed9e8b921a68131eeb2dc.tar.gz
gcc-e65a2d65e000030f605ed9e8b921a68131eeb2dc.tar.bz2
c-decl.c (duplicate_decls): Preserve the noreturn attribute on non-ANSI builtin functions.
* c-decl.c (duplicate_decls): Preserve the noreturn attribute on non-ANSI builtin functions. * gcc.c-torture/execute/builtin-noret-1.c: Test non-ANSI functions. From-SVN: r55396
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/c-decl.c5
-rw-r--r--gcc/testsuite/ChangeLog4
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/builtin-noret-1.c2
4 files changed, 9 insertions, 7 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 11314a1..4bd4085 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2002-07-11 Roger Sayle <roger@eyesopen.com>
+
+ * c-decl.c (duplicate_decls): Preserve the noreturn attribute on
+ non-ANSI builtin functions.
+
Thu Jul 11 11:31:12 2002 J"orn Rennecke <joern.rennecke@superh.com>
* rtl.h (gen_rtx_CONST_VECTOR): Declare.
diff --git a/gcc/c-decl.c b/gcc/c-decl.c
index a32b783..8551ba5 100644
--- a/gcc/c-decl.c
+++ b/gcc/c-decl.c
@@ -1764,11 +1764,6 @@ duplicate_decls (newdecl, olddecl, different_binding_level)
COPY_DECL_RTL (olddecl, newdecl);
/* Merge the type qualifiers. */
- if (TREE_CODE (olddecl) == FUNCTION_DECL
- && DECL_BUILT_IN_NONANSI (olddecl) && TREE_THIS_VOLATILE (olddecl)
- && ! TREE_THIS_VOLATILE (newdecl))
- TREE_THIS_VOLATILE (write_olddecl) = 0;
-
if (TREE_READONLY (newdecl))
TREE_READONLY (write_olddecl) = 1;
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index f280085..11cb55e 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,7 @@
+2002-07-11 Roger Sayle <roger@eyesopen.com>
+
+ * gcc.c-torture/execute/builtin-noret-1.c: Test non-ANSI functions.
+
2002-07-10 Roger Sayle <roger@eyesopen.com>
* gcc.c-torture/execute/20000217-1.c: Fix usage of "abort".
diff --git a/gcc/testsuite/gcc.c-torture/execute/builtin-noret-1.c b/gcc/testsuite/gcc.c-torture/execute/builtin-noret-1.c
index cfd7899..9cd3e84 100644
--- a/gcc/testsuite/gcc.c-torture/execute/builtin-noret-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/builtin-noret-1.c
@@ -3,10 +3,8 @@
extern void abort (void);
extern void exit (int);
-#if 0 /* Doesn't work with prototype (bug?). */
extern void _exit (int);
extern void _Exit (int);
-#endif
extern void tabort (void);
extern void texit (void);