re PR target/53474 (Solaris/x86 bootstrap with Sun as broken: j.e)
authorUros Bizjak <uros@gcc.gnu.org>
Fri, 25 May 2012 15:07:02 +0000 (17:07 +0200)
committerUros Bizjak <uros@gcc.gnu.org>
Fri, 25 May 2012 15:07:02 +0000 (17:07 +0200)
PR target/53474
* config/i386/i386.c (ix86_print_operand) <case 'O'>: Print '.' here.
<case 'C', case 'c', case 'F', case 'f'>: Print '.' only for C and c.

From-SVN: r187885

gcc/ChangeLog
gcc/config/i386/i386.c
gcc/cp/decl.c

index 677dcac..ce680f0 100644 (file)
@@ -1,3 +1,9 @@
+2012-05-25  Uros Bizjak  <ubizjak@gmail.com>
+
+       PR target/53474
+       * config/i386/i386.c (ix86_print_operand) <case 'O'>: Print '.' here.
+       <case 'C', case 'c', case 'F', case 'f'>: Print '.' only for C and c.
+
 2012-05-25  Alexander Ivchenko  <alexander.ivchenko@intel.com>
 
        PR target/53435
        symbol_alias_set_t, symbol_alias_set_destroy,
        symbol_alias_set_contains, propagate_aliases_backward): Remove.
        * toplev.c (compile_file): Do not call finish_aliases_2
-       * cgraphunit.c (cgraph_process_new_functions): Do not call finish_aliases_1.
+       * cgraphunit.c (cgraph_process_new_functions): Do not call
+       finish_aliases_1.
        (handle_alias_pairs): Output diagnostics about aliases to externals.
        (assemble_thunks_and_aliases): Use do_assemble_alias.
        (output_weakrefs): Likewise.
        (finalize_compilation_unit): Do not call finish_aliases_1.
-       * ipa.c (symtab_remove_unreachable_nodes): De not call remove_unreachable_alias_pairs.
+       * ipa.c (symtab_remove_unreachable_nodes): De not call
+       remove_unreachable_alias_pairs.
        * varasm.c (do_assemble_alias): Export.
-       (symbol_alias_set_create, symbol_alias_set_destroy, symbol_alias_set_contains,
-       symbol_alias_set_insert, propagate_aliases_forward, propagate_aliases_backward,
-       propagate_aliases_backward, trivially_visible_alias, trivially_defined_alias,
-       remove_unreachable_alias_pairs, finish_aliases_1, finish_aliases_2, 
-       assemble_alias): Remove.
+       (symbol_alias_set_create, symbol_alias_set_destroy,
+       symbol_alias_set_contains, symbol_alias_set_insert,
+       propagate_aliases_forward, propagate_aliases_backward,
+       propagate_aliases_backward, trivially_visible_alias,
+       trivially_defined_alias, remove_unreachable_alias_pairs,
+       finish_aliases_1, finish_aliases_2, assemble_alias): Remove.
        * output.h (do_assemble_alias): Declare.
-       * varpool.c (varpool_remove_unreferenced_decls): Do not call finish_aliases_1.
+       * varpool.c (varpool_remove_unreferenced_decls): Do not call
+       finish_aliases_1.
 
 2012-05-23  Martin Jambor  <mjambor@suse.cz>
 
        * lto-streamer-in.c (input_cfg): Likewise.
        * tree-inline.c (initialize_cfun): Likewise.
        * tree-into-ssa.c (rewrite_into_ssa): Likewise.
-       * omp-low.c (expand_omp_taskreg): Likewise.  Avoid switching
-       cfun.
+       * omp-low.c (expand_omp_taskreg): Likewise.  Avoid switching cfun.
        * gimple.c (is_gimple_reg): Optimize the SSA_NAME case,
        virtual operands are not registers.
 
 2012-05-22  Richard Guenther  <rguenther@suse.de>
 
-       * tree-cfg.c (verify_gimple_assign_unary): Fix typo in previous
-       commit.
+       * tree-cfg.c (verify_gimple_assign_unary): Fix typo in previous commit.
 
 2012-05-22  Richard Guenther  <rguenther@suse.de>
 
 
        * tree-flow.h (add_referenced_var_1): Declare.
        (add_referenced_var): Define.
-       * tree-dfa.c (referenced_var_check_and_insert): Avoid one hash
-       lookup.
+       * tree-dfa.c (referenced_var_check_and_insert): Avoid one hash lookup.
        (add_referenced_var): Rename to ...
        (add_referenced_var_1): ... this.  Take struct function argument.
 
index 51deb1a..9e4ada0 100644 (file)
@@ -13931,8 +13931,8 @@ get_some_local_dynamic_name (void)
    C -- print opcode suffix for set/cmov insn.
    c -- like C, but print reversed condition
    F,f -- likewise, but for floating-point.
-   O -- if HAVE_AS_IX86_CMOV_SUN_SYNTAX, print the opcode suffix for
-       the size of the current operand, otherwise nothing.
+   O -- if HAVE_AS_IX86_CMOV_SUN_SYNTAX, expand to "w.", "l." or "q.",
+       otherwise nothing
    R -- print the prefix for register names.
    z -- print the opcode suffix for the size of the current operand.
    Z -- likewise, with special suffixes for x87 instructions.
@@ -14061,6 +14061,8 @@ ix86_print_operand (FILE *file, rtx x, int code)
                ("invalid operand size for operand code 'O'");
              return;
            }
+
+         putc ('.', file);
 #endif
          return;
 
@@ -14320,20 +14322,21 @@ ix86_print_operand (FILE *file, rtx x, int code)
            }
          return;
 
-       case 'C':
-       case 'c':
        case 'F':
        case 'f':
+#ifdef HAVE_AS_IX86_CMOV_SUN_SYNTAX
+         if (ASSEMBLER_DIALECT == ASM_ATT)
+           putc ('.', file);
+#endif
+
+       case 'C':
+       case 'c':
          if (!COMPARISON_P (x))
            {
              output_operand_lossage ("operand is not a condition code, "
                                      "invalid operand code '%c'", code);
              return;
            }
-#ifdef HAVE_AS_IX86_CMOV_SUN_SYNTAX
-         if (ASSEMBLER_DIALECT == ASM_ATT)
-           putc ('.', file);
-#endif
          put_condition_code (GET_CODE (x), GET_MODE (XEXP (x, 0)),
                              code == 'c' || code == 'f',
                              code == 'F' || code == 'f',
index d883da6..14a6a40 100644 (file)
@@ -9803,7 +9803,8 @@ grokdeclarator (const cp_declarator *declarator,
               clones.  */
            DECL_ABSTRACT (decl) = 1;
        }
-      else if (constructor_name_p (unqualified_id, current_class_type))
+      else if (current_class_type
+              && constructor_name_p (unqualified_id, current_class_type))
        permerror (input_location, "ISO C++ forbids nested type %qD with same name "
                   "as enclosing class",
                   unqualified_id);