gcc.git
13 years agolto-symtab.c (lto_cgraph_replace_node): Use types_compatible_p for diagnostics.
Richard Guenther [Mon, 9 May 2011 16:00:48 +0000 (16:00 +0000)]
lto-symtab.c (lto_cgraph_replace_node): Use types_compatible_p for diagnostics.

2011-05-09  Richard Guenther  <rguenther@suse.de>

* lto-symtab.c (lto_cgraph_replace_node): Use types_compatible_p
for diagnostics.
(lto_symtab_merge): Likewise.  Do not register types here.
(lto_symtab_merge_decls_2): Likewise.
(lto_symtab_merge_decls_1): Likewise.
* gimple.h (enum gtc_mode, gimple_types_compatible_p): Do not declare.
* gimple.c (enum gtc_mode): Declare.
(gimple_types_compatible_p): Make static.

From-SVN: r173575

13 years agore PR libstdc++/48933 (Infinite recursion in tr1/cmath functions with complex parameters)
Paolo Carlini [Mon, 9 May 2011 15:38:21 +0000 (15:38 +0000)]
re PR libstdc++/48933 (Infinite recursion in tr1/cmath functions with complex parameters)

2011-05-09  Paolo Carlini  <paolo.carlini@oracle.com>

PR libstdc++/48933
* include/c_global/cmath (acosh, asinh, atanh, cbrt, copysign,
erf, erfc, exp2, expm1, fdim, fma, fmax, hypot, ilogb, lgamma,
llrint, llround, log1p, log2, logb, lrint, lround, nearbyint,
nextafter, nexttoward, remainder, remquo, rint, round, scalbln,
scalbn, tgamma, trunc): Use __enable_if on the return type.
* include/tr1/cmath: Likewise.
* testsuite/26_numerics/headers/cmath/overloads_c++0x_neg.cc: New.
* testsuite/tr1/8_c_compatibility/cmath/overloads_neg.cc: Likewise.

From-SVN: r173574

13 years agos390.md (TD/TF mem to reg move splitter): Make the temporary register to match Pmode.
Andreas Krebbel [Mon, 9 May 2011 14:37:12 +0000 (14:37 +0000)]
s390.md (TD/TF mem to reg move splitter): Make the temporary register to match Pmode.

2011-05-09  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>

* config/s390/s390.md (TD/TF mem to reg move splitter): Make the
temporary register to match Pmode.

From-SVN: r173572

13 years agore PR c++/48574 (ICE)
Dodji Seketeli [Mon, 9 May 2011 12:32:06 +0000 (12:32 +0000)]
re PR c++/48574 (ICE)

Fix PR c++/48574

gcc/cp/

PR c++/48574
* class.c (fixed_type_or_null): Use type_dependent_p_push to test
if the instance has a dependent initializer.

gcc/testsuite/

PR c++/48574
* g++.dg/template/dependent-expr8.C: New test case.

From-SVN: r173570

13 years agosse.md (*vec_concatv4si): Merge from *vec_concatv4si_1 and *vec_concatv4si_1_avx.
Uros Bizjak [Mon, 9 May 2011 12:16:07 +0000 (14:16 +0200)]
sse.md (*vec_concatv4si): Merge from *vec_concatv4si_1 and *vec_concatv4si_1_avx.

* config/i386/sse.md (*vec_concatv4si): Merge from *vec_concatv4si_1
and *vec_concatv4si_1_avx.

From-SVN: r173569

13 years agore PR rtl-optimization/48927 (Issues with "enable" attribute and IRA register prefere...
Uros Bizjak [Mon, 9 May 2011 12:11:25 +0000 (14:11 +0200)]
re PR rtl-optimization/48927 (Issues with "enable" attribute and IRA register preferences)

PR rtl-optimization/48927
* ira-conflicts.c (commutative_constraint_p): Use
recog_data.alternative_enabled_p to disable alternatives where
"enabled" attribute is false.
(get_dup_num): Ditto.
* ira-lives.c (single_reg_class): Ditto.
(ira_implicitly_set_insn_hard_regs): Ditto.

From-SVN: r173568

13 years agovar-tracking.c (find_mem_expr_in_1pdv): Fix thinko.
Eric Botcazou [Mon, 9 May 2011 11:29:26 +0000 (11:29 +0000)]
var-tracking.c (find_mem_expr_in_1pdv): Fix thinko.

* var-tracking.c (find_mem_expr_in_1pdv): Fix thinko.
(dataflow_set_preserve_mem_locs): Likewise.

From-SVN: r173565

13 years agoDon't translate syntax example.
Philipp Thomas [Mon, 9 May 2011 10:42:23 +0000 (10:42 +0000)]
Don't translate syntax example.

From-SVN: r173564

13 years agore PR target/48899 (enum conversion initializing global_options_init.x_iq2000_tune)
Nick Clifton [Mon, 9 May 2011 10:04:36 +0000 (10:04 +0000)]
re PR target/48899 (enum conversion initializing global_options_init.x_iq2000_tune)

PR target/48899
* config/iq2000/iq2000.opt (iq2000_tune): Initialise to
PROCESSOR_DEFAULT.

From-SVN: r173562

13 years agogcc_update (gcc/config/mips/mips-tables.opt): New dependencies.
Joseph Myers [Mon, 9 May 2011 09:40:19 +0000 (10:40 +0100)]
gcc_update (gcc/config/mips/mips-tables.opt): New dependencies.

contrib:
* gcc_update (gcc/config/mips/mips-tables.opt): New dependencies.

gcc:
* config/mips/genopt.sh, config/mips/mips-cpus.def: New files.
* config/mips/mips-tables.opt: New file (generated).
* config.gcc (mips*-*-*): Add mips/mips-tables.opt to
extra_options.
* config/mips/mips-opts.h (MIPS_ARCH_OPTION_FROM_ABI,
MIPS_ARCH_OPTION_NATIVE): Define.
* config/mips/mips.c (mips_cpu_info_table): Move contents to
mips-cpus.def.
(mips_strict_matching_cpu_name_p, mips_matching_cpu_name_p,
mips_parse_cpu): Remove.
(mips_cpu_info_from_opt, mips_default_arch): New.
(mips_handle_option): Don't assert that global structures are in
use.  Don't handle OPT_march_, OPT_mtune_ and OPT_mips here.
(mips_option_override): Use new variables and functions to set
state of these options.  Use strcmp to check for individual CPU
names.
* config/mips/mips.h (MIPS_CPU_STRING_DEFAULT): Remove default
definition.
* config/mips/mips.opt (march=): Use ToLower and Enum.
(mips): Use ToLower, Enum and Var.
(mtune=): Use ToLower and Enum.
* config/mips/t-mips ($(srcdir)/config/mips/mips-tables.opt): New.

From-SVN: r173561

13 years agogimple.c (type_pair_hash, [...]): Arrange type pairs to be UID ordered.
Jan Hubicka [Mon, 9 May 2011 08:45:16 +0000 (10:45 +0200)]
gimple.c (type_pair_hash, [...]): Arrange type pairs to be UID ordered.

* gimple.c (type_pair_hash, type_pair_eq, lookup_type_pair):
Arrange type pairs to be UID ordered.
(gimple_lookup_type_leader): Make inline.

From-SVN: r173560

13 years agore PR target/48897 (mn10300.c:extract_bundle’: error: variable ‘s’ set but not used)
Nick Clifton [Mon, 9 May 2011 08:38:50 +0000 (08:38 +0000)]
re PR target/48897 (mn10300.c:extract_bundle’: error: variable ‘s’ set but not used)

PR target/48897
* config/mn10300/mn10300.c (extract_bundle): Remove spurious local
variable 's'.

From-SVN: r173559

13 years agoconfigure.ac: Propagate LDFLAGS_FOR_TARGET.
Doug Kwan [Mon, 9 May 2011 07:39:45 +0000 (07:39 +0000)]
configure.ac: Propagate LDFLAGS_FOR_TARGET.

2011-05-08  Doug Kwan  <dougkwan@google.com>

* configure.ac: Propagate LDFLAGS_FOR_TARGET.
* configure: Regenerated.
* Makefile.tpl (LDFLAGS_FOR_TARGET): Use LDFLAGS_FOR_TARGET
value from configure.
* Makefile.in: Regenerated.

From-SVN: r173558

13 years agoDaily bump.
GCC Administrator [Mon, 9 May 2011 00:19:13 +0000 (00:19 +0000)]
Daily bump.

From-SVN: r173557

13 years agocombine.c (simplify_comparison): Abstract out parts into...
Chung-Lin Tang [Sun, 8 May 2011 19:30:36 +0000 (19:30 +0000)]
combine.c (simplify_comparison): Abstract out parts into...

2011-05-08  Chung-Lin Tang  <cltang@codesourcery.com>

* combine.c (simplify_comparison): Abstract out parts into...
(simplify_compare_const): ... new function.
(try_combine): Generalize parallel arithmetic/compare combining
to call simplify_compare_const() and CANONICALIZE_COMPARE().

From-SVN: r173552

13 years agocgraph.c (cgraph_clone_node): Add call_duplication_hook parameter.
Jan Hubicka [Sun, 8 May 2011 19:14:24 +0000 (21:14 +0200)]
cgraph.c (cgraph_clone_node): Add call_duplication_hook parameter.

* cgraph.c (cgraph_clone_node): Add call_duplication_hook parameter.
(cgraph_create_virtual_clone): Call hooks once virtual clone is finished.
* cgraph.h (cgraph_clone_node): Update prototype.
* ipa-cp.c (ipcp_estimate_growth): Use estimate_ipcp_clone_size_and_time.
* ipa-inline-transform.c (clone_inlined_nodes): Update.
* lto-cgraph.c (input_node): Update.
* ipa-inline.c (recursive_inlining): Update.
* ipa-inline.h (estimate_ipcp_clone_size_and_time): New function.
(evaluate_conditions_for_known_args): Break out from ...
(evaluate_conditions_for_edge): ... here.
(evaluate_conditions_for_ipcp_clone): New function.
(inline_node_duplication_hook): Update clone summary based
on parameter map.
(estimate_callee_size_and_time): Rename to ...
(estimate_node_size_and_time): take NODE instead of EDGE;
take POSSIBLE_TRUTHS as argument.
(estimate_callee_size_and_time): Update.
(estimate_ipcp_clone_size_and_time): New function.
(do_estimate_edge_time): Update.

From-SVN: r173551

13 years agore PR middle-end/48908 (build fails on cris-elf in libiberty:md5.c, shift-related)
Richard Guenther [Sun, 8 May 2011 15:46:06 +0000 (15:46 +0000)]
re PR middle-end/48908 (build fails on cris-elf in libiberty:md5.c, shift-related)

2011-05-08  Richard Guenther  <rguenther@suse.de>

PR middle-end/48908
PR middle-end/48905
* expmed.c (expand_shift_1): Compute adjusted constant shift
amount manually.

From-SVN: r173550

13 years agore PR c++/48816 (possible pointless code in file cxx-pretty-print.c, line 2136)
Paolo Carlini [Sun, 8 May 2011 13:55:07 +0000 (13:55 +0000)]
re PR c++/48816 (possible pointless code in file cxx-pretty-print.c, line 2136)

2011-05-08  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/48816
* cxx-pretty-print.c (pp_cxx_template_declaration): Remove
effectively unused variable.

From-SVN: r173549

13 years ago* config/avr/avr.c (print_operand_address): Fix invalid RTL access.
Eric Botcazou [Sun, 8 May 2011 09:15:34 +0000 (09:15 +0000)]
* config/avr/avr.c (print_operand_address): Fix invalid RTL access.

From-SVN: r173548

13 years ago* config/rs6000/rs6000.c (output_profile_hook): Fix thinko.
Eric Botcazou [Sun, 8 May 2011 09:09:34 +0000 (09:09 +0000)]
* config/rs6000/rs6000.c (output_profile_hook): Fix thinko.

From-SVN: r173547

13 years agoFix long lines
Eric Botcazou [Sun, 8 May 2011 08:37:58 +0000 (08:37 +0000)]
Fix long lines

From-SVN: r173546

13 years agoDaily bump.
GCC Administrator [Sun, 8 May 2011 00:19:20 +0000 (00:19 +0000)]
Daily bump.

From-SVN: r173543

13 years agoinvoke.texi (-fuse-linker-plugin): Improve grammar.
Jonathan Wakely [Sat, 7 May 2011 23:17:44 +0000 (23:17 +0000)]
invoke.texi (-fuse-linker-plugin): Improve grammar.

2011-05-08  Jonathan Wakely  <jwakely.gcc@gmail.com>

* doc/invoke.texi (-fuse-linker-plugin): Improve grammar.

From-SVN: r173538

13 years agoipa-inline-transform.c (inline_call): Account when program size decreases.
Jan Hubicka [Sat, 7 May 2011 20:31:37 +0000 (22:31 +0200)]
ipa-inline-transform.c (inline_call): Account when program size decreases.

* ipa-inline-transform.c (inline_call): Account when program size decreases.
* ipa-inline.c (relative_time_benefit): New function.
(edge_badness): Reorganize to be power 2 based; fix
thinko when computing badness for negative growth; update
comments to match reality; better dumps.

From-SVN: r173537

13 years ago* gcc-interface/decl.c (intrin_arglists_compatible_p): Remove spaces.
Eric Botcazou [Sat, 7 May 2011 20:20:25 +0000 (20:20 +0000)]
* gcc-interface/decl.c (intrin_arglists_compatible_p): Remove spaces.

From-SVN: r173536

13 years agolanghooks.h (lang_hooks_for_types): Change global_bindings_p's return type to bool...
Eric Botcazou [Sat, 7 May 2011 19:58:29 +0000 (19:58 +0000)]
langhooks.h (lang_hooks_for_types): Change global_bindings_p's return type to bool and adjust comment.

2011-05-07  Eric Botcazou  <ebotcazou@adacore.com>

* langhooks.h (lang_hooks_for_types): Change global_bindings_p's return
type to bool and adjust comment.
* fold-const.c (fold_range_test): Adjust call to global_bindings_p.
(fold_mathfn_compare): Remove calls to global_bindings_p.
(fold_inf_compare): Likewise.
* stor-layout.c (variable_size): Adjust call to global_bindings_p.
* c-tree.h (global_bindings_p): Adjust prototype.
* c-decl.c (global_bindings_p): Return bool and simplify.
ada/
* gcc-interface/gigi.h (global_bindings_p): Adjust prototype.
* gcc-interface/utils.c (global_bindings_p): Return bool and simplify.
cp/
* name-lookup.h (global_bindings_p): Adjust prototype.
* name-lookup.c (global_bindings_p): Return bool.
fortran/
* f95-lang.c (global_bindings_p): Return bool and simplify.
go/
* go-lang.c (global_bindings_p): Return bool and simplify.
java/
* java-tree.h (global_bindings_p): Adjust prototype.
* decl.c (global_bindings_p): Return bool.
lto/
* lto-lang.c (global_bindings_p): Return bool.

From-SVN: r173535

13 years agore PR tree-optimization/48837 (Wrong optimization of recursive function calls)
Zdenek Dvorak [Sat, 7 May 2011 19:43:18 +0000 (21:43 +0200)]
re PR tree-optimization/48837 (Wrong optimization of recursive function calls)

PR tree-optimization/48837
* tree-tailcall.c (tree_optimize_tail_calls_1): Do not mark tailcalls
when accumulator transformation is performed.

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

From-SVN: r173534

13 years agoi386.h (ix86_tune_indices): Add X86_TUNE_SOFTWARE_PREFETCHING_BENEFICIAL.
Jan Hubicka [Sat, 7 May 2011 14:39:40 +0000 (16:39 +0200)]
i386.h (ix86_tune_indices): Add X86_TUNE_SOFTWARE_PREFETCHING_BENEFICIAL.

* i386.h (ix86_tune_indices): Add X86_TUNE_SOFTWARE_PREFETCHING_BENEFICIAL.
(TARGET_SOFTWARE_PREFETCHING_BENEFICIAL): New macor.
* i386.c (initial_ix86_tune_features): Add X86_SOFTARE_PREFETCHING_BENEFICIAL.
(software_prefetching_beneficial_p): Remove predicate.
(ix86_option_override_internal): Use new macro.

From-SVN: r173533

13 years ago* ipa-inline.c (update_callee_keys): Don't reset node growth cache.
Jan Hubicka [Sat, 7 May 2011 14:30:07 +0000 (16:30 +0200)]
* ipa-inline.c (update_callee_keys): Don't reset node growth cache.

From-SVN: r173532

13 years agomacro.h (_GLIBCXX_DEBUG_VERIFY_AT): New.
François Dumont [Sat, 7 May 2011 13:45:24 +0000 (15:45 +0200)]
macro.h (_GLIBCXX_DEBUG_VERIFY_AT): New.

2011-05-07  François Dumont  <francois.cppdevs@free.fr>

* include/debug/macro.h (_GLIBCXX_DEBUG_VERIFY_AT): New.
(_GLICXX_DEBUG_VERIFY): Use latter.
* include/ext/pb_ds/detail/resize_policy/
hash_load_check_resize_trigger_imp.hpp: Emit assertion on the line
containing the original assert call.
* include/ext/pb_ds/detail/binomial_heap_base_/erase_fn_imps.hpp,
find_fn_imps.hpp, insert_fn_imps.hpp, binomial_heap_base_.hpp,
constructors_destructor_fn_imps.hpp, debug_fn_imps.hpp,
split_join_fn_imps.hpp: Likewise.
* include/ext/pb_ds/detail/cc_hash_table_map_/
erase_store_hash_fn_imps.hpp, insert_no_store_hash_fn_imps.hpp,
find_fn_imps.hpp, insert_store_hash_fn_imps.hpp, debug_fn_imps.hpp,
debug_no_store_hash_fn_imps.hpp, cc_ht_map_.hpp, resize_fn_imps.hpp,
constructor_destructor_fn_imps.hpp, debug_store_hash_fn_imps.hpp,
erase_no_store_hash_fn_imps.hpp: Likewise.
* include/ext/pb_ds/detail/pat_trie_/find_fn_imps.hpp,
insert_join_fn_imps.hpp, pat_trie_/head.hpp, debug_fn_imps.hpp,
constructors_destructor_fn_imps.hpp, pat_trie_.hpp, split_fn_imps.hpp,
leaf.hpp, erase_fn_imps.hpp, node_base.hpp, internal_node.hpp:
Likewise.
* include/ext/pb_ds/detail/bin_search_tree_/find_fn_imps.hpp,
r_erase_fn_imps.hpp, constructors_destructor_fn_imps.hpp,
debug_fn_imps.hpp, rotate_fn_imps.hpp, erase_fn_imps.hpp,
bin_search_tree_.hpp, insert_fn_imps.hpp, split_join_fn_imps.hpp:
Likewise.
* include/ext/pb_ds/detail/gp_hash_table_map_/
erase_store_hash_fn_imps.hpp, insert_no_store_hash_fn_imps.hpp,
find_fn_imps.hpp, gp_ht_map_.hpp, insert_store_hash_fn_imps.hpp,
debug_fn_imps.hpp, erase_fn_imps.hpp, debug_no_store_hash_fn_imps.hpp,
resize_fn_imps.hpp, constructor_destructor_fn_imps.hpp,
debug_store_hash_fn_imps.hpp, erase_no_store_hash_fn_imps.hpp:
Likewise.
* include/ext/pb_ds/detail/binary_heap_/find_fn_imps.hpp,
constructors_destructor_fn_imps.hpp, debug_fn_imps.hpp,
erase_fn_imps.hpp, insert_fn_imps.hpp, binary_heap_.hpp,
resize_policy.hpp, split_join_fn_imps.hpp: Likewise.
* include/ext/pb_ds/detail/pairing_heap_/erase_fn_imps.hpp,
find_fn_imps.hpp, insert_fn_imps.hpp,
constructors_destructor_fn_imps.hpp, debug_fn_imps.hpp,
pairing_heap_.hpp, split_join_fn_imps.hpp: Likewise.
* include/ext/pb_ds/detail/binomial_heap_/
constructors_destructor_fn_imps.hpp, debug_fn_imps.hpp,
binomial_heap_.hpp: Likewise.
* include/ext/pb_ds/detail/left_child_next_sibling_heap_/
erase_fn_imps.hpp, left_child_next_sibling_heap_.hpp,
constructors_destructor_fn_imps.hpp, debug_fn_imps.hpp: Likewise.
* include/ext/pb_ds/detail/thin_heap_/erase_fn_imps.hpp,
find_fn_imps.hpp, thin_heap_.hpp, insert_fn_imps.hpp,
constructors_destructor_fn_imps.hpp, debug_fn_imps.hpp,
split_join_fn_imps.hpp: Likewise.
* include/ext/pb_ds/detail/ov_tree_map_/erase_fn_imps.hpp,
ov_tree_map_.hpp, constructors_destructor_fn_imps.hpp,
debug_fn_imps.hpp, split_join_fn_imps.hpp, info_fn_imps.hpp: Likewise.
* include/ext/pb_ds/detail/debug_map_base.hpp: Likewise.
* include/ext/pb_ds/detail/splay_tree_/erase_fn_imps.hpp,
find_fn_imps.hpp, insert_fn_imps.hpp,
constructors_destructor_fn_imps.hpp, debug_fn_imps.hpp,
splay_fn_imps.hpp, split_join_fn_imps.hpp, splay_tree_.hpp: Likewise.
* include/ext/pb_ds/detail/list_update_map_/erase_fn_imps.hpp,
find_fn_imps.hpp, lu_map_.hpp, constructor_destructor_fn_imps.hpp,
insert_fn_imps.hpp, debug_fn_imps.hpp: Likewise.
* include/ext/pb_ds/detail/rc_binomial_heap_/erase_fn_imps.hpp,
rc_binomial_heap_.hpp, insert_fn_imps.hpp,
constructors_destructor_fn_imps.hpp, debug_fn_imps.hpp, rc.hpp,
split_join_fn_imps.hpp: Likewise.
* include/ext/pb_ds/detail/rb_tree_map_/erase_fn_imps.hpp,
insert_fn_imps.hpp, constructors_destructor_fn_imps.hpp,
debug_fn_imps.hpp, rb_tree_.hpp, split_join_fn_imps.hpp: Likewise.
* include/ext/pb_ds/hash_policy.hpp: Likewise.

From-SVN: r173529

13 years agore PR fortran/18918 (Eventually support Fortran 2008's coarrays [co-arrays])
Tobias Burnus [Sat, 7 May 2011 05:38:08 +0000 (07:38 +0200)]
re PR fortran/18918 (Eventually support Fortran 2008's coarrays [co-arrays])

2011-05-07  Tobias Burnus  <burnus@net-b.de>

        PR fortran/18918
        PR fortran/48919
        * trans.h: Move gfc_init_coarray_decl prototype ...
        * gfortran.h: ... to here.
        * parse.c (translate_all_program_units): Call
        * gfc_init_coarray_decl.
        (gfc_parse_file): Update translate_all_program_units call.
        * trans-decl.c (gfc_init_coarray_decl): Fix variable
        * declaration,
        new argument whether DECL_EXTERNAL should be used.
        (create_main_function): Update gfc_init_coarray_decl call.
        * trans-intrinsic.c (trans_this_image, trans_image_index,
        conv_intrinsic_cobound): Ditto.

From-SVN: r173528

13 years agoDaily bump.
GCC Administrator [Sat, 7 May 2011 00:19:13 +0000 (00:19 +0000)]
Daily bump.

From-SVN: r173525

13 years agoUse backend types for all type conversions.
Ian Lance Taylor [Sat, 7 May 2011 00:12:32 +0000 (00:12 +0000)]
Use backend types for all type conversions.

From-SVN: r173520

13 years agocgraph.c (cgraph_add_thunk): Create real function node instead of alias node...
Jan Hubicka [Fri, 6 May 2011 23:00:49 +0000 (01:00 +0200)]
cgraph.c (cgraph_add_thunk): Create real function node instead of alias node...

* cgraph.c (cgraph_add_thunk): Create real function node instead
of alias node; finalize it and mark needed/reachale; arrange visibility
to be right and add it into the corresponding same comdat group list.
(dump_cgraph_node): Dump thunks.
* cgraph.h (cgraph_first_defined_function, cgraph_next_defined_function,
cgraph_function_with_gimple_body_p, cgraph_first_function_with_gimple_body,
cgraph_next_function_with_gimple_body): New functions.
(FOR_EACH_FUNCTION_WITH_GIMPLE_BODY, FOR_EACH_DEFINED_FUNCTION):
New macros.
* ipa-cp.c (ipcp_need_redirect_p): Thunks can't be redirected.
(ipcp_generate_summary): Use FOR_EACH_FUNCTION_WITH_GIMPLE_BODY.
* cgraphunit.c (cgraph_finalize_function): Only look into possible
devirtualization when optimizing.
(verify_cgraph_node): Verify thunks.
(cgraph_analyze_function): Analyze thunks.
(cgraph_mark_functions_to_output): Output thunks only in combination
with function they are assigned to.
(assemble_thunk): Turn thunk into non-thunk; don't try to turn
alias into normal node.
(assemble_thunks): New functoin.
(cgraph_expand_function): Use it.
* lto-cgraph.c (lto_output_node): Stream thunks.
(input_overwrite_node): Stream in thunks.
* ipa-pure-const.c (analyze_function): Thunks do nothing interesting.
* lto-streamer-out.c (lto_output): Do not try to output thunk's body.
* ipa-inline.c (inline_small_functions): Use FOR_EACH_DEFINED_FUNCTION.
* ipa-inline-analysis.c (compute_inline_parameters): "Analyze" thunks.
(inline_analyze_function): Do not care about thunk jump functions.
(inline_generate_summary):Use FOR_EACH_DEFINED_FUNCTION.
* ipa-prop.c (ipa_prop_write_jump_functions): Use cgraph_function_with_gimple_body_p.
* passes.c (do_per_function_toporder): Use cgraph_function_with_gimple_body_p.
(execute_one_pass);Use FOR_EACH_FUNCTION_WITH_GIMPLE_BODY.
(ipa_write_summaries): Use cgraph_function_with_gimple_body_p.
(function_called_by_processed_nodes_p): Likewise.
* lto.c (lto_materialize_function): Use cgraph_function_with_gimple_body_p.
(add_cgraph_node_to_partition): Do not re-add items to partition; handle thunks.
(add_varpool_node_to_partition): Do not re-add items to partition.

From-SVN: r173517

13 years agodecl.c (stabilize_save_expr_r): Set *walk_subtrees as appropriate.
Jason Merrill [Fri, 6 May 2011 21:57:56 +0000 (17:57 -0400)]
decl.c (stabilize_save_expr_r): Set *walk_subtrees as appropriate.

* decl.c (stabilize_save_expr_r): Set *walk_subtrees as
appropriate.

From-SVN: r173512

13 years agore PR c++/48909 ([C++0x] ICE in cxx_eval_conditional_expression, at cp/semantics...
Jason Merrill [Fri, 6 May 2011 21:57:49 +0000 (17:57 -0400)]
re PR c++/48909 ([C++0x] ICE in cxx_eval_conditional_expression, at cp/semantics.c:6213)

PR c++/48909
* semantics.c (cxx_eval_conditional_expression): Check
integer_zerop/onep instead.

From-SVN: r173511

13 years agore PR c++/48911 ([C++0x] Error for valid array subscript)
Jason Merrill [Fri, 6 May 2011 21:57:41 +0000 (17:57 -0400)]
re PR c++/48911 ([C++0x] Error for valid array subscript)

PR c++/48911
* semantics.c (cxx_eval_array_reference): Handle implicit
initializers.

From-SVN: r173510

13 years agors6000.opt (rs6000_ieeequad, [...]): Remove TargetVariable entries.
Joseph Myers [Fri, 6 May 2011 20:34:13 +0000 (21:34 +0100)]
rs6000.opt (rs6000_ieeequad, [...]): Remove TargetVariable entries.

* config/rs6000/rs6000.opt (rs6000_ieeequad, rs6000_altivec_abi,
rs6000_spe_abi, rs6000_darwin64_abi): Remove TargetVariable
entries.
(mabi=): Replace with separate entries for mabi=altivec,
mabi=no-altivec, mabi=spe, mabi=no-spe, mabi=d64, mabi=d32,
mabi=ieeelongdouble and mabi=ibmlongdouble.
* config/rs6000/rs6000.c (rs6000_option_override_internal): Move
check for -mabi=spe without SPE ABI support here.
(rs6000_handle_option): Replace OPT_mabi_ handling with
OPT_mabi_altivec and OPT_mabi_spe handling.

From-SVN: r173509

13 years agoMore uses of backend interface for types.
Ian Lance Taylor [Fri, 6 May 2011 20:06:29 +0000 (20:06 +0000)]
More uses of backend interface for types.

From-SVN: r173507

13 years agore PR fortran/18918 (Eventually support Fortran 2008's coarrays [co-arrays])
Tobias Burnus [Fri, 6 May 2011 18:39:08 +0000 (20:39 +0200)]
re PR fortran/18918 (Eventually support Fortran 2008's coarrays [co-arrays])

2011-05-06  Tobias Burnus  <burnus@net-b.de>

        PR fortran/18918
        * trans-array.c (gfc_walk_variable_expr): Continue walking
        for scalar coarrays.
        * trans-intrinsic.c (convert_element_to_coarray_ref): New
        * function.
        (trans_this_image, trans_image_index, conv_intrinsic_cobound): Use it.
        (trans_this_image): Fix algorithm.
        * trans-types.c (gfc_get_element_type,
        * gfc_get_array_descriptor_base,
        gfc_sym_type): Handle scalar coarrays.

2011-05-06  Tobias Burnus  <burnus@net-b.de>

        PR fortran/18918
        * gfortran.dg/coarray/this_image_2.f90: New.

From-SVN: r173506

13 years agore PR fortran/18918 (Eventually support Fortran 2008's coarrays [co-arrays])
Tobias Burnus [Fri, 6 May 2011 18:35:00 +0000 (20:35 +0200)]
re PR fortran/18918 (Eventually support Fortran 2008's coarrays [co-arrays])

2011-05-06  Tobias Burnus  <burnus@net-b.de>

        PR fortran/18918
        * caf/libcaf.h: Cleanup headers.
        (_gfortran_caf_critical, _gfortran_caf_end_critical): Make stub.
        (caf_register_t): New enum.
        (_gfortran_caf_register, _gfortran_caf_deregister): New prototype.
        * caf/single.c (_gfortran_caf_critical,
        _gfortran_caf_end_critical): Remove.
        (_gfortran_caf_register, _gfortran_caf_deregister): New functions.
        * caf/mpi.c (_gfortran_caf_critical,
        _gfortran_caf_end_critical): Remove.
        (_gfortran_caf_register, _gfortran_caf_deregister): New functions.
        (caf_world_window): Remove global variable.
        (_gfortran_caf_init): Fix off-by-one error of this_image.

From-SVN: r173505

13 years agoReally commit:
Tobias Burnus [Fri, 6 May 2011 18:33:31 +0000 (20:33 +0200)]
Really commit:

2011-05-06  Tobias Burnus  <burnus@net-b.de>

        PR fortran/48858
        PR fortran/48820
        * gfortran.dg/bind_c_usage_24.f90: New.
        * gfortran.dg/bind_c_usage_24_c.c: New.

From-SVN: r173503

13 years agoUse backend interface for string types.
Ian Lance Taylor [Fri, 6 May 2011 18:30:11 +0000 (18:30 +0000)]
Use backend interface for string types.

From-SVN: r173502

13 years agore PR fortran/48858 (Incorrect error for same binding label on two generic interface...
Tobias Burnus [Fri, 6 May 2011 18:12:25 +0000 (20:12 +0200)]
re PR fortran/48858 (Incorrect error for same binding label on two generic interface specifics)

2011-05-06  Tobias Burnus  <burnus@net-b.de>

        PR fortran/48858
        PR fortran/48820
        * lang.opt (std=f2008tr): New.
        * libgfortran.h (GFC_STD_F2008_TR): New macro constant.
        * decl.c (verify_c_interop_param): Allow OPTIONAL in BIND(C)
        procedures for -std=f2008tr/gnu/legacy.

2011-05-06  Tobias Burnus  <burnus@net-b.de>

        PR fortran/48858
        PR fortran/48820
        * gfortran.dg/bind_c_usage_22.f90: New.
        * gfortran.dg/bind_c_usage_23.f90: New.
        * gfortran.dg/bind_c_usage_24.f90: New.
        * gfortran.dg/bind_c_usage_24_c.c: New.

From-SVN: r173500

13 years agodwarf2out.c (contains_subprogram_definition): New function.
Cary Coutant [Fri, 6 May 2011 17:34:01 +0000 (17:34 +0000)]
dwarf2out.c (contains_subprogram_definition): New function.

* dwarf2out.c (contains_subprogram_definition): New function.
(should_move_die_to_comdat): Call it.

From-SVN: r173497

13 years agointroduce {class,type}_of_this_parm functions
Nathan Froyd [Fri, 6 May 2011 17:03:08 +0000 (17:03 +0000)]
introduce {class,type}_of_this_parm functions

introduce {class,type}_of_this_parm functions
* cp-tree.h (type_of_this_parm, class_of_this_parm): New functions.
* call.c (standard_conversion): Call class_of_this_parm.
* cxx-pretty-print.c (pp_cxx_implicit_parameter_type): Likewise.
(pp_cxx_direct_abstract_declarator): Likewise.
* decl2.c (change_return_type): Likewise.
(cp_reconstruct_complex_type): Likewise.
* error.c (dump_type_suffix, dump_function_decl): Likewise.
* mangle.c (write_function_type): Likewise.
* pt.c (unify): Likewise.
* typeck.c (merge_types, type_memfn_quals): Likewise.
* decl.c (build_this_parm): Call type_of_this_parm.

From-SVN: r173496

13 years agonamed_equivalence.cc: Fix.
Paolo Carlini [Fri, 6 May 2011 15:55:39 +0000 (15:55 +0000)]
named_equivalence.cc: Fix.

2011-05-06  Paolo Carlini  <paolo.carlini@oracle.com>

* testsuite/22_locale/messages_byname/named_equivalence.cc: Fix.

From-SVN: r173494

13 years agotree-ssa-threadupdate.c (create_block_for_threading): Do not call remove_ctrl_stmt_an...
Jeff Law [Fri, 6 May 2011 15:13:35 +0000 (09:13 -0600)]
tree-ssa-threadupdate.c (create_block_for_threading): Do not call remove_ctrl_stmt_and_useless_edges.

* tree-ssa-threadupdate.c (create_block_for_threading): Do not call
remove_ctrl_stmt_and_useless_edges.
(create_duplicates): Call remove_ctrl_stmt_and_useless_edges.
(fixup_template_block, thread_single_edge): Likewise.
(mark_threaded_blocks): Use THREAD_TARGET.

From-SVN: r173492

13 years agore PR target/48900 (unnecessary duplicate __tls_get_addr calls)
Alan Modra [Fri, 6 May 2011 14:21:16 +0000 (23:51 +0930)]
re PR target/48900 (unnecessary duplicate __tls_get_addr calls)

PR target/48900
* config/rs6000/rs6000.c (rs6000_legitimize_tls_address): Use
const0_rtx as the arg to the dummy __tls_get_addr libcall.

From-SVN: r173488

13 years agoi386.md (*movdf_internal_nointeger): Apply "*" constraint modifier to "r".
Uros Bizjak [Fri, 6 May 2011 11:32:53 +0000 (13:32 +0200)]
i386.md (*movdf_internal_nointeger): Apply "*" constraint modifier to "r".

* config/i386/i386.md (*movdf_internal_nointeger): Apply "*"
constraint modifier to "r".

From-SVN: r173485

13 years agors6000.c (rs6000_handle_option): Don't handle and fall through for OPT_mcmodel_.
Joseph Myers [Fri, 6 May 2011 11:19:45 +0000 (12:19 +0100)]
rs6000.c (rs6000_handle_option): Don't handle and fall through for OPT_mcmodel_.

* config/rs6000/rs6000.c (rs6000_handle_option): Don't handle and
fall through for OPT_mcmodel_.

From-SVN: r173484

13 years agos390.c (s390_asm_trampoline_template): Comment instruction sizes.
Andreas Krebbel [Fri, 6 May 2011 11:12:27 +0000 (11:12 +0000)]
s390.c (s390_asm_trampoline_template): Comment instruction sizes.

2011-05-06  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>

* config/s390/s390.c (s390_asm_trampoline_template): Comment
instruction sizes.
(s390_trampoline_init): Replace UNITS_PER_WORD with
UNITS_PER_LONG.

From-SVN: r173483

13 years agore PR target/47930 (-marm is undocumented; driver accepts -mno-thumb)
Ramana Radhakrishnan [Fri, 6 May 2011 10:56:32 +0000 (10:56 +0000)]
re PR target/47930 (-marm is undocumented; driver accepts -mno-thumb)

2011-05-06  Ramana Radhakrishnan  <ramana.radhakrishnan@linaro.org>

      PR target/47930
      * config/arm/arm.opt (marm): Document it.
      (mthumb): Reject negative variant.

From-SVN: r173481

13 years agore PR fortran/48894 (generic omp_get_ancestor_thread_num(l(i)) produces incorrect...
Jakub Jelinek [Fri, 6 May 2011 10:11:07 +0000 (12:11 +0200)]
re PR fortran/48894 (generic omp_get_ancestor_thread_num(l(i)) produces incorrect output)

PR fortran/48894
* fortran.c: Include limits.h.
(TO_INT): Define.
(omp_set_dynamic_8_, omp_set_num_threads_8_): Use !!*set instead of
*set.
(omp_set_num_threads_8_, omp_set_schedule_8_,
omp_set_max_active_levels_8_, omp_get_ancestor_thread_num_8_,
omp_get_team_size_8_): Use TO_INT macro.
* testsuite/libgomp.fortran/pr48894.f90: New test.

From-SVN: r173476

13 years agore PR target/48898 (i386/netware.c:i386_nlm_maybe_mangle_decl_assembler_name: ‘cvt...
Uros Bizjak [Fri, 6 May 2011 10:07:35 +0000 (12:07 +0200)]
re PR target/48898 (i386/netware.c:i386_nlm_maybe_mangle_decl_assembler_name: ‘cvt’ undeclared)

PR target/48898
* config/i386/netware.c (i386_nlm_maybe_mangle_decl_assembler_name):
Fix typo in "ccvt" variable name.

From-SVN: r173475

13 years agore PR c++/48838 (valid template code does not compile)
Dodji Seketeli [Fri, 6 May 2011 08:34:53 +0000 (08:34 +0000)]
re PR c++/48838 (valid template code does not compile)

Fix PR c++/48838

gcc/cp

PR c++/48838
* cp-tree.h (non_static_member_function_p): Declare new function.
* tree.c (non_static_member_function_p): Define it.
* semantics.c (finish_call_expr): Use it.

gcc/testsuite

PR c++/48838
* g++.dg/template/member9.C: New test case.

From-SVN: r173473

13 years agore PR target/48895 (config/vms/vms-ar.c:main: variable ‘cwd’ set but not used)
Tristan Gingold [Fri, 6 May 2011 07:47:27 +0000 (07:47 +0000)]
re PR target/48895 (config/vms/vms-ar.c:main: variable ‘cwd’ set but not used)

2011-05-06  Tristan Gingold  <gingold@adacore.com>

PR target/48895
* config/vms/vms-ar.c (main): Remove cwd variable.

From-SVN: r173471

13 years agore PR debug/48902 (var-tracking.c fails to compile for PCC_STATIC_STRUCT_RETURN)
Jakub Jelinek [Fri, 6 May 2011 07:23:03 +0000 (09:23 +0200)]
re PR debug/48902 (var-tracking.c fails to compile for PCC_STATIC_STRUCT_RETURN)

PR debug/48902
* var-tracking.c (prepare_call_arguments): Move else before #endif.

From-SVN: r173470

13 years agoUse backend interface for interface types.
Ian Lance Taylor [Fri, 6 May 2011 06:34:27 +0000 (06:34 +0000)]
Use backend interface for interface types.

From-SVN: r173469

13 years agogeneralize build_case_label to the rest of the compiler
Nathan Froyd [Fri, 6 May 2011 03:47:57 +0000 (03:47 +0000)]
generalize build_case_label to the rest of the compiler

generalize build_case_label to the rest of the compiler
gcc/ada/
* gcc-interface/trans.c (Case_Statement_to_gnu): Call
build_case_label.

gcc/
* except.c (sjlj_emit_dispatch_table): Call build_case_label.
* gimplify.c (gimplify_switch_expr): Likewise.
* omp-low.c (expand_omp_sections): Likewise.
* tree-eh.c (lower_try_finally_switch): Likewise.
(lower_eh_dispatch): Likewise.
* tree.h (build_case_label): Declare.
* tree.c (build_case_label): Define.

gcc/c-family/
* c-common.c (c_add_case_label): Omit the loc argument to
build_case_label.
* c-common.h (build_case_label): Remove.
* c-semantics.c (build_case_label): Remove.

gcc/cp/
* decl.c (finish_case_label): Omit the loc argument to
build_case_label.

gcc/fortran/
* trans-decl.c (gfc_trans_entry_master_switch): Call build_case_label.
* trans-io.c (add_case): Likewise.
* trans-stmt.c (gfc_trans_integer_select): Likewise.
(gfc_trans_character_select): Likewise.

gcc/go/
* go-gcc.cc (Gcc_backend::switch_statement): Call build_case_label.

gcc/java/
* expr.c (expand_java_switch): Call build_case_label.
(expand_java_add_case): Likewise.

From-SVN: r173467

13 years agodon't use TYPE_ARG_TYPES in the Ada frontend
Nathan Froyd [Fri, 6 May 2011 01:39:32 +0000 (01:39 +0000)]
don't use TYPE_ARG_TYPES in the Ada frontend

don't use TYPE_ARG_TYPES in the Ada frontend
* gcc-interface/decl.c (intrin_arglists_compatible_p): Use iterators
instead of accessing TYPE_ARG_TYPES directly.
* gcc-interface/utils.c (handle_nonnull_attribute): Likewise.

From-SVN: r173466

13 years agodon't use build_function_type in the ObjC/C++ frontends
Nathan Froyd [Fri, 6 May 2011 01:37:00 +0000 (01:37 +0000)]
don't use build_function_type in the ObjC/C++ frontends

don't use build_function_type in the ObjC/C++ frontends
* objc-runtime-shared-support.h (get_arg_type_list): Delete.
(build_function_type_for_method): Declare.
* objc-runtime-hooks.h (struct _objc_runtime_hooks_r): Change
type of get_arg_type_base_list field.
* objc-act.h (OBJC_VOID_AT_END): Delete.
* objc-act.c (get_arg_type_list): Delete.
(build_function_type_for_method): New function.
(objc_decl_method_attributes): Call build_function_type_for_method.
(really_start_method): Likewise.
* objc-gnu-runtime-abi-01.c
(gnu_runtime_abi_01_get_type_arg_list_base): Change prototype and
adjust function accordingly.  Update header comment.
(build_objc_method_call): Call build_function_type_for_method.
* objc-next-runtime-abi-01.c
(next_runtime_abi_01_get_type_arg_list_base): Change prototype and
adjust function accordingly.  Update header comment.
(build_objc_method_call): Call build_function_type_for_method.
* objc-next-runtime-abi-02.c
(next_runtime_abi_02_get_type_arg_list_base): Change prototype and
adjust function accordingly.  Update header comment.
(objc_copy_to_temp_side_effect_params): Take fntype instead of a
typelist.  Use function_args_iterator for traversing fntype.
(build_v2_build_objc_method_call): Adjust call to it.
Call build_function_type_for_method

From-SVN: r173465

13 years agoDaily bump.
GCC Administrator [Fri, 6 May 2011 00:19:23 +0000 (00:19 +0000)]
Daily bump.

From-SVN: r173464

13 years agore PR c++/40975 (ICE in copy_tree_r on array new)
Jason Merrill [Thu, 5 May 2011 20:50:57 +0000 (16:50 -0400)]
re PR c++/40975 (ICE in copy_tree_r on array new)

PR c++/40975
* tree-inline.c (copy_tree_r): Use copy_statement_list.
(copy_statement_list): Don't recurse.
* stor-layout.c (copy_self_referential_tree_r): Don't allow
STATEMENT_LIST.

From-SVN: r173451

13 years agocp-tree.h (REFERENCE_REF_P): Just check the type.
Jason Merrill [Thu, 5 May 2011 20:09:18 +0000 (16:09 -0400)]
cp-tree.h (REFERENCE_REF_P): Just check the type.

* cp-tree.h (REFERENCE_REF_P): Just check the type.
* cvt.c (convert_from_reference): Adjust.
* pt.c (build_non_dependent_expr): Adjust.
* semantics.c (finish_offsetof): Adjust.
* tree.c (lvalue_kind): Use it.

From-SVN: r173449

13 years agors6000.c (rs6000_handle_option): Don't fall through from -mfpu= handling.
Joseph Myers [Thu, 5 May 2011 19:35:12 +0000 (20:35 +0100)]
rs6000.c (rs6000_handle_option): Don't fall through from -mfpu= handling.

* config/rs6000/rs6000.c (rs6000_handle_option): Don't fall
through from -mfpu= handling.
* config/rs6000/rs6000.opt (mfpu=): Use Var and Init.

From-SVN: r173448

13 years agodwarf2out.c (dwarf2out_frame_debug_expr): Handle POST_MODIFY.
Bernd Schmidt [Thu, 5 May 2011 16:49:11 +0000 (16:49 +0000)]
dwarf2out.c (dwarf2out_frame_debug_expr): Handle POST_MODIFY.

* dwarf2out.c (dwarf2out_frame_debug_expr) [rule 10]: Handle
POST_MODIFY.

From-SVN: r173446

13 years agore PR ada/48844 (ICE on assignment of aggregate with discriminated record type)
Eric Botcazou [Thu, 5 May 2011 16:22:16 +0000 (16:22 +0000)]
re PR ada/48844 (ICE on assignment of aggregate with discriminated record type)

PR ada/48844
* gcc-interface/gigi.h (get_variant_part): Declare.
* gcc-interface/decl.c (get_variant_part): Make global.
* gcc-interface/utils2.c (find_common_type): Do not return T1 if the
types have the same constant size, are record types and T1 has a
variant part while T2 doesn't.

From-SVN: r173442

13 years agoFix comment and update config/pa/pa.h (left off previous commit)
Steve Ellcey [Thu, 5 May 2011 15:53:05 +0000 (15:53 +0000)]
Fix comment and update config/pa/pa.h (left off previous commit)

From-SVN: r173438

13 years agoconfig.gcc (hppa*64*-*-hpux11*): Modify tm_file and extra_options for 11.31.
Steve Ellcey [Thu, 5 May 2011 15:49:28 +0000 (15:49 +0000)]
config.gcc (hppa*64*-*-hpux11*): Modify tm_file and extra_options for 11.31.

2011-05-05  Steve Ellcey  <sje@cup.hp.com>

* config.gcc (hppa*64*-*-hpux11*): Modify tm_file and extra_options
for 11.31.
(hppa[12]*-*-hpux11*): Ditto.
(ia64*-*-hpux*): Add ia64/hpux-unix2003.h to tm_file.
* config/ia64/hpux-unix2003.h: New.
* config/pa/pa-hpux1131.opt: New.
* config/pa/pa-hpux1131.h: New.
* config/pa/pa64-hpux.h (STARTFILE_SPEC): Use unix2003.o if requested.
* config/pa/pa-hpux.opt (flag_pa_unix): Check TARGET_HPUX_11_31 value.
config/pa/pa.h (TARGET_HPUX_11_31): Provide default (0) value.

From-SVN: r173437

13 years agore PR debug/48853 (Wrong DWARF codegen when Pmode != ptr_mode)
Jakub Jelinek [Thu, 5 May 2011 15:48:18 +0000 (17:48 +0200)]
re PR debug/48853 (Wrong DWARF codegen when Pmode != ptr_mode)

PR debug/48853
* dwarf2out.c (mem_loc_descriptor) <case SUBREG>: Pass mem_mode
instead of mode as 3rd argument to recursive call.
(mem_loc_descriptor) <case REG>: If POINTERS_EXTEND_UNSIGNED, don't
emit DW_OP_GNU_regval_type if mode is Pmode and mem_mode is not
VOIDmode.
(mem_loc_descriptor) <case SYMBOL_REF>: If POINTERS_EXTEND_UNSIGNED,
don't give up if mode is Pmode and mem_mode is not VOIDmode.
(mem_loc_descriptor) <case CONST_INT>: If POINTERS_EXTEND_UNSIGNED,
use int_loc_descriptor if mode is Pmode and mem_mode is not VOIDmode.

From-SVN: r173436

13 years agoneon.md (vec_set<mode>_internal): Fix misplaced parenthesis in D-register case.
Julian Brown [Thu, 5 May 2011 15:41:25 +0000 (15:41 +0000)]
neon.md (vec_set<mode>_internal): Fix misplaced parenthesis in D-register case.

gcc/
* config/arm/neon.md (vec_set<mode>_internal): Fix misplaced
parenthesis in D-register case.

gcc/testsuite/
* gcc.target/arm/neon-vset_lanes8.c: New test.

From-SVN: r173435

13 years agoopt-functions.awk (var_type_struct): Handle Enum options.
Joseph Myers [Thu, 5 May 2011 14:59:55 +0000 (15:59 +0100)]
opt-functions.awk (var_type_struct): Handle Enum options.

* opt-functions.awk (var_type_struct): Handle Enum options.
* optc-gen.awk: Don't check range of variables of character type.
* config/rs6000/rs6000.c (rs6000_sched_insert_nops_str,
rs6000_sched_costly_dep_str, rs6000_recip_name, rs6000_abi_name,
rs6000_sdata_name, rs6000_explicit_options): Remove.
(rs6000_option_override_internal): Check for -malign-power here.
Use global_options_set instead of rs6000_explicit_options.
(rs6000_parse_fpu_option): Remove.
(rs6000_handle_option): Access variables via opts and opts_set
pointers.  Use error_at and warning_at.  Add fall-through
comments.  Don't handle OPT_mcmodel_, OPT_maix_struct_return,
OPT_msvr4_struct_return, OPT_mvrsave, OPT_mspe, OPT_mcall_,
OPT_msdata_, OPT_mtls_size_, OPT_mtraceback_, OPT_mfloat_gprs_,
OPT_msched_costly_dep_, OPT_malign_ or OPT_mrecip_ explicitly
here.  Don't use rs6000_parse_fpu_option.
* config/rs6000/rs6000.h (fpu_type): Remove declaration.
* config/rs6000/rs6000.opt (rs6000_long_double_type_size,
rs6000_spe, rs6000_float_gprs): Remove TargetVariable entries.
(mrecip=): Use Var.
(mspe): Use Var and Save.
(mtraceback=): Use Enum and Var.
(rs6000_traceback_type): New Enum and EnumValue entries.
(mfloat-gprs=): Use Enum, Var and Save.
(rs6000_float_gprs): New Enum and EnumValue entries.
(mlong-double-): use Var and Save.
(msched-costly-dep=, minsert-sched-nops=): Use Var.
(malign-): Use Enum and Var.
(rs6000_alignment_flags): New Enum and EnumValue entries.
(mfpu=): Use Enum.
(fpu_type_t): New Enum and EnumValue entries.
* config/rs6000/aix43.h (SUBTARGET_OVERRIDE_OPTIONS): Use
global_options_set instead of rs6000_explicit_options.
* config/rs6000/aix52.h (SUBTARGET_OVERRIDE_OPTIONS): Use
global_options_set instead of rs6000_explicit_options.
* config/rs6000/aix53.h (SUBTARGET_OVERRIDE_OPTIONS): Use
global_options_set instead of rs6000_explicit_options.
* config/rs6000/aix61.h (SUBTARGET_OVERRIDE_OPTIONS): Use
global_options_set instead of rs6000_explicit_options.
* config/rs6000/e500-double.h (SUB3TARGET_OVERRIDE_OPTIONS): Use
global_options_set instead of rs6000_explicit_options.
* config/rs6000/eabispe.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Use
global_options_set instead of rs6000_explicit_options.
(RS6000_DEFAULT_LONG_DOUBLE_SIZE): Remove commented-out
definition.
* config/rs6000/linux64.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Use
global_options_set instead of rs6000_explicit_options.
* config/rs6000/linux64.opt (mcmodel=): Use Enum and Var.
(rs6000_cmodel): New Enum and EnumValue entries.
* config/rs6000/linuxspe.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Use
global_options_set instead of rs6000_explicit_options.
* config/rs6000/sysv4.opt (mcall-, msdata=): Use Var.
(mtls-size=): Use Enum and Var.
(rs6000_tls_size): New Enum and EnumValue entries.

From-SVN: r173434

13 years agore PR c++/48873 ([C++0x][noexcept] Placement-new problem with deleted destructors)
Jason Merrill [Thu, 5 May 2011 14:53:35 +0000 (10:53 -0400)]
re PR c++/48873 ([C++0x][noexcept] Placement-new problem with deleted destructors)

PR c++/48873
* tree.c (stabilize_expr): Don't make gratuitous copies of classes.

From-SVN: r173433

13 years agofmt_g0_6.f08: Use dg-options "-ffloat-store".
Rainer Orth [Thu, 5 May 2011 13:55:44 +0000 (13:55 +0000)]
fmt_g0_6.f08: Use dg-options "-ffloat-store".

* gfortran.dg/fmt_g0_6.f08: Use dg-options "-ffloat-store".
Fix typo.

From-SVN: r173431

13 years ago* configure.ac (alpha*-dec-osf*, i[[3456789]]86-*-rdos*,
Joseph Myers [Thu, 5 May 2011 12:38:18 +0000 (13:38 +0100)]
* configure.ac (alpha*-dec-osf*, i[[3456789]]86-*-rdos*,

sh*-*-pe|mips*-*-pe|arm-wince-pe, sparc-*-sunos4*, *-*-aix*,
*-*-beos*, *-*-chorusos, *-*-dragonfly*, *-*-freebsd*, *-*-linux*
| *-*-gnu* | *-*-k*bsd*-gnu | *-*-kopensolaris*-gnu, *-*-lynxos*,
*-*-mingw*, *-*-netbsd*, *-*-netware*, *-*-tpf*, *-*-uclinux*,
*-*-vxworks*): Disable newlib and libgloss in separate case
statement.
(i[[3456789]]86-*-linux*): Move logic allowing newlib to be built
to separate case statement.
(*-*-chorusos, *-*-dragonfly*, *-*-freebsd*, *-*-netbsd*,
*-*-netware*, *-*-tpf*, *-*-uclinux*, *-*-vxworks*,
alpha*-dec-osf*, alpha*-*-linux*, am33_2.0-*-linux*, sh-*-linux*,
sh*-*-pe|mips*-*-pe|*arm-wince-pe, arm-*-coff, arm-*-elf* |
arm*-*-eabi*, arm*-*-linux-gnueabi, arm*-*-symbianelf*, avr-*-*,
bfin-*-*, cris-*-* | crisv32-*-*, frv-*-*, i[[3456789]]86-*-coff |
i[[3456789]]86-*-elf, i[[3456789]]86-w64-mingw*,
i[[3456789]]86-*-mingw*, x86_64-*-mingw*,
i[[3456789]]86-*-interix*, i[[3456789]]86-*-beos*,
i[[3456789]]86-*-rdos*, m32r-*-*,
m68hc11-*-*|m6811-*-*|m68hc12-*-*|m6812-*-*, m68k-*-elf*, m68*-*-*
| fido-*-*, powerpc-*-aix*, powerpc-*-beos*, powerpc-*-eabi,
powerpc-*-eabi* | powerpcle-*-eabi* | powerpc-*-rtems*,
rs6000-*-lynxos*, rs6000-*-aix*, mips*-*-linux*, sparclet-*-aout*
| sparc86x-*-*, sparc-*-elf*, sparc64-*-elf*, sparclite-*-*,
sparc-*-sunos4*, sparc-*-solaris* | sparc64-*-solaris* |
sparcv9-*-solaris*, *-*-linux* | *-*-gnu* | *-*-k*bsd*-gnu |
*-*-kopensolaris*-gnu, *-*-lynxos*, *-*-*): Don't disable newlib
and libgloss in main case over targets.  Remove most empty cases
in main case over targets.
* configure: Regenerate.

From-SVN: r173430

13 years agoelf.h (ENDFILE_SPEC): Add Ofast.
Michael Matz [Thu, 5 May 2011 12:32:50 +0000 (12:32 +0000)]
elf.h (ENDFILE_SPEC): Add Ofast.

* config/alpha/elf.h (ENDFILE_SPEC): Add Ofast.
* config/alpha/osf5.h (ENDFILE_SPEC): Add Ofast.
* config/alpha/netbsd.h (ENDFILE_SPEC): Add Ofast.
* config/sparc/linux.h (ENDFILE_SPEC): Add Ofast.
* config/sparc/sp64-elf.h (ENDFILE_SPEC): Add Ofast.
* config/sparc/sp-elf.h (ENDFILE_SPEC): Add Ofast.
* config/sparc/linux64.h (ENDFILE_SPEC): Add Ofast.
* config/sparc/freebsd.h (ENDFILE_SPEC): Add Ofast.
* config/sparc/sol2.h (ENDFILE_SPEC): Add Ofast.
* config/i386/cygwin.h (ENDFILE_SPEC): Add Ofast.
* config/i386/gnu-user.h (ENDFILE_SPEC): Add Ofast.
* config/i386/gnu-user64.h (ENDFILE_SPEC): Add Ofast.
* config/i386/darwin.h (ENDFILE_SPEC): Add Ofast.
* config/i386/mingw32.h (ENDFILE_SPEC): Add Ofast.
* config/ia64/linux.h (ENDFILE_SPEC): Add Ofast.
* config/mips/linux.h (ENDFILE_SPEC): Add Ofast.

From-SVN: r173429

13 years agoexpmed.c (expand_variable_shift): Rename to ...
Richard Guenther [Thu, 5 May 2011 12:26:05 +0000 (12:26 +0000)]
expmed.c (expand_variable_shift): Rename to ...

2011-05-05  Richard Guenther  <rguenther@suse.de>

* expmed.c (expand_variable_shift): Rename to ...
(expand_shift_1): ... this.  Take an expanded shift amount.
For rotates recurse directly not building trees for the shift amount.
(expand_variable_shift): Wrap around expand_shift_1.
(expand_shift): Adjust.

From-SVN: r173428

13 years agore PR rtl-optimization/48381 (internal compiler error: in check_allocation, at ira...
Jakub Jelinek [Thu, 5 May 2011 12:05:42 +0000 (14:05 +0200)]
re PR rtl-optimization/48381 (internal compiler error: in check_allocation, at ira.c:2094)

PR rtl-optimization/48381
* gcc.c-torture/compile/pr48381.c: New test.

From-SVN: r173427

13 years ago* gimplify.c (create_tmp_var_raw): Don't call build_type_variant.
Jakub Jelinek [Thu, 5 May 2011 12:04:29 +0000 (14:04 +0200)]
* gimplify.c (create_tmp_var_raw): Don't call build_type_variant.

From-SVN: r173426

13 years agoopt-1.c: Add --param min-insn-to-prefetch -ratio=0 to dg-options.
Uros Bizjak [Thu, 5 May 2011 11:50:17 +0000 (13:50 +0200)]
opt-1.c: Add --param min-insn-to-prefetch -ratio=0 to dg-options.

* gcc.target/i386/opt-1.c: Add --param min-insn-to-prefetch -ratio=0
to dg-options.
* gcc.target/i386/opt-1.c: Ditto.

From-SVN: r173425

13 years agotree.h (get_pending_sizes): Remove prototype.
Eric Botcazou [Thu, 5 May 2011 11:49:05 +0000 (11:49 +0000)]
tree.h (get_pending_sizes): Remove prototype.

* tree.h (get_pending_sizes): Remove prototype.
(put_pending_size): Likewise.
(put_pending_sizes): Likewise.
* stor-layout.c (pending_sizes): Delete.
(get_pending_sizes): Likewise.
(put_pending_size): Likewise.
(put_pending_sizes): Likewise.
(variable_size): Do not call put_pending_size and tidy up.
* function.h (struct function): Remove dont_save_pending_sizes_p.
* lto-streamer-in.c (input_function): Do not stream it.
* lto-streamer-out.c (output_function): Likewise.
* tree-inline.c (initialize_cfun): Do not copy it.
* c-decl.c (store_parm_decls): Do not set it.
* omp-low.c (create_task_copyfn): Likewise.
* tree-optimize.c (tree_rest_of_compilation): Likewise.
cp/
* decl.c (start_preparsed_function): Likewise.
fortran/
* trans-decl.c (trans_function_start): Likewise.
ada/
* gcc-interface/utils.c (begin_subprog_body): Do not call
get_pending_sizes.
(end_subprog_body): Likewise.

From-SVN: r173424

13 years agoi386.md (*movdf_internal_rex64): Simplify nested "if" conditions.
Uros Bizjak [Thu, 5 May 2011 11:43:14 +0000 (13:43 +0200)]
i386.md (*movdf_internal_rex64): Simplify nested "if" conditions.

* config/i386/i386.md (*movdf_internal_rex64): Simplify nested "if"
conditions.
(*movdf_internal): Ditto.
(*movdf_internal_nointeger): Ditto.
(*movsf_internal): Ditto.

From-SVN: r173423

13 years agoc-decl.c (finish_decl): Don't call get_pending_sizes.
Joseph Myers [Thu, 5 May 2011 10:20:31 +0000 (11:20 +0100)]
c-decl.c (finish_decl): Don't call get_pending_sizes.

* c-decl.c (finish_decl): Don't call get_pending_sizes.
(grokparm): Add parameter expr.  Pass it to grokdeclarator.
(push_parm_decl): Add parameter expr.  Pass it to grokdeclarator.
(c_variable_size): Remove.
(grokdeclarator): Use save_expr instead of c_variable_size.  Don't
call put_pending_sizes.
(get_parm_info): Add parameter expr.  Use it to set
arg_info->pending_sizes.
(store_parm_decls): Use arg_info->pending_sizes instead or calling
get_pending_sizes.
* c-parser.c (c_parser_parms_declarator): Update call to
c_parser_parms_list_declarator.
(c_parser_parms_list_declarator): Take parameter expr.  Update
call to push_parm_decl.  Update recursive call.  Don't call
get_pending_sizes.  Update calls to get_parm_info.
(c_parser_objc_method_definition): Update calls to
c_parser_objc_method_decl and objc_start_method_definition.
(c_parser_objc_methodproto): Update call to
c_parser_objc_method_decl.
(c_parser_objc_method_decl): Add parameter expr.  Update call to
grokparm.
(c_parser_objc_try_catch_finally_statement): Update call to
grokparm.
* c-tree.h (struct c_arg_info.pending_sizes): Change to a tree.
(get_parm_info, grokparm, push_parm_decl): Update prototypes.

c-family:
* c-objc.h (objc_start_method_definition): Update prototype.
* stub-objc.c (objc_start_method_definition): Add extra parameter.

cp:
* parser.c (cp_parser_objc_method_definition_list): Update call to
objc_start_method_definition.

objc:
* objc-act.c (objc_start_method_definition): Add parameter expr.
Update call to start_method_def.
(objc_generate_cxx_ctor_or_dtor, objc_synthesize_getter,
objc_synthesize_setter) Update calls to
objc_start_method_definition.
(objc_get_parm_info): Add parameter expr.  Update call to
get_parm_info.
(start_method_def): Add parameter expr.  Update call to
objc_get_parm_info.
* objc-gnu-runtime-abi-01.c (build_module_initializer_routine):
Update call to objc_get_parm_info.
* objc-runtime-shared-support.h (objc_get_parm_info): Add extra
parameter.

From-SVN: r173422

13 years agoFor Michael Hope.
Michael Hope [Thu, 5 May 2011 09:52:12 +0000 (09:52 +0000)]
For Michael Hope.

2011-05-05  Michael Hope  <michael.hope@linaro.org>

       PR pch/45979
       * config/host-linux.c (TRY_EMPTY_VM_SPACE): Define for
       __ARM_EABI__ hosts.

From-SVN: r173421

13 years agospu.c (TARGET_ASM_OUTPUT_MI_THUNK): Define.
Ulrich Weigand [Thu, 5 May 2011 09:41:53 +0000 (09:41 +0000)]
spu.c (TARGET_ASM_OUTPUT_MI_THUNK): Define.

* config/spu/spu.c (TARGET_ASM_OUTPUT_MI_THUNK): Define.
(TARGET_ASM_CAN_OUTPUT_MI_THUNK): Likewise.
(spu_output_mi_thunk): New function.

From-SVN: r173420

13 years agosol2.h (ASM_OUTPUT_CALL): Use targetm.asm_out.print_operand.
Rainer Orth [Thu, 5 May 2011 09:10:19 +0000 (09:10 +0000)]
sol2.h (ASM_OUTPUT_CALL): Use targetm.asm_out.print_operand.

* config/sparc/sol2.h (ASM_OUTPUT_CALL): Use
targetm.asm_out.print_operand.
* config/sol2.c: Include target.h.

From-SVN: r173419

13 years agoUse backend interface for slice types.
Ian Lance Taylor [Thu, 5 May 2011 05:22:12 +0000 (05:22 +0000)]
Use backend interface for slice types.

From-SVN: r173415

13 years ago* MAINTAINERS: Add myself (write after approval).
Janis Johnson [Thu, 5 May 2011 02:38:55 +0000 (02:38 +0000)]
* MAINTAINERS: Add myself (write after approval).

From-SVN: r173413

13 years agore PR c++/48749 (internal compiler error: tree check: expected field_decl)
Jason Merrill [Thu, 5 May 2011 02:20:12 +0000 (22:20 -0400)]
re PR c++/48749 (internal compiler error: tree check: expected field_decl)

PR c++/48749
* class.c (resolves_to_fixed_type_p): Don't look closely
in templates.

From-SVN: r173412

13 years ago* config-list.mk: New file.
Joern Rennecke [Thu, 5 May 2011 01:47:47 +0000 (01:47 +0000)]
* config-list.mk: New file.

From-SVN: r173410

13 years agore PR libfortran/48787 (Invalid UP/DOWN rounding with F editing)
Jerry DeLisle [Thu, 5 May 2011 01:23:46 +0000 (01:23 +0000)]
re PR libfortran/48787 (Invalid UP/DOWN rounding with F editing)

2011-05-04  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

PR libgfortran/48787
gfortran.dg/round_3.f08: Add more checks to test case.

From-SVN: r173409

13 years agore PR libfortran/48787 (Invalid UP/DOWN rounding with F editing)
Jerry DeLisle [Thu, 5 May 2011 01:19:30 +0000 (01:19 +0000)]
re PR libfortran/48787 (Invalid UP/DOWN rounding with F editing)

2011-05-04  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

PR libgfortran/48787
* io/write_float.def (output_float): Adjust up and down rounding for
cases where 'd' = 0. Gather common code to one location.

From-SVN: r173408

13 years agoDaily bump.
GCC Administrator [Thu, 5 May 2011 00:19:27 +0000 (00:19 +0000)]
Daily bump.

From-SVN: r173407

13 years agoRegenerate.
Mike Stump [Wed, 4 May 2011 23:42:26 +0000 (23:42 +0000)]
Regenerate.

From-SVN: r173402

13 years agoRemove extra spacing at the end of the line.
Mike Stump [Wed, 4 May 2011 23:34:37 +0000 (23:34 +0000)]
Remove extra spacing at the end of the line.

From-SVN: r173401

13 years agoPR libstdc++/47913 (again)
Marc Glisse [Wed, 4 May 2011 23:23:54 +0000 (23:23 +0000)]
PR libstdc++/47913 (again)

2011-05-04  Marc Glisse  <marc.glisse@normalesup.org>

PR libstdc++/47913 (again)
* include/std/ratio (ratio_add, ratio_less): Rewrite.
* testsuite/20_util/ratio/operations/47913.cc: Extend.
* testsuite/20_util/ratio/cons/cons_overflow_neg.cc: Adjust dg-error
line numbers.
* testsuite/20_util/ratio/operations/ops_overflow_neg.cc: Likewise.

From-SVN: r173400

13 years agoipa-inline.c (reset_edge_caches): New function.
Jan Hubicka [Wed, 4 May 2011 22:48:54 +0000 (00:48 +0200)]
ipa-inline.c (reset_edge_caches): New function.

* ipa-inline.c (reset_edge_caches): New function.
(update_caller_keys): Add check_inlinablity_for; do not
reset edge caches; remove now unnecesary loop.
(update_callee_keys): Add comments; reset
node_growth_cache of callee.
(update_all_callee_keys): Likewise.
(inline_small_functions): Sanity check cache; update code
recomputing it.

From-SVN: r173399

13 years agopr47878.f90, [...]: Gate test on effective_target fd_truncate.
Hans-Peter Nilsson [Wed, 4 May 2011 21:46:42 +0000 (21:46 +0000)]
pr47878.f90, [...]: Gate test on effective_target fd_truncate.

* gfortran.dg/pr47878.f90, gfortran.dg/endfile_3.f90,
gfortran.dg/endfile_4.f90, gfortran.dg/ftell_3.f90,
gfortran.dg/fmt_cache_1.f, gfortran.dg/namelist_66.f90:
Gate test on effective_target fd_truncate.

From-SVN: r173397

13 years agoconfigure.ac: Remove code setting special library locations for hppa*64*-*-hpux11*.
Joseph Myers [Wed, 4 May 2011 21:44:32 +0000 (22:44 +0100)]
configure.ac: Remove code setting special library locations for hppa*64*-*-hpux11*.

* configure.ac: Remove code setting special library locations for
hppa*64*-*-hpux11*.  Remove code setting compiler for
sparc-sun-solaris2*.
* configure: Regenerate.

From-SVN: r173396