summaryrefslogtreecommitdiff
path: root/gcc/fortran/trans-decl.c
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/fortran/trans-decl.c')
-rw-r--r--gcc/fortran/trans-decl.c18
1 files changed, 16 insertions, 2 deletions
diff --git a/gcc/fortran/trans-decl.c b/gcc/fortran/trans-decl.c
index f57f87108d7..8755f3af0a2 100644
--- a/gcc/fortran/trans-decl.c
+++ b/gcc/fortran/trans-decl.c
@@ -116,6 +116,8 @@ tree gfor_fndecl_ttynam;
tree gfor_fndecl_in_pack;
tree gfor_fndecl_in_unpack;
tree gfor_fndecl_associated;
+tree gfor_fndecl_system_clock4;
+tree gfor_fndecl_system_clock8;
/* Coarray run-time library function decls. */
@@ -629,7 +631,7 @@ gfc_finish_var_decl (tree decl, gfc_symbol * sym)
/* Handle threadprivate variables. */
if (sym->attr.threadprivate
&& (TREE_STATIC (decl) || DECL_EXTERNAL (decl)))
- DECL_TLS_MODEL (decl) = decl_default_tls_model (decl);
+ set_decl_tls_model (decl, decl_default_tls_model (decl));
gfc_finish_decl_attrs (decl, &sym->attr);
}
@@ -1645,7 +1647,7 @@ get_proc_pointer_decl (gfc_symbol *sym)
/* Handle threadprivate procedure pointers. */
if (sym->attr.threadprivate
&& (TREE_STATIC (decl) || DECL_EXTERNAL (decl)))
- DECL_TLS_MODEL (decl) = decl_default_tls_model (decl);
+ set_decl_tls_model (decl, decl_default_tls_model (decl));
attributes = add_attributes_to_decl (sym->attr, NULL_TREE);
decl_attributes (&decl, attributes, 0);
@@ -2824,7 +2826,9 @@ static void
gfc_build_intrinsic_function_decls (void)
{
tree gfc_int4_type_node = gfc_get_int_type (4);
+ tree gfc_pint4_type_node = build_pointer_type (gfc_int4_type_node);
tree gfc_int8_type_node = gfc_get_int_type (8);
+ tree gfc_pint8_type_node = build_pointer_type (gfc_int8_type_node);
tree gfc_int16_type_node = gfc_get_int_type (16);
tree gfc_logical4_type_node = gfc_get_logical_type (4);
tree pchar1_type_node = gfc_get_pchar_type (1);
@@ -3023,6 +3027,16 @@ gfc_build_intrinsic_function_decls (void)
DECL_PURE_P (gfor_fndecl_sr_kind) = 1;
TREE_NOTHROW (gfor_fndecl_sr_kind) = 1;
+ gfor_fndecl_system_clock4 = gfc_build_library_function_decl (
+ get_identifier (PREFIX("system_clock_4")),
+ void_type_node, 3, gfc_pint4_type_node, gfc_pint4_type_node,
+ gfc_pint4_type_node);
+
+ gfor_fndecl_system_clock8 = gfc_build_library_function_decl (
+ get_identifier (PREFIX("system_clock_8")),
+ void_type_node, 3, gfc_pint8_type_node, gfc_pint8_type_node,
+ gfc_pint8_type_node);
+
/* Power functions. */
{
tree ctype, rtype, itype, jtype;