]> git.ipfire.org Git - thirdparty/gcc.git/commit - gcc/fortran/gfortran.h
re PR fortran/17758 (gfortran_abort and some others should be marked as noreturn)
authorThomas Koenig <Thomas.Koenig@online.de>
Wed, 24 Aug 2005 20:04:20 +0000 (20:04 +0000)
committerThomas Koenig <tkoenig@gcc.gnu.org>
Wed, 24 Aug 2005 20:04:20 +0000 (20:04 +0000)
commitfe58e07668767de1adc8cab509649a485607d127
treeee3f72b0e9a25230193623fc852517df5c61a9e2
parent1a1e6a9d4a1c8cfb8aef4d7f18fe4c68444f9317
re PR fortran/17758 (gfortran_abort and some others should be marked as noreturn)

2005-08-24  Thomas Koenig  <Thomas.Koenig@online.de>

PR fortran/17758
* gfortran.h (symbol_attribute):  Add noreturn to the structure.
(gfc_intrinsic_sym):  Add noreturn to the structure.
* intrinsic.c (make_noreturn):  New function.
(add_subroutines):  Mark subroutines abort and exit as noreturn.
(gfc_intrinsic_sub_interface):  Copy noreturn attribute from
isym to the resolved symbol.
* trans-decl.c (gfc_get_extern_function_decl): Set function
as VOLATILE (== noreturn) if the noreturn attribute is set.

2005-08-24  Thomas Koenig  <Thomas.Koenig@online.de>

PR fortran/17758
gfortran.dg/nonreturning_statements.f90: New test.

From-SVN: r103449
gcc/fortran/ChangeLog
gcc/fortran/gfortran.h
gcc/fortran/intrinsic.c
gcc/fortran/trans-decl.c
gcc/testsuite/ChangeLog
gcc/testsuite/gfortran.dg/nonreturning_statements.f90 [new file with mode: 0644]