Richard Guenther [Tue, 10 May 2011 09:57:50 +0000 (09:57 +0000)]
tree-ssa-forwprop.c (combine_conversions): Pattern-match a series of conversions and apply foldings similar to what...
2011-05-10 Richard Guenther <rguenther@suse.de>
* tree-ssa-forwprop.c (combine_conversions): Pattern-match
a series of conversions and apply foldings similar to what
fold-const does.
(tree_ssa_forward_propagate_single_use_vars): Call it.
* gcc.dg/tree-ssa/ssa-fre-2.c: Disable forwprop.
* gcc.dg/tree-ssa/ssa-fre-3.c: Likewise.
* gcc.dg/tree-ssa/ssa-fre-4.c: Likewise.
* gcc.dg/tree-ssa/ssa-fre-5.c: Likewise.
* gcc.dg/tree-ssa/scev-cast.c: Adjust. Note what transformation
applies.
From-SVN: r173612
Jakub Jelinek [Tue, 10 May 2011 06:08:18 +0000 (08:08 +0200)]
re PR tree-optimization/48611 (ICE: SIGSEGV in remap_eh_region_nr (tree-inline.c:1194) with -Os -fopenmp -fexceptions -fno-tree-ccp -fno-tree-copy-prop on basic code)
PR tree-optimization/48611
PR tree-optimization/48794
* tree-eh.c (remove_unreachable_handlers): Don't remove regions
referenced from RESX or EH_DISPATCH arguments.
* gfortran.dg/gomp/pr48611.f90: New test.
* gfortran.dg/gomp/pr48794.f90: New test.
From-SVN: r173607
Jakub Jelinek [Tue, 10 May 2011 06:05:20 +0000 (08:05 +0200)]
re PR debug/48928 (ICE: in decimal_to_decnumber, at dfp.c:113 with -O -g and decimal float)
PR debug/48928
* dfp.c (decimal_to_decnumber): Handle conversion from
dconst{1,2,m1,half}.
* gcc.dg/dfp/pr48928.c: New test.
From-SVN: r173606
GCC Administrator [Tue, 10 May 2011 00:19:26 +0000 (00:19 +0000)]
Daily bump.
From-SVN: r173604
Paolo Carlini [Mon, 9 May 2011 23:24:01 +0000 (23:24 +0000)]
re PR c++/48522 ([C++0x] decltype((object)) with templated classes crashes g++ 4.5.1.)
2011-05-09 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/48522
* g++.dg/cpp0x/pr48522.C: New.
From-SVN: r173598
Paolo Carlini [Mon, 9 May 2011 22:57:19 +0000 (22:57 +0000)]
re PR c++/48735 ([C++0x][SFINAE] Hard errors with array list-construction and deleted default c'tor)
2011-05-09 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/48735
* g++.dg/cpp0x/sfinae21.C: New.
2011-05-09 Paolo Carlini <paolo.carlini@oracle.com>
* g++.dg/template/sfinae28.C: Rename to...
* g++.dg/cpp0x/sfinae19.C: ... this.
* g++.dg/template/sfinae29.C: Rename to...
* g++.dg/cpp0x/sfinae20.C: ... this.
From-SVN: r173597
Jeff Law [Mon, 9 May 2011 21:40:54 +0000 (15:40 -0600)]
gcc-gdb-test.exp (gdb-test): Reorder matchers to give more consistent results.
* lib/gcc-gdb-test.exp (gdb-test): Reorder matchers to give more
consistent results.
From-SVN: r173595
Fabien Chêne [Mon, 9 May 2011 20:56:29 +0000 (22:56 +0200)]
re PR c++/20039 (uninitialized const in `new' of `const struct')
gcc/testsuite/ChangeLog:
2011-05-09 Fabien Chene <fabien@gcc.gnu.org>
PR c++/20039
* g++.dg/init/pr20039.C: New.
From-SVN: r173592
Uros Bizjak [Mon, 9 May 2011 20:51:19 +0000 (22:51 +0200)]
i386.c (ix86_autovectorize_vector_sizes): Return 0 for !flag_prefer_avx128.
* config/i386/i386.c (ix86_autovectorize_vector_sizes): Return 0
for !flag_prefer_avx128.
(ix86_preferred_simd_mode): Return word_mode for DFmode without SSE2.
From-SVN: r173591
Paolo Carlini [Mon, 9 May 2011 19:24:50 +0000 (19:24 +0000)]
re PR c++/48737 ([C++0x][SFINAE] Hard errors with array list-construction with too many elements)
/cp
2011-05-09 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/48737
PR c++/48744
* decl.c (reshape_init): Take a complain parameter and do
not call error if tf_error is not set.
(check_initializer, reshape_init_r, reshape_init_array,
reshape_init_array_1, reshape_init_vector, reshape_init_class):
Adjust.
* typeck2.c (digest_init_r): Take a complain parameter and
pass it to convert_for_initialization.
(digest_init, digest_init_flags, process_init_constructor_array,
process_init_constructor_record, process_init_constructor_union,
process_init_constructor, digest_init_r): Adjust.
* init.c (expand_default_init, build_new_1): Likewise.
* typeck.c (cp_build_modify_expr): Likewise.
* decl2.c (grokfield): Likewise.
* call.c (convert_like_real, convert_default_arg): Likewise.
* semantics.c (finish_compound_literal): Pass complain to
reshape_init and digest_init.
* cp-tree.h: Adjust declarations.
/testsuite
2011-05-09 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/48737
PR c++/48744
* g++.dg/template/sfinae28.C: New.
* g++.dg/template/sfinae29.C: Likewise.
From-SVN: r173590
Eric Botcazou [Mon, 9 May 2011 18:36:31 +0000 (18:36 +0000)]
fold-const.c (fold_range_test): Pass LOC to build_range_check.
* fold-const.c (fold_range_test): Pass LOC to build_range_check.
(fold_ternary_loc): Use expr_location_or.
From-SVN: r173588
H.J. Lu [Mon, 9 May 2011 18:16:04 +0000 (18:16 +0000)]
One more POINTERS_EXTEND_UNSIGNED fix in mem_loc_descriptor.
2011-05-09 H.J. Lu <hongjiu.lu@intel.com>
PR debug/48853
* dwarf2out.c (mem_loc_descriptor) <case SUBREG>: If
POINTERS_EXTEND_UNSIGNED is defined, don't give up if mode is
Pmode and mem_mode is not VOIDmode.
From-SVN: r173587
Jason Merrill [Mon, 9 May 2011 18:03:02 +0000 (14:03 -0400)]
* g++.dg/template/nontype23.C: New.
From-SVN: r173586
Fabien Chêne [Mon, 9 May 2011 17:42:21 +0000 (19:42 +0200)]
Fix PR C++/48859
From-SVN: r173583
Jason Merrill [Mon, 9 May 2011 17:34:44 +0000 (13:34 -0400)]
re PR c++/34772 (self-initialisation does not silence uninitialised warnings (-Winit-self ignored))
PR c++/34772
* decl.c (initialize_local_var): Use DECL_INITIAL for simple
initialization.
From-SVN: r173582
Ville Voutilainen [Mon, 9 May 2011 17:34:35 +0000 (20:34 +0300)]
Implement final/override for member functions.
gcc/
* tree.h (TYPE_UNQUALIFIED, TYPE_QUAL_CONST): Convert to enum.
(TYPE_QUAL_VOLATILE, TYPE_QUAL_RESTRICT): Likewise.
gcc/cp/
* class.c (check_for_override): Check for DECL_OVERRIDE_P.
* cp-tree.h (DECL_OVERRIDE_P, DECL_FINAL_P): New.
(cp_virt_specifiers, enum virt_specifier): New.
* decl.c (set_virt_specifiers): New.
(grokdeclarator): Use them. Diagnose virt-specifiers on non-fields.
* parser.c (make_call_declarator): add virt-specifiers parameter.
(cp_parser_lambda_declarator_opt): Adjust.
(cp_parser_direct_declarator): Likewise.
(cp_parser_virt_specifier_seq_opt): New.
* search.c (check_final_overrider): Diagnose attempts to override
a final member function.
From-SVN: r173581
Uros Bizjak [Mon, 9 May 2011 17:31:48 +0000 (19:31 +0200)]
predicates.md (const_pow2_1_to_2_operand): Remove.
2011-05-09 Uros Bizjak <ubizjak@gmail.com>
* config/i386/predicates.md (const_pow2_1_to_2_operand): Remove.
(const_pow2_1_to_8_operand): Ditto.
(const_pow2_1_to_128_operand): Ditto.
(const_pow2_1_to_32768_operand): Ditto.
* config/i386/mmx.md (*mmx_pinsrw): Use const_int_operand instead of
const_pow2_1_to_8_operand for operand 3 predicate. Use exact_log2
in insn constraint to check integer value of operand 3.
* config/i386/sse.md (*vec_setv4sf_sse4_1): Ditto.
(PINSR_MODE): New mode iterator.
(sse2p4_1): New mode attribute.
(<sse2p4_1>_pinsr<ssemodesuffix>): Merge insn from sse4_1_pinsrb,
sse2_pinsrw, sse4_1_pinsrd and sse4_1_pinsrq using PINSR_MODE mode
iterator. Use const_int_operand instead of
const_pow2_1_to_{2,8,128,32768}_operand for operand 3 predicate. Use
exact_log2 in insn constraint to check integer value of operand 3.
2011-05-09 Uros Bizjak <ubizjak@gmail.com>
* config/i386/sse.md (blendbits): Remove mode attribute.
(<sse4_1>_blend<ssemodesuffix><avxsizesuffix>): Use const_int_operand
instead of const_0_to_<blendbits>_operand for operand 3 predicate.
Check integer value of operand 3 in insn constraint.
From-SVN: r173580
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
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
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
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
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
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
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
Philipp Thomas [Mon, 9 May 2011 10:42:23 +0000 (10:42 +0000)]
Don't translate syntax example.
From-SVN: r173564
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
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
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
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
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
GCC Administrator [Mon, 9 May 2011 00:19:13 +0000 (00:19 +0000)]
Daily bump.
From-SVN: r173557
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
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
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
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
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
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
Eric Botcazou [Sun, 8 May 2011 08:37:58 +0000 (08:37 +0000)]
Fix long lines
From-SVN: r173546
GCC Administrator [Sun, 8 May 2011 00:19:20 +0000 (00:19 +0000)]
Daily bump.
From-SVN: r173543
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
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
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
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
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
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
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
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
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
GCC Administrator [Sat, 7 May 2011 00:19:13 +0000 (00:19 +0000)]
Daily bump.
From-SVN: r173525
Ian Lance Taylor [Sat, 7 May 2011 00:12:32 +0000 (00:12 +0000)]
Use backend types for all type conversions.
From-SVN: r173520
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
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
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
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
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
Ian Lance Taylor [Fri, 6 May 2011 20:06:29 +0000 (20:06 +0000)]
More uses of backend interface for types.
From-SVN: r173507
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
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
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
Ian Lance Taylor [Fri, 6 May 2011 18:30:11 +0000 (18:30 +0000)]
Use backend interface for string types.
From-SVN: r173502
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Ian Lance Taylor [Fri, 6 May 2011 06:34:27 +0000 (06:34 +0000)]
Use backend interface for interface types.
From-SVN: r173469
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
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
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
GCC Administrator [Fri, 6 May 2011 00:19:23 +0000 (00:19 +0000)]
Daily bump.
From-SVN: r173464
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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