gcc.git
12 years agogo-test.exp (go-set-goarch): Recognize powerpc*-*-*.
Ian Lance Taylor [Fri, 20 Apr 2012 20:18:49 +0000 (20:18 +0000)]
go-test.exp (go-set-goarch): Recognize powerpc*-*-*.

* go.test/go-test.exp (go-set-goarch): Recognize powerpc*-*-*.
(go-gc-tests): Skip nilptr.go on powerpc*-*-*.

From-SVN: r186642

12 years agonet, syscall: Use native endianness for GNU/Linux netlink code.
Ian Lance Taylor [Fri, 20 Apr 2012 20:11:28 +0000 (20:11 +0000)]
net, syscall: Use native endianness for GNU/Linux netlink code.

From-SVN: r186640

12 years agocompiler, runtime: Add explicit checks for zero and overflow division.
Ian Lance Taylor [Fri, 20 Apr 2012 19:21:39 +0000 (19:21 +0000)]
compiler, runtime: Add explicit checks for zero and overflow division.

* lang.opt: Add -fgo-check-divide-zero and
-fgo-check-divide-overflow.
* gccgo.texi (Invoking gccgo): Document new options.

From-SVN: r186637

12 years agonet/http: Ignore sigaltstack when running strace in test.
Ian Lance Taylor [Fri, 20 Apr 2012 18:51:05 +0000 (18:51 +0000)]
net/http: Ignore sigaltstack when running strace in test.

Avoids bug in strace 4.5.20 on powerpc-unknown-linux-gnu.

From-SVN: r186635

12 years agodebug/dwarf: Fix address lookups for different types of lines.
Ian Lance Taylor [Fri, 20 Apr 2012 18:44:09 +0000 (18:44 +0000)]
debug/dwarf: Fix address lookups for different types of lines.

This fixes the lookup when, e.g., discriminators force adding
new line arrays.

From-SVN: r186633

12 years agoruntime: Disable memory profiling in gc_test.
Ian Lance Taylor [Fri, 20 Apr 2012 18:40:14 +0000 (18:40 +0000)]
runtime: Disable memory profiling in gc_test.

From-SVN: r186631

12 years agotest_passing_unions.c: Avoid undefined array access.
Uros Bizjak [Fri, 20 Apr 2012 16:12:55 +0000 (18:12 +0200)]
test_passing_unions.c: Avoid undefined array access.

* gcc.target/x86_64/abi/avx/test_passing_unions.c: Avoid undefined
array access.
* gcc.target/x86_64/abi/avx/test_passing_structs.c: Likewise.

From-SVN: r186629

12 years agogenmodes: don't truncate a mode name of length >= 7
Jim Meyering [Fri, 20 Apr 2012 15:38:35 +0000 (15:38 +0000)]
genmodes: don't truncate a mode name of length >= 7

* genmodes.c (make_complex_modes): Don't truncate a mode name of
length 7 or more when prepending a "C".  Suggested by Richard Guenther.

From-SVN: r186628

12 years agore PR bootstrap/53042 (AIX bootstrap: cgraph symbol table error)
Jan Hubicka [Fri, 20 Apr 2012 15:18:39 +0000 (17:18 +0200)]
re PR bootstrap/53042 (AIX bootstrap: cgraph symbol table error)

PR target/53042
* decl2.c (maybe_emit_vtables): Do not initialize same_comdat_group
list when target has no support for it.

From-SVN: r186627

12 years agoerror.c (pedwarn_cxx98): Move va_end call after user of the va_list.
Michael Matz [Fri, 20 Apr 2012 14:40:09 +0000 (14:40 +0000)]
error.c (pedwarn_cxx98): Move va_end call after user of the va_list.

* error.c (pedwarn_cxx98): Move va_end call after user
of the va_list.

From-SVN: r186626

12 years agore PR rtl-optimization/44214 (Compiler does not optimize vector divide with -frecipro...
Bill Schmidt [Fri, 20 Apr 2012 14:19:13 +0000 (14:19 +0000)]
re PR rtl-optimization/44214 (Compiler does not optimize vector divide with -freciprocal-math (or -ffast-math))

gcc:

2012-04-20  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

PR rtl-optimization/44214
* fold-const.c (exact_inverse): New function.
(fold_binary_loc): Fold vector and complex division by constant into
multiply by recripocal with flag_reciprocal_math; fold vector division
by constant into multiply by reciprocal with exact inverse.

gcc/testsuite:

2012-04-20  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

PR rtl-optimization/44214
* gcc.dg/pr44214-1.c: New test.
* gcc.dg/pr44214-2.c: Likewise.
* gcc.dg/pr44214-3.c: Likewise.

From-SVN: r186625

12 years agolto-symtab.c (lto_cgraph_replace_node): Merge needed instead of force flags.
Jan Hubicka [Fri, 20 Apr 2012 14:09:11 +0000 (16:09 +0200)]
lto-symtab.c (lto_cgraph_replace_node): Merge needed instead of force flags.

* lto-symtab.c (lto_cgraph_replace_node): Merge needed instead of force flags.
* cgraph.c (cgraph_add_thunk): Use mark_reachable_node.
(cgraph_remove_node): Update.
(cgraph_mark_needed_node): Remove.
(cgraph_mark_force_output_node): New.
(dump_cgraph_node): Do not dump needed flag.
(cgraph_node_cannot_be_local_p_1): Update.
(cgraph_can_remove_if_no_direct_calls_and_refs): Update.
* cgraph.h (symtab_node_base): Add force_output flag.
(cgraph_node): Remove needed flag.
(varpool_node): Remove force_output flag.
(cgraph_mark_needed_node): Remove.
(cgraph_mark_force_output_node): New.
(cgraph_only_called_directly_or_aliased_p,
varpool_can_remove_if_no_refs, varpool_all_refs_explicit_p): Update.
* ipa-cp.c (ipcp_generate_summary): Remove out of date assert.
* cgraphunit.c (cgraph_decide_is_function_needed): rewrite.
(cgraph_add_new_function); Update.
(cgraph_mark_if_needed); Update.
(verify_cgraph_node): Update.
(cgraph_analyze_function): Alias target is reachable.
(process_function_and_variable_attributes): Update: externally_visible
flag makes function reachable.
(cgraph_analyze_functions): Update dumping.
* lto-cgraph.c (lto_output_node, lto_output_varpool_node,
input_overwrite_node, input_varpool_node): Update streaming.
* lto-streamer-out.c (produce_symtab): Use force_output.
* ipa.c (process_references): Weakrefs must be processed.
(cgraph_remove_unreachable_nodes): Likewise; update for new
force_output flag.
(varpool_externally_visible_p); Weakrefs are externally visible
even if they are not.
(function_and_variable_visibility): Update; when processing alias
pair force the targets to be output.
(whole_program_function_and_variable_visility): Use mark_reachable_node.
* trans-mem.c (ipa_tm_mark_needed_node): Remove
(ipa_tm_mark_force_output_node): New function.
(ipa_tm_create_version_alias, ipa_tm_create_version): Update.
* gimple-fold.c (can_refer_decl_in_current_unit_p): Be lax about aliases.
* varasm.c (mark_decl_referenced): Update.
(find_decl_and_mark_needed): Remove.
(find_decl): New function.
(weak_finish, finish_aliases_1, assemble_alias): Update; do not mark
alias targets as needed.
(dump_tm_clone_pairs): Update.
* tree-inline.c (copy_bb): Update check.
* symtab.c (dump_symtab_base): Dump force_output.
* tree-ssa-structalias.c (ipa_pta_execute): Use force_output.
* passes.c (execute_todo): Fix dumping.
* varpool.c (decide_is_variable_needed, varpool_finalize_decl): Update.
(varpool_analyze_pending_decls): Alias target is reachable.
(varpool_create_variable_alias): Finalize weakrefs.

* class.c (make_local_function_alias): Do not mark symbol referenced.

* objc-acct.c (mark_referenced_methods); Use
cgraph_mark_force_output_node.

* gcc-interface/utils.c (gnat_write_global_declarations): Update for new
force_output placement.

* lto/lto-partition.c (partition_cgraph_node_p): Use force_output.

From-SVN: r186624

12 years agore PR bootstrap/53021 (bootstrap failure on Linux/ia32)
Jakub Jelinek [Fri, 20 Apr 2012 12:19:51 +0000 (14:19 +0200)]
re PR bootstrap/53021 (bootstrap failure on Linux/ia32)

PR bootstrap/53021
* alias.h (UNIQUE_BASE_VALUE_SP, UNIQUE_BASE_VALUE_ARGP,
UNIQUE_BASE_VALUE_FP, UNIQUE_BASE_VALUE_HFP): Define.
* alias.c (init_alias_targets): Use UNIQUE_BASE_VALUE_*
macros instead of constants.
* dse.c (record_store): Check for SP ADDRESS by comparing
XWINT to UNIQUE_BASE_VALUE_SP instead of expecting
XEXP to be stack_pointer_rtx.

From-SVN: r186623

12 years agotree-ssa-copy.c (propagate_tree_value_into_stmt): Use update_call_from_tree when...
Richard Guenther [Fri, 20 Apr 2012 11:56:33 +0000 (11:56 +0000)]
tree-ssa-copy.c (propagate_tree_value_into_stmt): Use update_call_from_tree when propagating into a call.

2012-04-20  Richard Guenther  <rguenther@suse.de>

* tree-ssa-copy.c (propagate_tree_value_into_stmt): Use
update_call_from_tree when propagating into a call.

* g++.dg/torture/20120420-1.C: New testcase.

From-SVN: r186622

12 years agors6000.c (rs6000_emit_savres_rtx): Formatting.
Alan Modra [Fri, 20 Apr 2012 11:46:58 +0000 (21:16 +0930)]
rs6000.c (rs6000_emit_savres_rtx): Formatting.

* config/rs6000/rs6000.c (rs6000_emit_savres_rtx): Formatting.
(rs6000_emit_prologue, rs6000_emit_epilogue): Likewise.  Rename
sp_offset to frame_off.  Move world save code earlier.

From-SVN: r186621

12 years agore PR c++/53050 (ssa_forward_propagate_and_combine: segmentation fault)
Richard Guenther [Fri, 20 Apr 2012 10:17:46 +0000 (10:17 +0000)]
re PR c++/53050 (ssa_forward_propagate_and_combine: segmentation fault)

2012-04-20  Richard Guenther  <rguenther@suse.de>

PR tree-optimization/53050
* tree-ssa-forwprop.c (ssa_forward_propagate_and_combine):
Do only one transform on COND_EXPRs at the same time.

From-SVN: r186620

12 years ago* symtab.c (dump_symtab_base): Revert accidental checkin.
Jan Hubicka [Fri, 20 Apr 2012 09:46:25 +0000 (11:46 +0200)]
* symtab.c (dump_symtab_base): Revert accidental checkin.

From-SVN: r186619

12 years agore PR libstdc++/53052 ([C++11] is_explicitly_convertible still part of <type_traits...
Paolo Carlini [Fri, 20 Apr 2012 09:39:29 +0000 (09:39 +0000)]
re PR libstdc++/53052 ([C++11] is_explicitly_convertible still part of <type_traits> header)

2012-04-20  Paolo Carlini  <paolo.carlini@oracle.com>

PR libstdc++/53052
* include/std/type_traits (is_explicitly_convertible): Remove.
* testsuite/20_util/is_explicitly_convertible: Likewise.
* testsuite/20_util/make_signed/requirements/typedefs_neg.cc:
Adjust dg-error line numbers.
* testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
Likewise.
* testsuite/20_util/declval/requirements/1_neg.cc: Likewise.

From-SVN: r186618

12 years agore PR libstdc++/53052 ([C++11] is_explicitly_convertible still part of <type_traits...
Paolo Carlini [Fri, 20 Apr 2012 09:39:17 +0000 (09:39 +0000)]
re PR libstdc++/53052 ([C++11] is_explicitly_convertible still part of <type_traits> header)

2012-04-20  Paolo Carlini  <paolo.carlini@oracle.com>

PR libstdc++/53052
* include/std/type_traits (is_explicitly_convertible): Remove.
* testsuite/20_util/is_explicitly_convertible: Likewise.
* testsuite/20_util/make_signed/requirements/typedefs_neg.cc:
Adjust dg-error line numbers.
* testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
Likewise.
* testsuite/20_util/declval/requirements/1_neg.cc: Likewise.

From-SVN: r186617

12 years agore PR target/53040 (nested functions may trash floating point registers)
Alan Modra [Fri, 20 Apr 2012 09:33:19 +0000 (19:03 +0930)]
re PR target/53040 (nested functions may trash floating point registers)

PR target/53040
* config/rs6000/rs6000.c (rs6000_savres_strategy): When using
static chain, set REST_INLINE_FPRS too.

From-SVN: r186616

12 years agotree-dump.c (dequeue_and_dump): Dump the three child nodes.
Thomas Schwinge [Fri, 20 Apr 2012 08:56:29 +0000 (10:56 +0200)]
tree-dump.c (dequeue_and_dump): Dump the three child nodes.

gcc/
* tree-dump.c (dequeue_and_dump) <BIT_FIELD_REF>: Dump the three child
nodes.

From-SVN: r186615

12 years agotree-vect-loop.c (vect_analyze_loop_operations): Do not vectorize loops that can...
Richard Guenther [Fri, 20 Apr 2012 08:19:49 +0000 (08:19 +0000)]
tree-vect-loop.c (vect_analyze_loop_operations): Do not vectorize loops that can never run more often than the vectorization factor.

2012-04-20  Richard Guenther  <rguenther@suse.de>

* tree-vect-loop.c (vect_analyze_loop_operations): Do not
vectorize loops that can never run more often than the
vectorization factor.

From-SVN: r186614

12 years agostruct siginfo vs. siginfo_t
Thomas Schwinge [Fri, 20 Apr 2012 07:44:50 +0000 (09:44 +0200)]
struct siginfo vs. siginfo_t

libgcc/
* config/alpha/linux-unwind.h (alpha_fallback_frame_state): Use
siginfo_t instead of struct siginfo.
* config/bfin/linux-unwind.h (bfin_fallback_frame_state): Likewise.
* config/i386/linux-unwind.h (x86_fallback_frame_state): Likewise.
* config/ia64/linux-unwind.h (ia64_fallback_frame_state)
(ia64_handle_unwabi): Likewise.
* config/mips/linux-unwind.h (mips_fallback_frame_state): Likewise.
* config/pa/linux-unwind.h (pa32_fallback_frame_state): Likewise.
* config/sh/linux-unwind.h (shmedia_fallback_frame_state)
(sh_fallback_frame_state): Likewise.
* config/tilepro/linux-unwind.h (tile_fallback_frame_state): Likewise.
* config/xtensa/linux-unwind.h (xtensa_fallback_frame_state): Likewise.

From-SVN: r186610

12 years ago* symtab.c (dump_symtab_base): Fix dumping of asm lists.
Jan Hubicka [Fri, 20 Apr 2012 07:10:20 +0000 (09:10 +0200)]
* symtab.c (dump_symtab_base): Fix dumping of asm lists.

From-SVN: r186609

12 years agoruntime: Ignore stack sizes when deciding when to GC.
Ian Lance Taylor [Fri, 20 Apr 2012 04:58:26 +0000 (04:58 +0000)]
runtime: Ignore stack sizes when deciding when to GC.

Also allocate heap bitmaps bit in page size units and clear
context when putting G structures on free list.

From-SVN: r186607

12 years agogotest: Don't get confused by data tables named Test on PPC.
Ian Lance Taylor [Fri, 20 Apr 2012 04:49:19 +0000 (04:49 +0000)]
gotest: Don't get confused by data tables named Test on PPC.

From-SVN: r186605

12 years agoDaily bump.
GCC Administrator [Fri, 20 Apr 2012 00:19:38 +0000 (00:19 +0000)]
Daily bump.

From-SVN: r186604

12 years agoChangeLog: remove summary from my entry, on request from David Edelsohn
Jim Meyering [Thu, 19 Apr 2012 17:15:46 +0000 (17:15 +0000)]
ChangeLog: remove summary from my entry, on request from David Edelsohn

From-SVN: r186600

12 years ago* config/rs6000/sync.md (fetchop_name): Change ior attribute to "or".
David Edelsohn [Thu, 19 Apr 2012 16:59:17 +0000 (16:59 +0000)]
* config/rs6000/sync.md (fetchop_name): Change ior attribute to "or".

From-SVN: r186599

12 years ago* gcc.target/i386/pr45830.c: Update scan-tree-dump.
Steven Bosscher [Thu, 19 Apr 2012 15:13:26 +0000 (15:13 +0000)]
* gcc.target/i386/pr45830.c: Update scan-tree-dump.

From-SVN: r186597

12 years agogenmodes: remove misleading use of strncpy
Jim Meyering [Thu, 19 Apr 2012 13:51:17 +0000 (13:51 +0000)]
genmodes: remove misleading use of strncpy

* genmodes.c (make_complex_modes): Avoid unnecessary use of strncpy.
We verified above that the string(including trailing NUL) fits in buf,
so just use memcpy.

From-SVN: r186596

12 years agosymtab.c (dump_symtab_base): Use TREE_STRING_POINTER for dumping DECL_SECTION_NAME.
Richard Guenther [Thu, 19 Apr 2012 13:35:10 +0000 (13:35 +0000)]
symtab.c (dump_symtab_base): Use TREE_STRING_POINTER for dumping DECL_SECTION_NAME.

2012-04-19  Richard Guenther  <rguenther@suse.de>

* symtab.c (dump_symtab_base): Use TREE_STRING_POINTER
for dumping DECL_SECTION_NAME.

From-SVN: r186594

12 years agore PR c/52977 (internal compiler error: Segmentation fault with `-x c-header' or...
Michael Matz [Thu, 19 Apr 2012 13:29:29 +0000 (13:29 +0000)]
re PR c/52977 (internal compiler error: Segmentation fault with `-x c-header' or `-x cxx-header' option)

PR middle-end/52977
* tree.h (VECTOR_CST_NELTS): Use part number of types again.
(struct tree_vector): Adjust GTY length.
* tree.c (make_vector_stat): Don't set VECTOR_CST_NELTS.

* gengtype.c (struct walk_type_data): Add in_record_p and loopcounter
members.
(walk_type, <TYPE_POINTER, TYPE_ARRAY>): Handle case where our
caller emitted the length calulation already.
(walk_type, <TYPE_UNION, TYPE_STRUCT>): Emit length calculations

From-SVN: r186593

12 years agore PR middle-end/53031 (gcc.dg/tree-ssa/vrp54.c scan-tree-dump-not vrp1 "link_error")
Richard Guenther [Thu, 19 Apr 2012 13:21:44 +0000 (13:21 +0000)]
re PR middle-end/53031 (gcc.dg/tree-ssa/vrp54.c scan-tree-dump-not vrp1 "link_error")

2012-04-19  Richard Guenther  <rguenther@suse.de>

PR tree-optimization/53031
* tree-vrp.c (adjust_range_with_scev): Revert back to
using max_loop_iterations.

From-SVN: r186592

12 years agodiagnostic.c (emit_diagnostic): Move va_end call after user of the va_list.
Michael Matz [Thu, 19 Apr 2012 12:51:25 +0000 (12:51 +0000)]
diagnostic.c (emit_diagnostic): Move va_end call after user of the va_list.

* diagnostic.c (emit_diagnostic): Move va_end call after user
of the va_list.
(warning, warning_at, pedwarn, permerror): Ditto.

From-SVN: r186591

12 years agoira-int.h (ira_allocno_object_iter_cond): Avoid out-of-bound array access.
Richard Guenther [Thu, 19 Apr 2012 12:44:07 +0000 (12:44 +0000)]
ira-int.h (ira_allocno_object_iter_cond): Avoid out-of-bound array access.

2012-04-19  Richard Guenther  <rguenther@suse.de>

* ira-int.h (ira_allocno_object_iter_cond): Avoid out-of-bound
array access.

From-SVN: r186590

12 years agore PR target/53033 ([avr]: Wrong register number for 3-byte loads via X)
Georg-Johann Lay [Thu, 19 Apr 2012 11:29:13 +0000 (11:29 +0000)]
re PR target/53033 ([avr]: Wrong register number for 3-byte loads via X)

PR target/53033
* config/avr/avr.c (avr_out_load_psi): Fix assembler template for
the case *(X+const).

From-SVN: r186588

12 years agosync.md (sync_optab): Change ior attribute to "or".
Ramana Radhakrishnan [Thu, 19 Apr 2012 11:21:34 +0000 (11:21 +0000)]
sync.md (sync_optab): Change ior attribute to "or".

2012-04-19  Ramana Radhakrishnan  <ramana.radhakrishnan@linaro.org>

* config/arm/sync.md (sync_optab): Change ior attribute to "or".

From-SVN: r186587

12 years agoFix #52283 error: case label does not reduce to an integer constant
Christian Bruel [Thu, 19 Apr 2012 09:06:53 +0000 (11:06 +0200)]
Fix #52283 error: case label does not reduce to an integer constant

From-SVN: r186586

12 years agore PR tree-optimization/44688 (Excessive code-size growth at -O3)
Richard Guenther [Thu, 19 Apr 2012 08:51:50 +0000 (08:51 +0000)]
re PR tree-optimization/44688 (Excessive code-size growth at -O3)

2012-04-19  Richard Guenther  <rguenther@suse.de>

PR rtl-optimization/44688
* loop-iv.c (determine_max_iter): Only return max_iter.
(iv_number_of_iterations): Also use the recorded loop bound
on the maximum number of iterations.
* loop-unroll.c (decide_unroll_runtime_iterations): Use
max_iter to avoid unrolling loops that do not roll.
(decide_unroll_stupid): Likewise.

* gcc.dg/var-expand1.c: Increase array size to make unrolling
possibly profitable.

From-SVN: r186585

12 years agoDaily bump.
GCC Administrator [Thu, 19 Apr 2012 00:18:47 +0000 (00:18 +0000)]
Daily bump.

From-SVN: r186584

12 years agofix accidentally checked-in assert.
Steven Bosscher [Wed, 18 Apr 2012 18:36:32 +0000 (18:36 +0000)]
fix accidentally checked-in assert.

From-SVN: r186580

12 years agotarghooks.c (default_case_values_threshold): Fix code style nit.
Steven Bosscher [Wed, 18 Apr 2012 18:27:51 +0000 (18:27 +0000)]
targhooks.c (default_case_values_threshold): Fix code style nit.

gcc/
* targhooks.c (default_case_values_threshold): Fix code style nit.

* stmt.c (add_case_node, expand_case): Move logic to remove/reduce
case range and type folding from here...
* gimplify.c (gimplify_switch_expr): ... to here.  Expect NULL_TREE
type, as documented in tree.def

fortran/
* trans-decl.c (gfc_trans_entry_master_switch): Build SWITCH_EXPR
with NULL_TREE type instead of void_type_node.
* trans-io.c (io_result): Likewise.
* trans-stmt.c (gfc_trans_integer_select,
gfc_trans_character_select): Likewise.

go/
* go-gcc.cc (Gcc_backend::switch_statement): Build SWITCH_EXPR
with NULL_TREE type instead of void_type_node.

From-SVN: r186579

12 years agocgraph.h (verify_symtab, [...]): Declare.
Jan Hubicka [Wed, 18 Apr 2012 18:19:43 +0000 (20:19 +0200)]
cgraph.h (verify_symtab, [...]): Declare.

* cgraph.h (verify_symtab, verify_symtab_node, verify_symtab_base):
Declare.
* cgraphunit.c (verify_cgraph_node): Verify symtab base; do not verify
cgraph hash and same comdat groups.
(cgraph_optimize); Verify symbol table.
* ipa.c (cgraph_remove_unreachable_nodes): Verify symbol table.
(dissolve_same_comdat_group_list): Work on symtab nodes.
(function_and_variable_visibility): Dissolve variable same comdat group
lists, too.
* symtab.c: Include timevar.h
(verify_symtab_base, verify_symtab_node, verify_symtab): New functions.

From-SVN: r186578

12 years agotree-switch-conversion.c (info): Remove global pass info.
Steven Bosscher [Wed, 18 Apr 2012 18:12:57 +0000 (18:12 +0000)]
tree-switch-conversion.c (info): Remove global pass info.

* tree-switch-conversion.c (info): Remove global pass info.
(check_range, check_process_case, check_final_bb, create_temp_arrays,
free_temp_arrays, gather_default_values, build_constructors,
array_value_type, build_one_array, build_arrays, gen_def_assigns,
fix_phi_nodes, gen_inbound_check): Pass info around from ...
(process_switch): ... here.  Unify message format.  Return a const
char pointer to the failure reason message.
(do_switchconv): Unify message format.  Update process_switch usage.

From-SVN: r186576

12 years agotree.def (CASE_LABEL_EXPR): Fix documentation, mention all operands.
Steven Bosscher [Wed, 18 Apr 2012 18:10:17 +0000 (18:10 +0000)]
tree.def (CASE_LABEL_EXPR): Fix documentation, mention all operands.

* tree.def (CASE_LABEL_EXPR): Fix documentation, mention all operands.
* tree-cfg.c (edge_to_cases): Fix documentation.

From-SVN: r186575

12 years agosync.md (fetchop_name): Change ior attribute to "or".
Uros Bizjak [Wed, 18 Apr 2012 15:06:35 +0000 (17:06 +0200)]
sync.md (fetchop_name): Change ior attribute to "or".

* config/alpha/sync.md (fetchop_name): Change ior attribute to "or".

From-SVN: r186572

12 years agore PR tree-optimization/52976 (Revision 186384 breaks the polyhedron tests aermod...
Bill Schmidt [Wed, 18 Apr 2012 12:29:23 +0000 (12:29 +0000)]
re PR tree-optimization/52976 (Revision 186384 breaks the polyhedron tests aermod.f90 and doduc.f90 at -O3 -ffast-math)

gcc:

2012-04-18  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

PR tree-optimization/52976
* tree-ssa-reassoc.c (add_to_ops_vec_max_rank): Delete.
(possibly_move_powi): New function.
(rewrite_expr_tree): Call possibly_move_powi.
(rewrite_expr_tree_parallel): Likewise.
(attempt_builtin_powi): Change call of add_to_ops_vec_max_rank to
call add_to_ops_vec instead.

gcc/testsuite:

2012-04-18  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

PR tree-optimization/52976
gfortran.dg/reassoc_11.f: New test.

From-SVN: r186568

12 years agore PR tree-optimization/52976 (Revision 186384 breaks the polyhedron tests aermod...
Bill Schmidt [Wed, 18 Apr 2012 12:25:17 +0000 (12:25 +0000)]
re PR tree-optimization/52976 (Revision 186384 breaks the polyhedron tests aermod.f90 and doduc.f90 at -O3 -ffast-math)

gcc:

2012-04-18  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

PR tree-optimization/52976
* tree-ssa-reassoc.c (stmt_is_power_of_op): New function.
(decrement_power): Likewise.
(propagate_op_to_single_use): Likewise.
(zero_one_operation): Handle __builtin_pow* calls in linearized
expression trees; factor logic into propagate_op_to_single_use.
(undistribute_ops_list): Allow operands with repeat counts > 1.

gcc/testsuite:

2012-04-18  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

PR tree-optimization/52976
gfortran.dg/reassoc_7.f: New test.
gfortran.dg/reassoc_8.f: Likewise.
gfortran.dg/reassoc_9.f: Likewise.
gfortran.dg/reassoc_10.f: Likewise.

From-SVN: r186567

12 years agore PR tree-optimization/44688 (Excessive code-size growth at -O3)
Richard Guenther [Wed, 18 Apr 2012 11:33:51 +0000 (11:33 +0000)]
re PR tree-optimization/44688 (Excessive code-size growth at -O3)

2012-04-18  Richard Guenther  <rguenther@suse.de>

PR tree-optimization/44688
* cfgloop.h (record_niter_bound): Declare.
* tree-ssa-loop-niter.c (record_niter_bound): Export.
Update the estimation with the upper bound here...
(estimate_numbers_of_iterations_loop): ... instead of here.
Do not forcefully reset a recorded upper bound.
* tree-vect-loop-manip.c (vect_do_peeling_for_alignment):
Record the maximum number of loop iterations of the
prologue loop.

From-SVN: r186566

12 years agore PR c++/52422 ([C++11][SFINAE] Hard errors with void or arithmetic expressions)
Paolo Carlini [Wed, 18 Apr 2012 10:21:43 +0000 (10:21 +0000)]
re PR c++/52422 ([C++11][SFINAE] Hard errors with void or arithmetic expressions)

/cp
2012-04-18  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/52422
* cp-tree.h (build_addr_func, decay_conversion,
get_member_function_from_ptrfunc,
build_m_component_ref, convert_member_func_to_ptr):
Add tsubst_flags_t parameter.
* typeck.c (cp_default_conversion): Add.
(decay_conversion, default_conversion,
get_member_function_from_ptrfunc, convert_member_func_to_ptr):
Add tsubst_flags_t parameter and use it throughout.
(cp_build_indirect_ref, cp_build_array_ref,
cp_build_function_call_vec, convert_arguments, build_x_binary_op,
cp_build_binary_op, cp_build_unary_op, build_reinterpret_cast_1,
build_const_cast_1, expand_ptrmemfunc_cst,
convert_for_initialization): Adjust.
* init.c (build_vec_init): Adjust.
* decl.c (grok_reference_init, get_atexit_node): Likewise.
* rtti.c (build_dynamic_cast_1, tinfo_base_init): Likewise.
* except.c (build_throw): Likewise.
* typeck2.c (build_x_arrow): Likewise.
(build_m_component_ref): Add tsubst_flags_t parameter and
use it throughout.
* pt.c (convert_nontype_argument): Adjust.
* semantics.c (finish_asm_stmt, maybe_add_lambda_conv_op): Likewise.
* decl2.c (build_offset_ref_call_from_tree): Likewise.
* call.c (build_addr_func): Add tsubst_flags_t parameter and
use it throughout.
(build_call_a, build_conditional_expr_1, build_new_op_1,
convert_like_real, convert_arg_to_ellipsis, build_over_call,
build_special_member_call): Adjust.
* cvt.c (cp_convert_to_pointer, force_rvalue,
build_expr_type_conversion): Likewise.

/testsuite
2012-04-18  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/52422
* g++.dg/cpp0x/sfinae33.C: New.
* g++.dg/cpp0x/sfinae34.C: Likewise.

From-SVN: r186565

12 years agolto-symtab.c (lto_cgraph_replace_node): Update.
Jan Hubicka [Wed, 18 Apr 2012 09:57:53 +0000 (11:57 +0200)]
lto-symtab.c (lto_cgraph_replace_node): Update.

* lto-symtab.c (lto_cgraph_replace_node): Update.
* cgraphbuild.c (record_reference, record_type_list,
record_eh_tables, mark_address, mark_load, mark_store): Update.
* cgraph.c (cgraph_same_body_alias, dump_cgraph_node,
cgraph_create_virtual_clone, cgraph_for_node_thunks_and_aliases):
Update.
* cgraph.h (symtab_node_def, symtab_node, const_symtab_node): Remove.
(cgraph_alias_aliased_node, varpool_alias_aliased_node): Update.
* reload.c: Fix typo in comment.
* rtlanal.c: Likewise.
* tree-emultls.c (gen_emutls_addr): Update.
* ipa-reference.c (analyze_function): Update.
* cgraphunit.c (cgraph_analyze_function,
cgraph_process_same_body_aliases, assemble_thunks_and_aliases):
Update.
* ipa-ref.c (ipa_record_reference): Reorg to avoid reference types.
(ipa_remove_reference): Likewise.
(ipa_remove_all_refering): Rename to ...
(ipa_remove_all_referring): ... this one; update.
(ipa_dump_references): Update.
(ipa_dump_referring): Update.
(ipa_clone_references): Update.
(ipa_clone_refering): Rename to ...
(ipa_clone_referring): ... this one; update.
(ipa_ref_cannot_lead_to_return): Update.
(ipa_ref_has_aliases_p): Update.
* ipa-ref.h (symtab_node_def, symtab_node, const_symtab_node): New
forward typedefs.
(ipa_ref_type): Remove.
(ipa_ref_ptr_u): Remove.
(ipa_ref): Remove referencing, refered, refered_index, refering_type
and refered_type; add referring, referred and referred_index.
(ipa_ref_list): Rename refering to referring.
(ipa_record_reference, ipa_remove_all_referring, ipa_dump_referring,
ipa_clone_references, ipa_clone_referring): Update prototypes.
* lto-cgraph.c (referenced_from_other_partition_p): Update.
(lto_output_ref): Update.
(add_references): Update.
(input_varpool_node): Update.
(input_refs): Update.
* ipa-ref-inline.h (ipa_ref_node): Update.
(ipa_ref_varpool_node): Update.
(ipa_ref_referring_node); Update.
(ipa_ref_referring_varpool_node): Update.
(ipa_ref_referring_ref_list); Update.
(ipa_ref_referred_ref_list): Update.
(ipa_ref_list_first_referring): Update.
(ipa_empty_ref_list): Update.
(ipa_ref_list_refering_iterate): Rename to ...
(ipa_ref_list_referring_iterate): ... this one.
* cse.c: Update comment.
* ipa-utils.c (ipa_reverse_postorder): Update.
* tree-ssa-alias.c: Update.
* ipa-inline.c (reset_edge_caches): Update.
(update_caller_keys): Update.
* ipa-inline.h: Update comments.
* jump.c: Update comment.
* alias.c: Likewise.
* ipa.c (process_references): Update.
(cgraph_remove_unreachable_nodes): Likewise.
(ipa_discover_readonly_nonaddressable_var): Likewise.
(cgraph_address_taken_from_non_vtable_p): Likewise.
* trans-mem.c (ipa_tm_execute): Update.
* simplify-rtx.c: Fix comment.
* rtl.c: Fix comment.
* symtab.c (symtab_unregister_node): Update.
* varpool.c (dump_varpool_node): Update.
(varpool_analyze_pending_decls): Update.
(assemble_aliases): Update.
(varpool_for_node_and_aliases): Update.

From-SVN: r186564

12 years agothumb1-imm.c: Skip it in non-thumb1 target.
Joey Ye [Wed, 18 Apr 2012 09:04:09 +0000 (09:04 +0000)]
thumb1-imm.c: Skip it in non-thumb1 target.

2012-04-18  Joey Ye  <joey.ye@arm.com>

        * gcc.target/arm/thumb1-imm.c: Skip it in non-thumb1 target.

From-SVN: r186563

12 years agocfgloop.h (estimate_numbers_of_iterations_loop): Remove use_undefined_p parameter.
Richard Guenther [Wed, 18 Apr 2012 08:55:41 +0000 (08:55 +0000)]
cfgloop.h (estimate_numbers_of_iterations_loop): Remove use_undefined_p parameter.

2012-04-18  Richard Guenther  <rguenther@suse.de>

* cfgloop.h (estimate_numbers_of_iterations_loop): Remove
use_undefined_p parameter.
* tree-flow.h (estimate_numbers_of_iterations): Likewise.
* tree-ssa-loop-niter.c (estimate_numbers_of_iterations_loop):
Likewise.
(estimate_numbers_of_iterations): Likewise.
(estimated_loop_iterations): Adjust.
(max_loop_iterations): Likewise.
(scev_probably_wraps_p): Likewise.
* tree-ssa-loop.c (tree_ssa_loop_bounds): Likewise.
* tree-vrp.c (adjust_range_with_scev): Use max_stmt_executions,
not max_loop_iterations.
(execute_vrp): Remove explicit number of iterations estimation.

From-SVN: r186562

12 years agotest_passing_unions.c: Avoid undefined array access.
Richard Guenther [Wed, 18 Apr 2012 08:32:32 +0000 (08:32 +0000)]
test_passing_unions.c: Avoid undefined array access.

2012-04-18  Richard Guenther  <rguenther@suse.de>

* gcc.target/x86_64/abi/test_passing_unions.c: Avoid undefined
array access.
* gcc.target/x86_64/abi/test_passing_structs.c: Likewise.
* gcc.target/i386/avx256-unaligned-load-4.c: Fix array sizes.

From-SVN: r186561

12 years agolinux-common.h: New.
Enkovich Ilya [Wed, 18 Apr 2012 08:29:55 +0000 (08:29 +0000)]
linux-common.h: New.

2012-04-18  Enkovich Ilya  <ilya.enkovich@intel.com>

       * config/i386/linux-common.h: New.

       * config.gcc: Add i386/linux-common.h before
       all i386/linux.h and i386/linux64.h usages.

       * config/i386/gnu-user.h (GNU_USER_TARGET_LINK_SPEC): New.
       (LINK_SPEC): Use GNU_USER_TARGET_LINK_SPEC.
       * config/i386/gnu-user64.h: Likewise.

       * config/i386/gnu-user.common.h (GNU_USER_TARGET_CC1_SPEC): New.
       (CC1_SPEC): Use GNU_USER_TARGET_CC1_SPEC.
       (GNU_USER_TARGET_MATHFILE_SPEC): New.
       (ENDFILE_SPEC): Use GNU_USER_TARGET_MATHFILE_SPEC.

From-SVN: r186560

12 years agocgraph.c (cgraph_node_name): Remove.
Jan Hubicka [Wed, 18 Apr 2012 06:54:33 +0000 (08:54 +0200)]
cgraph.c (cgraph_node_name): Remove.

* cgraph.c (cgraph_node_name): Remove.
(dump_cgraph_node): Use dump_symtab_base; reformat.
* cgraph.h (symtab_node_asm_name, symtab_node_name, dump_symtab,
debug_symtab, dump_symtab_node, debug_symtab_node, dump_symtab_base):
Declare.
(cgraph_node_name, varpool_node_name): Remove.
(cgraph_node_asm_name, varpool_node_asm_name,
cgraph_node_name, varpool_node_name): New.
* tree-pass.h (TODO_dump_cgraph): Rename to ...
(TODO_dump_symtab): ... this one.
* ipa-cp (pass_ipa_cp): Update.
* ia-reference.c (generate_summary, read_write_all_from_decl,
propagate, ipa_reference_read_optimization_summary): Update.
* cgraphunit.c (cgraph_analyze_functions): Update.
(cgraph_optimize): Update.
* ipa-ref.c (ipa_dump_references): Update.
(ipa_dump_refering): Update.
* ipa-inline.c (pass_ipa_inline): Update.
* matrix-reorg.c (pass_ipa_matrix_reorg): Update.
* ipa.c (pass_ipa_function_visibility,
pass_ipa_whole_program_visibility): Update.
* tree-sra.c (pass_early_ipa_sra): Update.
* symtab.c: Include langhooks.h
(symtab_node_asm_name): New.
(symtab_node_name): New.
(symtab_type_names): New static var.
(dump_symtab_base): New.
(dump_symtab_node, dump_symtab): New.
(debug_symtab_node,  debug_symtab): New.
* tree-ssa-structalias.c: Dump symbol table.
* pases.c (execute_todo): Handle TODO_dump_symtab instead
of TODO_dump_cgraph.
* varpoo.c (varpool_node_name): Remove.
(dump_varpool_node): Use dump_symtab_base; reformat.

From-SVN: r186559

12 years agoDaily bump.
GCC Administrator [Wed, 18 Apr 2012 00:19:09 +0000 (00:19 +0000)]
Daily bump.

From-SVN: r186557

12 years agoinvoke.texi (Language Independent Options): @item should be before @opindex.
Manuel López-Ibáñez [Tue, 17 Apr 2012 22:47:15 +0000 (22:47 +0000)]
invoke.texi (Language Independent Options): @item should be before @opindex.

2012-04-18  Manuel López-Ibáñez  <manu@gcc.gnu.org>

        * doc/invoke.texi (Language Independent Options): @item should be
before @opindex.

From-SVN: r186553

12 years agore PR bootstrap/53021 (bootstrap failure on Linux/ia32)
Richard Sandiford [Tue, 17 Apr 2012 20:09:01 +0000 (20:09 +0000)]
re PR bootstrap/53021 (bootstrap failure on Linux/ia32)

gcc/
PR bootstrap/53021
* rtl.c (rtx_code_size): Handle ADDRESS.

From-SVN: r186549

12 years agore PR libfortran/38199 (missed optimization: I/O performance)
Tobias Burnus [Tue, 17 Apr 2012 19:30:29 +0000 (21:30 +0200)]
re PR libfortran/38199 (missed optimization: I/O performance)

2012-04-17  Tobias Burnus  <burnus@net-b.de>

        PR libfortran/38199
        PR libfortran/50673
        * io/unit.c (get_internal_unit): Properly check for the presence
        of the format string.

From-SVN: r186548

12 years agopr51264-4.C: New test.
Tom de Vries [Tue, 17 Apr 2012 18:28:50 +0000 (18:28 +0000)]
pr51264-4.C: New test.

2012-04-17  Tom de Vries  <tom@codesourcery.com>

* g++.dg/pr51264-4.C: New test.

From-SVN: r186547

12 years agocp-gimplify.c (begin_bc_block): Add location parameter and use as location argument...
Tom de Vries [Tue, 17 Apr 2012 18:28:42 +0000 (18:28 +0000)]
cp-gimplify.c (begin_bc_block): Add location parameter and use as location argument to create_artificial_label.

2012-04-17  Tom de Vries  <tom@codesourcery.com>

* cp-gimplify.c (begin_bc_block): Add location parameter and use as
location argument to create_artificial_label.
(finish_bc_block): Change return type to void.  Remove body_seq
parameter, and add block parameter.  Append label to STMT_LIST and
return in block.
(gimplify_cp_loop, gimplify_for_stmt, gimplify_while_stmt)
(gimplify_do_stmt, gimplify_switch_stmt): Remove function.
(genericize_cp_loop, genericize_for_stmt, genericize_while_stmt)
(genericize_do_stmt, genericize_switch_stmt, genericize_continue_stmt)
(genericize_break_stmt, genericize_omp_for_stmt): New function.
(cp_gimplify_omp_for): Remove bc_continue processing.
(cp_gimplify_expr): Genericize VEC_INIT_EXPR.
(cp_gimplify_expr): Mark FOR_STMT, WHILE_STMT, DO_STMT, SWITCH_STMT,
CONTINUE_STMT, and BREAK_STMT as unreachable.
(cp_genericize_r): Genericize FOR_STMT, WHILE_STMT, DO_STMT,
SWITCH_STMT, CONTINUE_STMT, BREAK_STMT and OMP_FOR.
(cp_genericize_tree): New function, factored out of ...
(cp_genericize): ... this function.

From-SVN: r186546

12 years agotree-iterator.c (append_to_statement_list_1): Handle case that *list_p is not a STMT_...
Tom de Vries [Tue, 17 Apr 2012 18:28:34 +0000 (18:28 +0000)]
tree-iterator.c (append_to_statement_list_1): Handle case that *list_p is not a STMT_LIST.

2012-04-17  Tom de Vries  <tom@codesourcery.com>

* tree-iterator.c (append_to_statement_list_1): Handle case that *list_p
is not a STMT_LIST.

From-SVN: r186545

12 years agore PR target/53020 (__atomic_fetch_or doesn't generate `1 insn` variant)
Uros Bizjak [Tue, 17 Apr 2012 17:35:23 +0000 (19:35 +0200)]
re PR target/53020 (__atomic_fetch_or doesn't generate `1 insn` variant)

PR target/53020
* config/i386/sync.md (atomic_<code><mode>): Rename to
atomic_<logic><mode>.

From-SVN: r186542

12 years agore PR c++/52599 (ICE on illegal constexpr constructor declaration)
Paolo Carlini [Tue, 17 Apr 2012 17:20:02 +0000 (17:20 +0000)]
re PR c++/52599 (ICE on illegal constexpr constructor declaration)

/cp
2012-04-17  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/52599
* semantics.c (build_constexpr_constructor_member_initializers):
Check for function-try-block as function-body.

/testsuite
2012-04-17  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/52599
* g++.dg/cpp0x/constexpr-ctor10.C: New.

/cp
2012-04-17  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/53003
* parser.c (cp_parser_member_declaration): Check that
initializer_token_start is non null before dereferencing it.

/testsuite
2012-04-17  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/53003
* g++.dg/parse/crash59.C: New.

From-SVN: r186541

12 years agortl.def (ADDRESS): Turn operand into a HOST_WIDE_INT.
Richard Sandiford [Tue, 17 Apr 2012 17:01:02 +0000 (17:01 +0000)]
rtl.def (ADDRESS): Turn operand into a HOST_WIDE_INT.

gcc/
* rtl.def (ADDRESS): Turn operand into a HOST_WIDE_INT.
* alias.c (reg_base_value): Expand and update comment.
(arg_base_value): New variable.
(unique_id): Move up file.
(unique_base_value, unique_base_value_p, known_base_value_p): New.
(find_base_value): Use arg_base_value and known_base_value_p.
(record_set): Document REG_NOALIAS handling.  Use unique_base_value.
(find_base_term): Use known_base_value_p.
(base_alias_check): Use unique_base_value_p.
(init_alias_target): Initialize arg_base_value.  Use unique_base_value.
(init_alias_analysis): Use 1 as the first id for REG_NOALIAS bases.

From-SVN: r186540

12 years ago808590.cc: New.
Benjamin Kosnik [Tue, 17 Apr 2012 16:41:40 +0000 (16:41 +0000)]
808590.cc: New.

2012-04-17  Benjamin Kosnik  <bkoz@redhat.com>

* testsuite/20_util/specialized_algorithms/uninitialized_copy/
808590.cc: New.

From-SVN: r186539

12 years agors6000.h (SLOW_UNALIGNED_ACCESS): Remove DImode.
Pat Haugen [Tue, 17 Apr 2012 15:38:10 +0000 (15:38 +0000)]
rs6000.h (SLOW_UNALIGNED_ACCESS): Remove DImode.

        * config/rs6000/rs6000.h (SLOW_UNALIGNED_ACCESS): Remove DImode.

From-SVN: r186534

12 years agore PR tree-optimization/18437 (vectorizer failed for matrix multiplication)
Michael Matz [Tue, 17 Apr 2012 13:54:26 +0000 (13:54 +0000)]
re PR tree-optimization/18437 (vectorizer failed for matrix multiplication)

PR tree-optimization/18437

* tree-vectorizer.h (_stmt_vec_info.stride_load_p): New member.
(STMT_VINFO_STRIDE_LOAD_P): New accessor.
(vect_check_strided_load): Declare.
* tree-vect-data-refs.c (vect_check_strided_load): New function.
(vect_analyze_data_refs): Use it to accept strided loads.
* tree-vect-stmts.c (vectorizable_load): Ditto and handle them.

testsuite/
* gfortran.dg/vect/rnflow-trs2a2.f90: New test.

From-SVN: r186530

12 years agore PR rtl-optimization/53011 (ice in verify_loop_structure: bad sizes)
Richard Guenther [Tue, 17 Apr 2012 13:42:48 +0000 (13:42 +0000)]
re PR rtl-optimization/53011 (ice in verify_loop_structure: bad sizes)

2012-04-17  Richard Guenther  <rguenther@suse.de>

PR middle-end/53011
* tree-eh.c (cleanup_empty_eh_merge_phis): Properly discard
loops when redirecting an entry or latch edge.

* g++.dg/torture/pr53011.C: New testcase.

From-SVN: r186529

12 years agosel-sched.c (sel_global_init): Revert previous change.
Bernd Schmidt [Tue, 17 Apr 2012 13:40:01 +0000 (13:40 +0000)]
sel-sched.c (sel_global_init): Revert previous change.

* sel-sched.c (sel_global_init): Revert previous change.
his line, and those below, will be ignored--

M    ChangeLog
M    sel-sched.c

From-SVN: r186528

12 years agotree-flow.h (array_at_struct_end_p): Move declaration ...
Richard Guenther [Tue, 17 Apr 2012 13:33:41 +0000 (13:33 +0000)]
tree-flow.h (array_at_struct_end_p): Move declaration ...

2012-04-17  Richard Guenther  <rguenther@suse.de>

* tree-flow.h (array_at_struct_end_p): Move declaration ...
* tree.h (array_at_struct_end_p): ... here.
* tree-ssa-loop-niter.c (array_at_struct_end_p): Move ...
* expr.c (array_at_struct_end_p): ... here.  Rewrite.

From-SVN: r186527

12 years agostmt.c (cost_table_, [...]): Remove.
Steven Bosscher [Tue, 17 Apr 2012 12:02:30 +0000 (12:02 +0000)]
stmt.c (cost_table_, [...]): Remove.

* stmt.c (cost_table_, use_cost_table, cost_table_initialize,
COST_TABLE): Remove.
(estimate_case_costs): Remove.
(expand_case): Do not call estimate_case_costs
to set use_cost_table.
(balance_case_nodes): Do not use use_cost_table.

From-SVN: r186526

12 years agocgraph.c (cgraph_hash, [...]): Remove.
Jan Hubicka [Tue, 17 Apr 2012 10:53:22 +0000 (12:53 +0200)]
cgraph.c (cgraph_hash, [...]): Remove.

* cgraph.c (cgraph_hash, assembler_name_hash): Remove.
(hash_node, eq_node): Remove.
(cgraph_create_node): Do not handle hashtable.
(cgraph_get_node): Remove.
(cgraph_insert_node_to_hashtable): Remove.
(hash_node_by_assembler_name): Remove.
(eq_assembler_name): Remove.
(cgraph_node_for_asm): Rewrite.
(cgraph_find_replacement_node): Break out from ...
(cgraph_remove_node): ... here; do not maintain hashtables.
(change_decl_assembler_name): Remove.
(cgraph_clone_node): Do not maintain hashtables.
* cgraph.h (const_symtab_node): New typedef.
(cgraph_insert_node_to_hashtable): Remove.
(symtab_get_node, symtab_node_for_asm,
symtab_insert_node_to_hashtable): Declare.
(cgraph_find_replacement_node): Declare.
(cgraph_get_node, varpool_get_node): Turn into inlines.
(cgraph, varpool): Work sanely on NULL pointers.
(FOR_EACH_SYMBOL): New walker.
* ipa-inline-transform.c (save_inline_function_body): Use
symtab_insert_node_to_hashtable.
* symtab.c: Include ggc.h and diagnostics.h
(symtab_hash, assembler_name_hash): New static vars;
(hash_node, eq_node, hash_node_by_assembler_name,
eq_assembler_name, insert_to_assembler_name_hash,
unlink_from_assembler_name_hash): New.
(symtab_register_node): Update hashtables.
(symtab_insert_node_to_hashtable): New.
(symtab_unregister_node): Update hashtables.
(symtab_get_node): New.
(symtab_node_for_asm): New.
(change_decl_assembler_name): New.
* Makefile.in (symtab.o): Needs GTY.
* varpool.c (varpool_hash): Remove.
(hash_varpool_node, eq_varpool_node, varpool_get_node): Remove.
(varpool_node): Rewrite using varpool_get_node.
(varpool_remove_node): DO not maintain hashtables.
(varpool_node_for_asm); Rewrite.

From-SVN: r186525

12 years agoFix merging default libstdc++.log
Rainer Orth [Tue, 17 Apr 2012 10:21:25 +0000 (10:21 +0000)]
Fix merging default libstdc++.log

* testsuite/util/testsuite_abi.cc (compare_symbols): Change
summary header to avoid confusion with DejaGnu header.

From-SVN: r186524

12 years agoinvoke.texi: Copy-edit to put verbs in the present tense when...
Sandra Loosemore [Tue, 17 Apr 2012 02:34:20 +0000 (22:34 -0400)]
invoke.texi: Copy-edit to put verbs in the present tense when...

2012-04-16  Sandra Loosemore  <sandra@codesourcery.com>

gcc/
* doc/invoke.texi:  Copy-edit to put verbs in the present tense
when describing the current behavior of GCC.

From-SVN: r186523

12 years agore PR c++/38543 ([C++0x] Cannot specialize variadic template function)
Jason Merrill [Tue, 17 Apr 2012 02:29:51 +0000 (22:29 -0400)]
re PR c++/38543 ([C++0x] Cannot specialize variadic template function)

PR c++/38543
* pt.c (determine_specialization): Instead of comparing the number
of parms, check that tsubst gives the right answer.

From-SVN: r186522

12 years agore PR c++/52008 ([Core/1495] ICE when adding partial specialization for variadic...
Jason Merrill [Tue, 17 Apr 2012 02:29:43 +0000 (22:29 -0400)]
re PR c++/52008 ([Core/1495] ICE when adding partial specialization for variadic-templated structure)

PR c++/52008
* pt.c (process_partial_specialization): Complain about a partial
specialization with fewer args than primary template parms.

From-SVN: r186521

12 years agore PR c++/50830 ([c++0x] Variadic template, inner class error)
Jason Merrill [Tue, 17 Apr 2012 02:29:35 +0000 (22:29 -0400)]
re PR c++/50830 ([c++0x] Variadic template, inner class error)

PR c++/50830
* pt.c (convert_template_argument): Handle template template
argument packs.

From-SVN: r186520

12 years agore PR c++/50303 ([C++0x] Segfault with variadic template template parameters)
Jason Merrill [Tue, 17 Apr 2012 02:29:27 +0000 (22:29 -0400)]
re PR c++/50303 ([C++0x] Segfault with variadic template template parameters)

PR c++/50303
* pt.c (tsubst_pack_expansion): Use tsubst_expr for template
template parameters.

From-SVN: r186519

12 years agoDaily bump.
GCC Administrator [Tue, 17 Apr 2012 00:18:00 +0000 (00:18 +0000)]
Daily bump.

From-SVN: r186516

12 years agocompiler: fix infinite recursion in string constant evaluation.
Ian Lance Taylor [Mon, 16 Apr 2012 23:05:40 +0000 (23:05 +0000)]
compiler: fix infinite recursion in string constant evaluation.

Fixes compilation of incorrect code:
    const f, g = g, f
    func S() []byte { return []byte(f) }

The problem was already handled for numerical constants.

Part of issue 3186 (go).

From-SVN: r186511

12 years ago[multiple changes]
Tobias Burnus [Mon, 16 Apr 2012 21:47:35 +0000 (23:47 +0200)]
[multiple changes]

2012-04-12  Tobias Burnus  <burnus@net-b.de>

        PR fortran/52864
        * expr.c (gfc_check_vardef_context): Fix assignment check for
        pointer components.

2012-04-16  Tobias Burnus  <burnus@net-b.de>

        PR fortran/52864
        * gfortran.dg/pointer_intent_6.f90: New.

From-SVN: r186507

12 years agore PR fortran/52916 (481.wrf in SPEC CPU 2006 failed to build)
Tobias Burnus [Mon, 16 Apr 2012 21:38:49 +0000 (23:38 +0200)]
re PR fortran/52916 (481.wrf in SPEC CPU 2006 failed to build)

2012-04-16  Tobias Burnus  <burnus@net-b.de>

        PR fortran/52916
        * gfortran.dg/public_private_module_3.f90: Use dg-additional-sources
        to include public_private_module_4.f90.
        * gfortran.dg/public_private_module_4.f90: Skip this test on all
        targets

From-SVN: r186506

12 years agogenemit.c (gen_exp): Remove ADDRESS handling.
Richard Sandiford [Mon, 16 Apr 2012 18:52:05 +0000 (18:52 +0000)]
genemit.c (gen_exp): Remove ADDRESS handling.

gcc/
* genemit.c (gen_exp): Remove ADDRESS handling.
* genoutput.c (scan_operands): Likewise.
* genpeep.c (match_rtx): Likewise.
* genrecog.c (add_to_sequence): Likewise.

From-SVN: r186503

12 years agoinstall.texi (Specific, *-ibm-aix*): Update assembler bug status.
David Edelsohn [Mon, 16 Apr 2012 18:43:00 +0000 (18:43 +0000)]
install.texi (Specific, *-ibm-aix*): Update assembler bug status.

        * doc/install.texi (Specific, *-ibm-aix*): Update assembler bug
        status.

From-SVN: r186502

12 years agotree-sra.c (build_ref_for_model): Create COMPONENT_REFs only for bit-fields.
Martin Jambor [Mon, 16 Apr 2012 16:04:45 +0000 (18:04 +0200)]
tree-sra.c (build_ref_for_model): Create COMPONENT_REFs only for bit-fields.

2012-04-16  Martin Jambor  <mjambor@suse.cz>

* tree-sra.c (build_ref_for_model): Create COMPONENT_REFs only for
bit-fields.

From-SVN: r186501

12 years agore PR c++/49152 (pretty printer cannot handle iterators and other complex expressions)
Paolo Carlini [Mon, 16 Apr 2012 15:32:22 +0000 (15:32 +0000)]
re PR c++/49152 (pretty printer cannot handle iterators and other complex expressions)

/cp
2012-04-16  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/49152
* call.c (op_error): Print types; when flag_diagnostics_show_caret
is false print expressions too.
(op_error_string): Add.

/testsuite
2012-04-16  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/49152
* g++.dg/diagnostic/operator1.C: New.
* g++.dg/ext/label5.C: Adjust.
* g++.dg/ext/va-arg1.C: Likewise.
* g++.dg/other/error20.C: Likewise.
* g++.dg/other/error20.C: Likewise.
* g++.dg/other/error16.C: Likewise.
* g++.dg/other/error10.C: Likewise.
* g++.dg/parse/error30.C: Likewise.
* g++.dg/cpp0x/lambda/lambda-err1.C: Likewise.

From-SVN: r186499

12 years agore PR target/51819 (Neon wrong code generation, Error: unsupported alignment for...
Ulrich Weigand [Mon, 16 Apr 2012 15:19:43 +0000 (15:19 +0000)]
re PR target/51819 (Neon wrong code generation, Error: unsupported alignment for instruction -- `vst1.32 {d2[0]},[r0:64]')

2012-04-16  Ulrich Weigand  <ulrich.weigand@linaro.org>

PR target/51819
* config/arm/arm.c (arm_print_operand): Fix invalid alignment
hints for 'A' operand types.

From-SVN: r186498

12 years agoUse target_alias in validate_failures.py
Rainer Orth [Mon, 16 Apr 2012 14:49:00 +0000 (14:49 +0000)]
Use target_alias in validate_failures.py

* testsuite-management/validate_failures.py (GetBuildData): Use
target_alias.

From-SVN: r186497

12 years agocgraph.h (symtab_node_base): Add next and previous pointers.
Jan Hubicka [Mon, 16 Apr 2012 14:34:22 +0000 (16:34 +0200)]
cgraph.h (symtab_node_base): Add next and previous pointers.

* cgraph.h (symtab_node_base): Add next and previous pointers.
(cgraph_node): Remove next and preivous pointers.
(varpool_node): Likewise; remove next/previous GTY marker;
it is not type safe.
(symtab_node_def): Update GTY marker
(x_cgraph_nodes, cgraph_nodes): Remove.
(symtab_nodes): New function.
(cgraph_order): Rename to ...
(symtab_order): ... this one.
(symtab_register_node, symtab_unregister_node, symtab_remove_node):
Declare.
(x_varpool_nodes, varpool_nodes): Remove.
(FOR_EACH_STATIC_VARIABLE): Update.
(symtab_function_p, symtab_variable_p): New function.
(FOR_EACH_VARIABLE): Update.
(varpool_first_variable, varpool_next_variable): New functions.
(FOR_EACH_VARIABLE): Update.
(cgraph_first_defined_function): Update.
(cgraph_next_defined_function, cgraph_next_defined_function): Update.
(FOR_EACH_DEFINED_FUNCTION, FOR_EACH_FUNCTION): Update.
(cgraph_first_function, cgraph_next_function): New.
(FOR_EACH_FUNCTION): Update.
(cgraph_first_function_with_gimple_body,
cgraph_next_function_with_gimple_body): Update.
* symtab.c: New file.
* cgraph.c: Update copyright dates.
(x_cgraph_nodes, cgraph_order): Remove.
(NEXT_FREE_NODE): Update.
(SET_NEXT_FREE_NODE): New.
(cgraph_create_node_1): Remove common code.
(cgraph_create_node); Remove common code; call symtab_register_node.
(cgraph_remove_node): Remove common code; call symtab_unregister-node.
(cgraph_add_asm_node); update.
(cgraph_clone_node): Register new node.
* cgraphunit.c (process_function_and_variable_attributes): Update.
(cgraph_analyze_functions): Update.
(cgraph_analyze_functions): Update.
(cgraph_output_in_order): Update.
* lto-cgraph.c (input_node, input_varpool_node, input_cgraph_1): Update.
* ipa-inline.c (recursive_inlining); update.
* lto-streamer-in.c (lto_input_toplevel_asms); Update.
* ipa.c (cgraph_remove_unreachable_nodes): Update.
* Makefile.in: Add symtab.o
* varpool.c (x_varpool_nodes): Remove
(varpool_node): Remove common code; call symtab_register_node.
(varpool_remove_node); Remove common code; call symtab_unregister_node.

From-SVN: r186496

12 years agore PR c++/51148 ([C++0x] Unexpanded template param packs wrongly accepted in friend...
Jason Merrill [Mon, 16 Apr 2012 14:15:36 +0000 (10:15 -0400)]
re PR c++/51148 ([C++0x] Unexpanded template param packs wrongly accepted in friend class declarations)

PR c++/51148
* friend.c (make_friend_class): Call check_for_bare_parameter_packs.

From-SVN: r186495

12 years agore PR c/52977 (internal compiler error: Segmentation fault with `-x c-header' or...
Richard Guenther [Mon, 16 Apr 2012 13:21:30 +0000 (13:21 +0000)]
re PR c/52977 (internal compiler error: Segmentation fault with `-x c-header' or `-x cxx-header' option)

2012-04-16  Richard Guenther  <rguenther@suse.de>

PR middle-end/52977
* tree.h (VECTOR_CST_NELTS): Adjust.
(struct tree_vector): Add explicit length field.
(make_vector_stat): Declare.
(make_vector): Define.
* tree.c (make_vector_stat): New function.
(build_vector_stat): Use it.
* tree-streamer-in.c (streamer_alloc_tree): Likewise.

From-SVN: r186494

12 years agore PR tree-optimization/52976 (Revision 186384 breaks the polyhedron tests aermod...
Bill Schmidt [Mon, 16 Apr 2012 12:15:50 +0000 (12:15 +0000)]
re PR tree-optimization/52976 (Revision 186384 breaks the polyhedron tests aermod.f90 and doduc.f90 at -O3 -ffast-math)

2012-04-16  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

PR tree-optimization/52976
* tree-ssa-reassoc.c (add_to_ops_vec_max_rank): New function.
(undistribute_ops_list): Ops with repeat counts aren't eligible for
undistribution.
(attempt_builtin_powi): Call add_to_ops_vec_max_rank.

From-SVN: r186493

12 years agocgraph.h (FOR_EACH_VARIABLE, [...]): New macros.
Jan Hubicka [Mon, 16 Apr 2012 12:04:17 +0000 (14:04 +0200)]
cgraph.h (FOR_EACH_VARIABLE, [...]): New macros.

* cgraph.h (FOR_EACH_VARIABLE, FOR_EACH_VARIABLE, FOR_EACH_FUNCTION):
New macros.
* lto-symtab.c (lto_symtab_merge_cgraph_nodes): Use FOR_EACH
walkers to walk cgraph and varpool.
* cgraph.c (cgraph_node_for_asm): Likewise.
(dump_cgraph): Likewise.
* value-prof.c (init_node_map): Likewise.
* tree.c (free_lang_data_in_cgraph): Likewise.
* tree-emutls.c: (ipa_lower_emutls): Likewise.
* ipa-reference.c (generate_summary, propagate): Likewise.
* cgraphunit.c (verify_cgraph, cgraph_process_same_body_aliases,
cgraph_mark_functions_to_output, cgraph_output_in_order,
output_weakrefs, cgraph_materialize_all_clones,
cgraph_optimize): Likewise.
* lto-cgraph.c (merge_profile_summaries): Likewise.
(input_cgraph): Likewise.
* ipa-pure-const.c (generate_summary): Likewise.
(propagate): Likwise.
* ipa-utils.c (ipa_reduced_postorder): Likewise.
(ipa_free_postorder_info): Likewise.
(ipa_reverse_postorder): Likewise.
* ipa-inline.c (ipa_inline): Likewise.
* matrix-reorg.c (find_matrices_decl): Likewise.
(matrix_reorg): Likewise.
* tree-vectorizer.c (increase_alignment): Likewise.
* ipa.c (cgraph_remove_unreachable_nodes): Likewise.
(function_and_variable_visibility): Likewise.
(whole_program_function_and_variable_visibility): Likewise.
(ipa_cdtor_merge): Likewise.
* trans-mem.c (ipa_tm_execute): Likewise.
* ipa-inline-analysis.c (dump_inline_summaries): Likewise.
* ipa-prop.c (ipa_print_all_jump_functions): Likewise.
(ipa_print_all_params): Likewise.
(ipa_update_after_lto_read): Likewise.
* tree-profie.c (tree_profiling): Likewise.
* tree-ssa-structalias.c (ipa_pta_execute): Likewise.
* passes.c (dump_passes): Likewise.
(do_per_function): Likewise.
(ipa_write_summaries): Likewise.
* varpool.c (dump_varpool): Likewise.
(varpool_node_for_asm): Likewise.
(varpool_assemble_pending_decls): Likewise.

* decl2.c (collect_candidates_for_java_method_alias): Use FOR_EACH
        walkers to walk cgraph and varpool.

* lto.c (read_cgraph_and_symbols): Use FOR_EACH
        walkers to walk cgraph and varpool.
(materialize_cgraph): Likewise.
* lto-partition.c (lto_1_to_1_map): Likewise.
(lto_balanced_map): Likewise.
(lto_promote_cross_file_statics): Likewise.

From-SVN: r186492

12 years agore PR tree-optimization/52975 (Ofast produces not optimized code for vectorized ...
Richard Guenther [Mon, 16 Apr 2012 11:03:16 +0000 (11:03 +0000)]
re PR tree-optimization/52975 (Ofast produces not optimized code for vectorized "converted if")

2012-04-16  Richard Guenther  <rguenther@suse.de>

PR tree-optimization/52975
* tree-if-conv.c (predicate_bbs): Do not simplify inverted
condition but always mark it with TRUTH_NOT_EXPR.

From-SVN: r186491

12 years agoFix plugin testsuite, remove uses of TODO_dump_func (PR testsuite/52948)
Rainer Orth [Mon, 16 Apr 2012 10:14:40 +0000 (10:14 +0000)]
Fix plugin testsuite, remove uses of TODO_dump_func (PR testsuite/52948)

* lib/plugin-support.exp (plugin-test-execute): Properly determine
testcase name.
Use fail, pass instead of unresolved.
Don't log $optstr.

PR testsuite/52948
* g++.dg/plugin/dumb_plugin.c (pass_dumb_plugin_example): Remove
TODO_dump_func.
* g++.dg/plugin/selfassign.c (pass_warn_self_assign): Likewise.
* gcc.dg/plugin/one_time_plugin.c (one_pass): Likewise.
* gcc.dg/plugin/selfassign.c (pass_warn_self_assign): Likewise.

From-SVN: r186490

12 years agore PR tree-optimization/52975 (Ofast produces not optimized code for vectorized ...
Richard Guenther [Mon, 16 Apr 2012 09:25:14 +0000 (09:25 +0000)]
re PR tree-optimization/52975 (Ofast produces not optimized code for vectorized "converted if")

2012-04-16  Richard Guenther  <rguenther@suse.de>

PR tree-optimization/52975
* tree-ssa-forwprop.c (combine_cond_exprs): New function.
(ssa_forward_propagate_and_combine): Call it for COND_EXPRs
and VEC_COND_EXPRs.  Also combine into VEC_COND_EXPRs condition.
* fold-const.c (operand_equal_p): Handle TARGET_MEM_REF.

From-SVN: r186488

12 years agore PR fortran/52968 ([OOP] Call to type-bound procedure wrongly rejected)
Janus Weil [Mon, 16 Apr 2012 08:48:11 +0000 (10:48 +0200)]
re PR fortran/52968 ([OOP] Call to type-bound procedure wrongly rejected)

2012-04-16  Janus Weil  <janus@gcc.gnu.org>

PR fortran/52968
* class.c (gfc_build_class_symbol): Make sure the 'f2k_derived'
namespace is present.

2012-04-16  Janus Weil  <janus@gcc.gnu.org>

PR fortran/52968
* gfortran.dg/typebound_call_23.f03: New test case.

From-SVN: r186486