OSDN Git Service

PR fortran/43836
authorjakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 21 Apr 2010 21:20:07 +0000 (21:20 +0000)
committerjakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 21 Apr 2010 21:20:07 +0000 (21:20 +0000)
* f95-lang.c (gfc_define_builtin): Set TREE_NOTHROW on
the decl.

* gfortran.dg/gomp/pr43836.f90: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158619 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/fortran/ChangeLog
gcc/fortran/f95-lang.c
gcc/testsuite/ChangeLog
gcc/testsuite/gfortran.dg/gomp/pr43836.f90 [new file with mode: 0644]

index 86cedc9..27dab6d 100644 (file)
@@ -1,3 +1,9 @@
+2010-04-21  Jakub Jelinek  <jakub@redhat.com>
+
+       PR fortran/43836
+       * f95-lang.c (gfc_define_builtin): Set TREE_NOTHROW on
+       the decl.
+
 2010-04-20  Harald Anlauf  <anlauf@gmx.de>
 
        * intrinsic.c (sort_actual): Remove 'is' in error message.
index 96ff8bb..8efa6de 100644 (file)
@@ -1,5 +1,5 @@
 /* gfortran backend interface
-   Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008
+   Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2010
    Free Software Foundation, Inc.
    Contributed by Paul Brook.
 
@@ -608,6 +608,7 @@ gfc_define_builtin (const char *name,
                               library_name, NULL_TREE);
   if (const_p)
     TREE_READONLY (decl) = 1;
+  TREE_NOTHROW (decl) = 1;
 
   built_in_decls[code] = decl;
   implicit_built_in_decls[code] = decl;
index f30277c..2e6da4e 100644 (file)
@@ -1,3 +1,8 @@
+2010-04-21  Jakub Jelinek  <jakub@redhat.com>
+
+       PR fortran/43836
+       * gfortran.dg/gomp/pr43836.f90: New test.
+
 2010-04-21  Richard Guenther  <rguenther@suse.de>
 
        * gcc.dg/ipa/ipa-pta-11.c: Adjust.
diff --git a/gcc/testsuite/gfortran.dg/gomp/pr43836.f90 b/gcc/testsuite/gfortran.dg/gomp/pr43836.f90
new file mode 100644 (file)
index 0000000..cf86523
--- /dev/null
@@ -0,0 +1,10 @@
+! PR fortran/43836
+! { dg-do compile }
+! { dg-options "-fopenmp -fexceptions -O2" }
+subroutine foo
+!$omp single
+!$omp parallel
+  call bar
+!$omp end parallel
+!$omp end single
+end subroutine foo