summaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authoruros <uros@138bc75d-0d04-0410-961f-82ee72b054a4>2012-05-25 15:07:02 +0000
committeruros <uros@138bc75d-0d04-0410-961f-82ee72b054a4>2012-05-25 15:07:02 +0000
commit4547680646c1b61f918fff01ab824f95569a99d5 (patch)
treee0ac89d83b3cf80fb363eb3cf24e41875a962aa9 /gcc
parentb04c1b7f0876e640754a3dca849aacc74af4c3f3 (diff)
downloadgcc-4547680646c1b61f918fff01ab824f95569a99d5.tar.gz
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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187885 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog35
-rw-r--r--gcc/config/i386/i386.c19
-rw-r--r--gcc/cp/decl.c3
3 files changed, 34 insertions, 23 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 677dcac8f43..ce680f0c817 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -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
@@ -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 <mjambor@suse.cz>
@@ -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 <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>
@@ -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 51deb1a9da1..9e4ada03be4 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 d883da6b640..14a6a40d6ce 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);