aboutsummaryrefslogtreecommitdiff
path: root/gcc/fortran/f95-lang.c
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/fortran/f95-lang.c')
-rw-r--r--gcc/fortran/f95-lang.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/gcc/fortran/f95-lang.c b/gcc/fortran/f95-lang.c
index d00b7f0..dc67847 100644
--- a/gcc/fortran/f95-lang.c
+++ b/gcc/fortran/f95-lang.c
@@ -638,6 +638,8 @@ gfc_define_builtin (const char *name,
if (const_p)
TREE_READONLY (decl) = 1;
TREE_NOTHROW (decl) = 1;
+ DECL_ATTRIBUTES (decl) = tree_cons (get_identifier ("leaf"),
+ NULL, DECL_ATTRIBUTES (decl));
built_in_decls[code] = decl;
implicit_built_in_decls[code] = decl;
@@ -728,8 +730,8 @@ gfc_init_builtin_functions (void)
enum
{
/* So far we need just these 2 attribute types. */
- ATTR_NOTHROW_LIST,
- ATTR_CONST_NOTHROW_LIST
+ ATTR_NOTHROW_LEAF_LIST,
+ ATTR_CONST_NOTHROW_LEAF_LIST
};
tree mfunc_float[6];
@@ -1083,7 +1085,7 @@ gfc_init_builtin_functions (void)
#undef DEF_SYNC_BUILTIN
#define DEF_SYNC_BUILTIN(code, name, type, attr) \
gfc_define_builtin (name, builtin_types[type], code, name, \
- attr == ATTR_CONST_NOTHROW_LIST);
+ attr == ATTR_CONST_NOTHROW_LEAF_LIST);
#include "../sync-builtins.def"
#undef DEF_SYNC_BUILTIN
@@ -1092,7 +1094,7 @@ gfc_init_builtin_functions (void)
#undef DEF_GOMP_BUILTIN
#define DEF_GOMP_BUILTIN(code, name, type, attr) \
gfc_define_builtin ("__builtin_" name, builtin_types[type], \
- code, name, attr == ATTR_CONST_NOTHROW_LIST);
+ code, name, attr == ATTR_CONST_NOTHROW_LEAF_LIST);
#include "../omp-builtins.def"
#undef DEF_GOMP_BUILTIN
}