2007-12-11 Bernhard Fischer <aldot@gcc.gnu.org>
authoraldot <aldot@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 11 Dec 2007 08:36:13 +0000 (08:36 +0000)
committeraldot <aldot@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 11 Dec 2007 08:36:13 +0000 (08:36 +0000)
* decl.c (match_prefix): Make seen_type a boolean.
(add_global_entry): Cache type distinction.
* trans-decl.c: Whitespace cleanup.

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

gcc/fortran/ChangeLog
gcc/fortran/decl.c
gcc/fortran/trans-decl.c

index cd9b218..280cc46 100644 (file)
@@ -1,3 +1,9 @@
+2007-12-11  Bernhard Fischer  <aldot@gcc.gnu.org>
+
+       * decl.c (match_prefix): Make seen_type a boolean.
+       (add_global_entry): Cache type distinction.
+       * trans-decl.c: Whitespace cleanup.
+
 2007-12-10  Tobias Burnus  <burnus@net-b.de>
 
        PR fortran/34425
index 584bb19..0df1858 100644 (file)
@@ -3653,7 +3653,7 @@ cleanup:
 static match
 match_prefix (gfc_typespec *ts)
 {
-  int seen_type;
+  bool seen_type;
 
   gfc_clear_attr (&current_attr);
   seen_type = 0;
@@ -4334,16 +4334,18 @@ static bool
 add_global_entry (const char *name, int sub)
 {
   gfc_gsymbol *s;
+  int type;
 
   s = gfc_get_gsymbol(name);
+  type = sub ? GSYM_SUBROUTINE : GSYM_FUNCTION;
 
   if (s->defined
       || (s->type != GSYM_UNKNOWN
-         && s->type != (sub ? GSYM_SUBROUTINE : GSYM_FUNCTION)))
+         && s->type != type))
     gfc_global_used(s, NULL);
   else
     {
-      s->type = sub ? GSYM_SUBROUTINE : GSYM_FUNCTION;
+      s->type = type;
       s->where = gfc_current_locus;
       s->defined = 1;
       return true;
index e48de1f..96beed2 100644 (file)
@@ -2053,7 +2053,7 @@ gfc_build_intrinsic_function_decls (void)
                                      gfc_charlen_type_node, pchar_type_node,
                                      gfc_logical4_type_node);
 
-  gfor_fndecl_string_trim = 
+  gfor_fndecl_string_trim =
     gfc_build_library_function_decl (get_identifier (PREFIX("string_trim")),
                                      void_type_node,
                                      4,
@@ -2114,7 +2114,7 @@ gfc_build_intrinsic_function_decls (void)
                                      pvoid_type_node);
 
   gfor_fndecl_sr_kind =
-    gfc_build_library_function_decl (get_identifier 
+    gfc_build_library_function_decl (get_identifier
                                        (PREFIX("selected_real_kind")),
                                      gfc_int4_type_node,
                                      2, pvoid_type_node,
@@ -3049,7 +3049,7 @@ gfc_trans_entry_master_switch (gfc_entry_list * el)
       val = build_int_cst (gfc_array_index_type, el->id);
       tmp = build3_v (CASE_LABEL_EXPR, val, NULL_TREE, label);
       gfc_add_expr_to_block (&block, tmp);
-      
+
       /* And jump to the actual entry point.  */
       label = gfc_build_label_decl (NULL_TREE);
       tmp = build1_v (GOTO_EXPR, label);
@@ -3131,7 +3131,7 @@ gfc_generate_function_code (gfc_namespace * ns)
   gfc_generate_contained_functions (ns);
 
   generate_local_vars (ns);
-  
+
   /* Keep the parent fake result declaration in module functions
      or external procedures.  */
   if ((ns->parent && ns->parent->proc_name->attr.flavor == FL_MODULE)