[multiple changes]

2007-12-13  Anton Korobeynikov  <asl@math.spbu.ru>

        * trans-decl.c (gfc_build_builtin_function_decls): Correct decl
        construction for select_string() and internal_unpack()

2007-12-13  Duncan Sands  <baldrick@free.fr>
            Anton Korobeynikov  <asl@math.spbu.ru>

        * trans-expr.c (gfc_conv_structure): Make sure record
        * constructors
        for static variables are marked constant.

From-SVN: r130914
This commit is contained in:
Tobias Burnus 2007-12-13 21:31:45 +01:00
parent 108bc19009
commit 7e4b97c736
3 changed files with 20 additions and 2 deletions

View File

@ -1,3 +1,14 @@
2007-12-13 Anton Korobeynikov <asl@math.spbu.ru>
* trans-decl.c (gfc_build_builtin_function_decls): Correct decl
construction for select_string() and internal_unpack()
2007-12-13 Duncan Sands <baldrick@free.fr>
Anton Korobeynikov <asl@math.spbu.ru>
* trans-expr.c (gfc_conv_structure): Make sure record constructors
for static variables are marked constant.
2007-12-12 Tobias Burnus <burnus@net-b.de>
PR fortran/34254

View File

@ -2325,7 +2325,9 @@ gfc_build_builtin_function_decls (void)
gfor_fndecl_select_string =
gfc_build_library_function_decl (get_identifier (PREFIX("select_string")),
integer_type_node, 0);
integer_type_node, 4, pvoid_type_node,
integer_type_node, pchar_type_node,
integer_type_node);
gfor_fndecl_runtime_error =
gfc_build_library_function_decl (get_identifier (PREFIX("runtime_error")),
@ -2379,7 +2381,7 @@ gfc_build_builtin_function_decls (void)
gfor_fndecl_in_unpack = gfc_build_library_function_decl (
get_identifier (PREFIX("internal_unpack")),
pvoid_type_node, 1, pvoid_type_node);
void_type_node, 2, pvoid_type_node, pvoid_type_node);
gfor_fndecl_associated =
gfc_build_library_function_decl (

View File

@ -3285,6 +3285,11 @@ gfc_conv_structure (gfc_se * se, gfc_expr * expr, int init)
CONSTRUCTOR_APPEND_ELT (v, cm->backend_decl, val);
}
se->expr = build_constructor (type, v);
if (init)
{
TREE_CONSTANT(se->expr) = 1;
TREE_INVARIANT(se->expr) = 1;
}
}