Follow up to PR 43836  and  http://gcc.gnu.org/ml/fortran/2010-04/msg00222.html

> It would be good to set TREE_NOTHROW also on libgfortran library calls
> that are known not to throw exceptions (I guess most of them, except
> those that do IO).

POSIX lists which libc functions have to and can throw, cf.
http://www.opengroup.org/onlinepubs/009695399/functions/xsh_chap02_09.html#tag_02_09_05

In the glibc headers one can also look for functions which use __THROW on
prototypes (__THROW means the function never throws) and which don't; also the
__NTH macro and __REDIRECT_NTH.

In libgfortran itself, one can use  __attribute__ ((nothrow)), cf.
http://gcc.gnu.org/onlinedocs/gcc/Function-Attributes.html

In the front end (call to library routines) TREE_NOTHROW.


-- 
           Summary: Set TREE_NOTHROW also on libgfortran library calls
           Product: gcc
           Version: 4.5.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: fortran
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: burnus at gcc dot gnu dot org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43837

Reply via email to