diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 677dcac8f430..ce680f0c817c 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2012-05-25 Uros Bizjak + + PR target/53474 + * config/i386/i386.c (ix86_print_operand) : Print '.' here. + : Print '.' only for C and c. + 2012-05-25 Alexander Ivchenko PR target/53435 @@ -125,20 +131,24 @@ 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 @@ -211,15 +221,13 @@ * 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 - * 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 @@ -231,8 +239,7 @@ * 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. diff --git a/gcc/config/i386/i386.c b/gcc/config/i386/i386.c index 51deb1a9da1c..9e4ada03be4b 100644 --- a/gcc/config/i386/i386.c +++ b/gcc/config/i386/i386.c @@ -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', diff --git a/gcc/cp/decl.c b/gcc/cp/decl.c index d883da6b6406..14a6a40d6cee 100644 --- a/gcc/cp/decl.c +++ b/gcc/cp/decl.c @@ -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);