diff options
author | Roger Sayle <roger@eyesopen.com> | 2002-07-11 12:29:07 +0000 |
---|---|---|
committer | Roger Sayle <sayle@gcc.gnu.org> | 2002-07-11 12:29:07 +0000 |
commit | e65a2d65e000030f605ed9e8b921a68131eeb2dc (patch) | |
tree | a386435c587fce0e88a8329bd17a393271551b2f | |
parent | a06e3c4070d3c6e606cec20b7bb75a30ff02656b (diff) | |
download | gcc-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/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/c-decl.c | 5 | ||||
-rw-r--r-- | gcc/testsuite/ChangeLog | 4 | ||||
-rw-r--r-- | gcc/testsuite/gcc.c-torture/execute/builtin-noret-1.c | 2 |
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); |