Commit Graph

116361 Commits

Author SHA1 Message Date
Richard Guenther f7a06a988e tree-vect-loop-manip.c (slpeel_add_loop_guard): Gimplify the condition using is_gimple_condexpr and avoid the not necessary...
2012-04-23  Richard Guenther  <rguenther@suse.de>

	* tree-vect-loop-manip.c (slpeel_add_loop_guard): Gimplify
	the condition using is_gimple_condexpr and avoid the not necessary
	boolification.
	(set_prologue_iterations): Likewise.
	(vect_loop_versioning): Likewise.

From-SVN: r186710
2012-04-23 14:38:16 +00:00
Bill Schmidt c6f9b038be re PR regression/53076 (gcc.dg/torture/builtin-explog-1.c, gcc.dg/torture/builtin-power-1.c at -O0)
gcc-testsuite:

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

	PR regression/53076
	* gcc.dg/torture/builtin-explog-1.c: Skip if -O0.
	* gcc.dg/torture/builtin-power-1.c: Likewise.

From-SVN: r186709
2012-04-23 14:06:11 +00:00
Andrew Haley 492eaa8dcf defineclass.cc (MAJOR_1_7, MINOR_1_7): New.
2012-04-23  Andrew Haley  <aph@redhat.com>

	* defineclass.cc (MAJOR_1_7,  MINOR_1_7): New.
	(parse): Allow MAJOR_1_7 classfile version.

From-SVN: r186707
2012-04-23 13:33:32 +00:00
Richard Guenther c654217566 re PR tree-optimization/53070 (ICE: in execute_cse_reciprocals, at tree-ssa-math-opts.c:513 with -O -ffast-math -ftree-loop-if-convert -fno-tree-loop-im)
2012-04-23  Richard Guenther  <rguenther@suse.de>

	PR tree-optimization/53070
	* tree-if-conv.c (combine_blocks): Free predicates in all blocks.
	(main_tree_if_conversion): Verify we succeeded in that.

	* gcc.dg/torture/pr53070.c: New testcase.

From-SVN: r186704
2012-04-23 12:47:02 +00:00
Paolo Carlini 9771644a91 re PR libstdc++/53080 (tuple interface to std::array doesn't check bounds)
2012-04-23  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/53080
	* include/std/array (tuple_element, get): static_assert I < N.
	* testsuite/23_containers/array/tuple_interface/tuple_element_neg.cc:
	New.
	* testsuite/23_containers/array/tuple_interface/get_neg.cc: Likewise.
	* testsuite/23_containers/array/tuple_interface/tuple_element.cc: Fix.

From-SVN: r186702
2012-04-23 12:26:43 +00:00
Chris Jefferson ff5be0e34e re PR testsuite/53046 (New libstdc++ test failures)
2012-04-23  Chris Jefferson  <chris@bubblescope.net>

	PR testsuite/53046
	* testsuite/25_algorithms/stable_partition/mem_check.cc: Fix size
	of array A.
	* testsuite/25_algorithms/stable_sort/mem_check.cc: Likewise.

From-SVN: r186701
2012-04-23 11:17:28 +00:00
Jan Hubicka 93a18a7075 lto-symtab.c (lto_cgraph_replace_node): Do not call mark_reahcable_node.
* lto-symtab.c (lto_cgraph_replace_node): Do not call
	mark_reahcable_node.
	* cgraph.c (cgraph_remove_node): Do not clear reachable.
	(cgraph_mark_reachable_node): Remove.
	(cgraph_mark_force_output_node): Do not set reachable.
	(dump_cgraph_node): Do not dump reachable.
	(cgraph_create_virtual_clone): Do not set reachable.
	* cgraph.h (cgraph_node): Remove reachable flag.
	(varpool_node): Remove reachable flag.
	(cgraph_mark_if_needed): Remove.
	(cgraph_mark_reachable_node): Remove.
	* tree-emutls.c (ipa_lower_emutls): Do not check
	reachable.
	* cgraphunit.c (cgraph_finalize_function): Do not mark node as
	reachable.
	(cgraph_add_new_function): Likewise.
	(cgraph_mark_if_needed): Remove.
	(cgraph_analyze_function): Do not set target as reachable.
	(process_function_and_variable_attributes): Do not care about dllexport.
	(cgraph_analyze_functions): Do not set reachable flags.
	(cgraph_mark_functions_to_output): Do not check reachability.
	(cgraph_copy_node_for_versioning): Do not set reachable flag.
	(dbxout_expand_expr): Update.
	* c-decl.c (merge_decls): Do not track changed externs.
	* ipa.c: Include pointer-set.h
	(enqueue_cgraph_node): Use reachable pointer set.
	(process_references): Likewise.
	(cgraph_remove_unreachable_nodes): Likewise.
	(whole_program_function_and_variable_visibility): Do not recompute reachable.
	* trans-mem.c (ipa_tm_execute): Do not check reachable flag.

From-SVN: r186700
2012-04-23 11:13:46 +00:00
Georg-Johann Lay da4343c3df extend.texi (AVR Named Address Spaces): Fix typos.
* doc/extend.texi (AVR Named Address Spaces): Fix typos.

From-SVN: r186697
2012-04-23 10:23:04 +00:00
Richard Biener 54b9f838fa re PR c/53060 (Typo in build_binary_op for scalar-vector ops)
2012-04-23  Richard Guenther  <rguenther@suse.de>

	PR c/53060
	* c-typeck.c (build_binary_op): Fix typo.

	* gcc.dg/pr53060.c: New testcase.

From-SVN: r186696
2012-04-23 10:20:05 +00:00
Jakub Jelinek e6a21dd2b9 re PR tree-optimization/52891 (ICE in adjust_bool_pattern)
PR tree-optimizations/52891
	* tree-vect-patterns.c (adjust_bool_pattern): Use
	build_nonstandard_type even if rhs1 has unsigned INTEGER_TYPE,
	but with non-standard precision.

	* gcc.c-torture/compile/pr52891-1.c: New test.	
	* gcc.c-torture/compile/pr52891-2.c: New test.

From-SVN: r186694
2012-04-23 12:13:39 +02:00
Jan Hubicka 837a549ba8 * tree-ssa-loop-ivopts.c (expr_invariant_in_loop_p): Bail out at NULL tree refs.
From-SVN: r186693
2012-04-23 10:04:48 +00:00
GCC Administrator f67b870a8e Daily bump.
From-SVN: r186692
2012-04-23 00:18:11 +00:00
Jan Hubicka 660584689a lto-symtab.c (lto_varpool_replace_node): Do not merge needed flags.
* lto-symtab.c (lto_varpool_replace_node): Do not merge needed flags.
	* cgraphbuild.c (record_reference, record_type_list, mark_address,
	mark_load, mark_store): Do not mark varpool nodes as needed.
	* cgraph.c (cgraph_new_nodes): Remove.
	(cgraph_create_function_alias): Do not mark nodes as reachable.
	(cgraph_add_thunk): Likewise.
	(cgraph_mark_reachable_node): Do not manage the queue.
	* cgraph.h (cgraph_node): Remove next_needed.
	(varpool_nodes_queue): Remove next_needed and prev_needed.
	(x_cgraph_nodes_queue, x_cgraph_nodes_queue, cgraph_new_nodes): Remove.
	(cgraph_new_nodes): Declare.
	(x_varpool_nodes_queue, varpool_nodes_queue); Remove.
	(varpool_analyze_pending_decls): Remove.
	(varpool_analyze_node): New.
	(varpool_mark_needed_node): Remove.
	(varpool_first_variable, varpool_next_variable): New inlines.
	(varpool_first_static_initializer, varpool_next_static_initializer): Update.
	(FOR_EACH_STATIC_VARIABLE): Remove unused walker.
	(varpool_first_defined_variable): New inline.
	(varpool_next_defined_variable): New inline
	(FOR_EACH_VARIABLE): Reimplement.
	(FOR_EACH_DEFINED_VARIABLE): Reimplement.
	* toplev.c (wrapup_global_declaration_2): Use analyzed instead of
	needed flag.
	* cgraphunit.c (cgraph_new_nodes): Declare here.
	(enqueue_node): New function.
	(cgraph_process_new_functions): update for new
	node set; when constructing cgraph enqueue node for processing.
	(cgraph_add_new_function): Use new node set.
	(process_function_and_variable_attributes): Do not set varpool needed
	flags.
	(referred_to_p): New function.
	(varpool_finalize_decl): Move here from varpool.c; enqueue needed node
	when varpool is in construction.
	(cgraph_analyze_functions): Rewrite.
	(cgraph_expand_all_functions): Update.
	(cgraph_output_in_order): Do not analyze pending decls; do not set needed flags.
	(cgraph_optimize): Do not analyze pending decls.
	* lto-cgraph.c (input_varpool_node): Clear analyzed flag for objects in other
	partition; do not mark node as needed.
	* dwarf2out.c (reference_to_unused): Use analyzed flag.
	(premark_types_used_by_global_vars_helper): Likewise.
	* ipa.c (process_references): Do not call varpool_mark_needed_node.
	(cgraph_remove_unreachable_nodes): Do not rely on varpool and
	cgrpah queues.
	(function_and_variable_visibility): Do not mark node as needed.
	(whole_program_function_and_variable_visibility): Likewise.
	* Makefile.in (gt-varpool.h): No longer needed.
	* passes.c (execute_one_pass, execute_ipa_pass_list): Update.
	(ipa_write_summaries): Do not use needed flag.
	* varpool.c: Do not include gt-varpool.h
	(x_varpool_nodes_queue, x_varpool_last_needed_node,
	x_varpool_last_needed_node, x_varpool_first_unanalyzed_node,
	x_varpool_first_unanalyzed_node, varpool_assembled_nodes_queue):
	Remove.
	(varpool_remove_node): Do not update the lists.
	(dump_varpool_node): Do not dump needed flag.
	(varpool_enqueue_needed_node): Remove.
	(varpool_mark_needed_node): Remove.
	(varpool_reset_queue): Remove.
	(varpool_finalize_decl): Move to cgraphunit.c
	(varpool_analyze_node): New functions based on former
	varpool_analyze_pending_decls.
	(varpool_analyze_pending_decls): Remove.
	(varpool_assemble_decl): Do not update the lists.
	(enqueue_node): New function.
	(varpool_remove_unreferenced_decls): Rewrite.
	(varpool_empty_needed_queue): Remove.
	(add_new_static_var): Do not mark node as needed.
	(varpool_create_variable_alias): Handle expansion state
	creation.
	* except.c (output_ttype): Do not mark node as needed.
	* varasm.c (mark_decl_referenced): Do not use mark_needed_node.
	* tree-profile.c (init_ic_make_global_vars, init_ic_make_global_vars):
	Likewise.
	* tree-switch-conversion.c (build_one_array): Likewise.

	* class.c (build_utf8_ref): Do not mark varpool node as needed.

	* gcc-interface/utils.c (gnat_write_global_declarations): Do not mark
	needed node.

	* lto-partition.c (partition_varpool_node_p): Do not use needed flag.

	* decl2.c (maybe_make_one_only): Mark keyed COMDATs as USED so they
	gets finalized.

From-SVN: r186687
2012-04-22 21:28:07 +00:00
Ian Lance Taylor f04e40afc1 mksysinfo: More fixes to emulate master Go library.
From-SVN: r186685
2012-04-22 20:07:23 +00:00
Ian Lance Taylor df32732fa8 mksysinfo: Define more structs.
From-SVN: r186683
2012-04-22 19:26:01 +00:00
Manuel López-Ibáñez c1771a200a re PR c/44774 (-Werror=edantic)
2012-04-22  Manuel López-Ibáñez  <manu@gcc.gnu.org>

	PR c/44774
gcc/
	* doc/invoke.texi (pedantic): Rename to Wpedantic.
	* common.opt (Wpedantic): New.
	(pedantic): Alias Wpedantic.
	* diagnostic.c (warning_at): Likewise.
	* c-decl.c (diagnose_mismatched_decls): Likewise.
	(build_array_declarator): Likewise.
	(mark_forward_parm_decls):
	(check_bitfield_type_and_width): Likewise.
	(grokdeclarator): Likewise.
	(grokfield): Likewise.
	(finish_struct): Likewise.
	(build_enumerator): Likewise.
	(store_parm_decls_oldstyle): Likewise.
	(declspecs_add_qual): Likewise.
	(declspecs_add_type): Likewise.
	(finish_declspecs): Likewise.
	* c-typeck.c (composite_type): Likewise.
	(comp_target_types): Likewise.
	(build_array_ref): Likewise.
	(pointer_diff): Likewise.
	(build_unary_op): Likewise.
	(build_conditional_expr): Likewise.
	(build_c_cast): Likewise.
	(convert_for_assignment): Likewise.
	(maybe_warn_string_init): Likewise.
	(digest_init): Likewise.
	(pop_init_level): Likewise.
	(set_init_index): Likewise.
	(c_finish_goto_label): Likewise.
	(c_finish_return): Likewise.
	(do_case): Likewise.
	(build_binary_op): Likewise.
	* c-parser.c (static): Likewise.
	(c_parser_external_declaration): Likewise.
	(c_parser_declaration_or_fndef): Likewise.
	(c_parser_static_assert_declaration_no_se): Likewise.
	(c_parser_enum_specifier): Likewise.
	(c_parser_struct_or_union_specifier): Likewise.
	(c_parser_struct_declaration): Likewise.
	(c_parser_alignas_specifier): Likewise.
	(c_parser_braced_init): Likewise.
	(c_parser_initelt): Likewise.
	(c_parser_compound_statement_nostart): Likewise.
	(c_parser_conditional_expression): Likewise.
	(c_parser_alignof_expression): Likewise.
	(c_parser_postfix_expression): Likewise.
	(c_parser_postfix_expression_after_paren_): Likewise.
	(c_parser_objc_class_instance_variables): Likewise.
	(c_parser_objc_method_definition): Likewise.
	(c_parser_objc_methodprotolist): Likewise.

c-family/
	* c.opt (Wpedantic): New.
	(pedantic): Alias Wpedantic.
	* c-opts.c (c_common_handle_option): Replace -pedantic with -Wpedantic.
	(c_common_post_options): Likewise.
	(sanitize_cpp_opts): Likewise.
	* c-lex.c (interpret_float): Likewise.
	* c-format.c (check_format_types): Likewise.
	* c-common.c (pointer_int_sum): Likewise.
	(c_sizeof_or_alignof_type): Likewise.
	(c_add_case_label): Likewise.
	(c_do_switch_warnings): Likewise.
	* c-pragma.c (handle_pragma_float_const_decimal64): Likewise.
cp/
	* typeck.c (composite_pointer_type): Likewise.
	(cxx_sizeof_or_alignof_type): Likewise.
	(cp_build_array_ref): Likewise.
	(cp_build_function_call_vec): Likewise.
	(cp_build_addr_expr_1): Likewise.
	(convert_member_func_to_ptr): Likewise.
	* decl.c (check_tag_decl): Likewise.
	(check_static_variable_definition): Likewise.
	(compute_array_index_type): Likewise.
	(create_array_type_for_decl): Likewise.
	(grokdeclarator): Likewise.
	(grok_op_properties): Likewise.
	* error.c (maybe_warn_cpp0x): Likewise.
	* pt.c (maybe_process_partial_specialization): Likewise.
	(convert_template_argument): Likewise.
	(do_decl_instantiation): Likewise.
	(do_type_instantiation): Likewise.
	* parser.c (cp_parser_primary_expression): Likewise.
	(cp_parser_postfix_expression): Likewise.
	(cp_parser_unary_expression): Likewise.
	(cp_parser_question_colon_clause): Likewise.
	(cp_parser_lambda_introducer): Likewise.
	(cp_parser_lambda_declarator_opt): Likewise.
	(cp_parser_compound_statement): Likewise.
	(cp_parser_jump_statement): Likewise.
	(cp_parser_declaration_seq_opt): Likewise.
	(cp_parser_enum_specifier): Likewise.
	(cp_parser_enumerator_list): Likewise.
	(cp_parser_initializer_list): Likewise.
	(cp_parser_member_declaration): Likewise.
	* call.c (build_conditional_expr_1): Likewise.
	* friend.c (make_friend_class): Likewise.
	* name-lookup.c (pushdecl_maybe_friend_1): Likewise.

From-SVN: r186681
2012-04-22 19:17:47 +00:00
Ian Lance Taylor f12e8bd5c3 godump.c (go_output_typedef): Dump size of structs.
* godump.c (go_output_typedef): Dump size of structs.

mksysinfo, syscall: Change Sizeof names from var to const.

From-SVN: r186678
2012-04-22 18:51:44 +00:00
Paolo Carlini 970aa0b9a9 re PR c++/53067 (c++0x GCC 4.7.0 Regression std::ref with unordered sets)
2012-04-22  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/53067
	* include/bits/hashtable_policy.h: Change inheritances to public.
	* testsuite/23_containers/unordered_map/requirements/53067.cc: New.
	* testsuite/23_containers/unordered_set/requirements/53067.cc: Likewise.

From-SVN: r186676
2012-04-22 17:37:57 +00:00
Tobias Burnus 96b3ee1c50 re PR libfortran/53051 (I/O: Support reading floating-point numbers which use "Q" for the exponent)
2012-04-22  Tobias Burnus  <burnus@net-b.de>

        PR fortran/53051
        * io/list_read.c (parse_real): Support "q" for the
        exponential.
        * io/read.c (read_f): Ditto.

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

        PR fortran/53051
        * gfortran.dg/read_float_4.f90: New.

From-SVN: r186675
2012-04-22 19:28:34 +02:00
Jonathan Wakely 605aed299a alloc_traits.h (__alloc_traits::difference_type): Define.
* include/ext/alloc_traits.h (__alloc_traits::difference_type):
	Define.

From-SVN: r186673
2012-04-22 15:38:33 +01:00
Jonathan Wakely b3baa4a5e7 Add PR number to ChangeLog entry.
From-SVN: r186672
2012-04-22 15:15:51 +01:00
Jonathan Wakely fcf6e948d1 ptr_traits.h (pointer_traits::rebind): Make public.
* include/bits/ptr_traits.h (pointer_traits::rebind): Make public.
	* testsuite/20_util/pointer_traits/requirements/typedefs.cc: Check
	rebind works.

From-SVN: r186670
2012-04-22 14:42:38 +01:00
Jonathan Wakely 7c688aded4 forward_list (forward_list::splice_after): Check allocators are equal.
* include/debug/forward_list (forward_list::splice_after): Check
	allocators are equal.
	* src/c++11/debug.cc: Fix spelling.
	* testsuite/23_containers/forward_list/debug/splice_after5_neg.cc:
	New.
	* testsuite/23_containers/forward_list/debug/splice_after6_neg.cc:
	Likewise.
	* testsuite/23_containers/forward_list/debug/splice_after7_neg.cc:
	Likewise.

From-SVN: r186669
2012-04-22 14:27:16 +01:00
Uros Bizjak 49c45e289e ChangeLog: Fix.
* ChangeLog: Fix.
	* testsuite/ChangeLog: Ditto.

From-SVN: r186668
2012-04-22 14:58:59 +02:00
Razya Ladelsky 69958396d9 Correcting transform_to_exit_first_loop + fix to PR tree-optimization/46886
2012-04-20  Razya Ladelsky  <razya@il.ibm.com>
                 Correcting transform_to_exit_first_loop + fix to
                 PR tree-optimization/46886
                 * tree-parloops.c (transform_to_exit_first_loop):
                 * Remove setting of number of iterations according to
                 * the loop pattern.
                 Duplicate from entry to exit->src instead of
loop->latch.
                 (pallelize_loops): Remove the condition preventing
do-while loops.
                 * tree-cfg.c (bool bb_in_region_p): New.
                 (gimple_duplicate_sese_tail): Adjust duplication of the
the subloops.
                 Adjust redirection of the duplicated iteration.

From-SVN: r186667
2012-04-22 10:36:13 +00:00
GCC Administrator bf310e122b Daily bump.
From-SVN: r186662
2012-04-22 00:18:29 +00:00
Jan Hubicka 7ca8f48652 method.c (make_alias_for): Do not set TREE_SYMBOL_REFERENCED.
* method.c (make_alias_for): Do not set TREE_SYMBOL_REFERENCED.
	* decl2.c (mark_needed): Likewise.
	(decl_needed_p): Do not test TREE_SYMBOL_REFERENCED.

	* decl2.c (cxx_callgraph_analyze_expr): Remove.
	* cp-objcp-common.h (LANG_HOOKS_CALLGRAPH_ANALYZE_EXPR): Remove.
	* cp-tree.h (cxx_callgraph_analyze_expr): Remove.

From-SVN: r186658
2012-04-21 23:59:25 +00:00
Richard Sandiford 9e412ca3eb re PR bootstrap/53021 (bootstrap failure on Linux/ia32)
gcc/
	PR bootstrap/53021
	* rtl.def (ADDRESS): Use "i" rather than "w".
	* rtl.h (find_base_term): Delete.
	(may_be_sp_based_p): Declare.
	* rtl.c (rtx_code_size): Remove ADDRESS special case.
	* alias.h (UNIQUE_BASE_VALUE_SP, UNIQUE_BASE_VALUE_ARGP)
	(UNIQUE_BASE_VALUE_FP, UNIQUE_BASE_VALUE_HFP): Move to...
	* alias.c: ...here.
	(find_base_term): Make static.
	(may_be_sp_based_p): New function.
	* dse.c (record_store): Use it.
	* store-motion.c (store_killed_in_insn): Likewise.

From-SVN: r186657
2012-04-21 18:55:18 +00:00
Ian Lance Taylor 1410c22260 syscall: Additional constants, some type corrections.
From-SVN: r186655
2012-04-21 18:49:58 +00:00
Richard Sandiford b753247977 Install right version, sigh.
From-SVN: r186654
2012-04-21 18:29:23 +00:00
Richard Sandiford 1a14ac4baa fold-const.c (fold_checksum_tree): Fix VECTOR_CST case.
gcc/
	* fold-const.c (fold_checksum_tree): Fix VECTOR_CST case.

From-SVN: r186653
2012-04-21 18:09:16 +00:00
Manuel López-Ibáñez ae52741c5e re PR c/35441 (pretty-printer cannot handle some expressions)
2012-04-21  Manuel López-Ibáñez  <manu@gcc.gnu.org>

	PR 35441
	* c-typeck.c (inform_declaration): New.
	(build_function_call_vec):  Do not pretty-print
	expressions when caret is enabled.
	(convert_arguments): Use inform_declaration.
cp/
	* typeck.c (cp_build_function_call_vec): Do not pretty-print
	expressions when caret is enabled.
testsuite/
	* c-c++-common/pr35441.C: New.

From-SVN: r186652
2012-04-21 14:53:21 +00:00
GCC Administrator aab316c7c9 Daily bump.
From-SVN: r186649
2012-04-21 00:18:52 +00:00
Ian Lance Taylor 8512b2843f compiler: Don't call cgraph_mark_needed_node.
From-SVN: r186644
2012-04-20 21:20:36 +00:00
Ian Lance Taylor 4c1e23754a 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
2012-04-20 20:18:49 +00:00
Ian Lance Taylor d25a12fc2d net, syscall: Use native endianness for GNU/Linux netlink code.
From-SVN: r186640
2012-04-20 20:11:28 +00:00
Ian Lance Taylor 63d1e46df0 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
2012-04-20 19:21:39 +00:00
Ian Lance Taylor 0e27a180fd net/http: Ignore sigaltstack when running strace in test.
Avoids bug in strace 4.5.20 on powerpc-unknown-linux-gnu.

From-SVN: r186635
2012-04-20 18:51:05 +00:00
Ian Lance Taylor 76c0db7391 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
2012-04-20 18:44:09 +00:00
Ian Lance Taylor cf1f0eb7cc runtime: Disable memory profiling in gc_test.
From-SVN: r186631
2012-04-20 18:40:14 +00:00
Uros Bizjak a3a5e559af 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
2012-04-20 18:12:55 +02:00
Jim Meyering 1f36f7b30b 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
2012-04-20 15:38:35 +00:00
Jan Hubicka b7262828c0 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
2012-04-20 15:18:39 +00:00
Michael Matz c522573e04 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
2012-04-20 14:40:09 +00:00
Bill Schmidt add6207a86 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
2012-04-20 14:19:13 +00:00
Jan Hubicka ead84f73b0 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
2012-04-20 14:09:11 +00:00
Jakub Jelinek 757e8ba242 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
2012-04-20 14:19:51 +02:00
Richard Guenther faaf273bb0 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
2012-04-20 11:56:33 +00:00
Alan Modra a51e5fa2c2 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
2012-04-20 21:16:58 +09:30
Richard Guenther 4cbc836ed7 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
2012-04-20 10:17:46 +00:00