Jan Hubicka [Wed, 19 May 2010 23:55:38 +0000 (01:55 +0200)]
ipareference2_0.c: New file.
* gcc.dg/lto/ipareference2_0.c: New file.
* gcc.dg/lto/ipareference2_1.c: New file.
* lto.c (promote_var, promote_fn): New functions.
(lto_promote_cross_file_statics): Compute correctly boundary including
static initializers of readonly vars.
From-SVN: r159604
Joseph Myers [Wed, 19 May 2010 21:32:19 +0000 (22:32 +0100)]
diagnostic.c (FLOAT, FFS): Don't undefine.
* diagnostic.c (FLOAT, FFS): Don't undefine.
* passes.c, pretty-print.c, rtl-error.c, toplev.c: Likewise.
* cse.c, regmove.c: Remove comments about stdio.h and rtl.h
include ordering.
From-SVN: r159602
Richard Sandiford [Wed, 19 May 2010 21:08:53 +0000 (21:08 +0000)]
combine.c (propagate_for_debug): Call make_compound_operation on the source value.
gcc/
* combine.c (propagate_for_debug): Call make_compound_operation
on the source value.
(try_combine): When implementing a split chosen by find_split_point,
either copy i2src or set it to null. Assert that i2src is not null
before substituting into CALL_INSN_FUNCTION_USAGE.
From-SVN: r159600
Jason Merrill [Wed, 19 May 2010 21:02:27 +0000 (17:02 -0400)]
call.c (reference_binding): Use cp_build_qualified_type_real and cp_type_quals consistently.
* call.c (reference_binding): Use cp_build_qualified_type_real
and cp_type_quals consistently.
(add_function_candidate): Likewise.
(build_conditional_expr): Likewise.
(convert_like_real): Likewise.
(type_passed_as): Likewise.
* class.c (add_method): Likewise.
(same_signature_p): Likewise.
(layout_class_type): Likewise.
* decl.c (cxx_init_decl_processing): Likewise.
(cp_fname_init): Likewise.
(grokdeclarator): Likewise.
* decl2.c (cp_reconstruct_complex_type): Likewise.
* init.c (build_new_1): Likewise.
* method.c (do_build_copy_constructor): Likewise.
(implicitly_declare_fn): Likewise.
* pt.c (tsubst_aggr_type): Likewise.
(tsubst): Likewise.
* rtti.c (init_rtti_processing): Likewise.
(build_headof): Likewise.
(build_dynamic_cast_1): Likewise.
(tinfo_base_init): Likewise.
(emit_support_tinfos): Likewise.
* semantics.c (capture_decltype): Likewise.
* tree.c (cv_unqualified): Likewise.
* typeck.c (composite_pointer_type): Likewise.
(string_conv_p): Likewise.
* mangle.c (write_CV_qualifiers_for_type): Tweak.
* call.c (initialize_reference): Use CP_TYPE_CONST_P.
* decl.c (start_decl): Likewise.
* semantics.c (finish_compound_literal): Likewise.
* typeck.c (check_return_expr): Use CP_TYPE_VOLATILE_P.
(cp_type_readonly): Remove.
* cp-tree.h: Remove declaration.
From-SVN: r159599
Jason Merrill [Wed, 19 May 2010 21:02:16 +0000 (17:02 -0400)]
* typeck.c (merge_types): Preserve memfn quals.
From-SVN: r159598
Jason Merrill [Wed, 19 May 2010 21:02:03 +0000 (17:02 -0400)]
decl.c (grokdeclarator): Don't check quals on fn type.
* decl.c (grokdeclarator): Don't check quals on fn type.
* typeck.c (cp_apply_type_quals_to_decl): Likewise.
* tree.c (cp_build_qualified_type_real): Simplify qualifier checking.
From-SVN: r159597
Jason Merrill [Wed, 19 May 2010 21:01:50 +0000 (17:01 -0400)]
re PR c++/44193 (function types, cv-quals and typename)
PR c++/44193
* typeck.c (type_memfn_quals): New fn.
(apply_memfn_quals): New fn.
(cp_type_quals): Return TYPE_UNQUALIFIED for FUNCTION_TYPE.
(cp_type_readonly): Use cp_type_quals.
* cp-tree.h: Add declarations.
* tree.c (cp_build_qualified_type_real): Don't set, but do
preserve, quals on FUNCTION_TYPE.
(strip_typedefs): Use apply_memfn_quals and type_memfn_quals.
* decl.c (build_ptrmem_type): Likewise.
(grokdeclarator): Likewise.
(static_fn_type): Likewise.
* decl2.c (change_return_type): Likewise.
(cp_reconstruct_complex_type): Likewise.
* pt.c (tsubst_function_type): Likewise.
(unify): Likewise.
(tsubst): Likewise. Drop special FUNCTION_TYPE substitution code.
From-SVN: r159596
Anatoly Sokolov [Wed, 19 May 2010 20:09:57 +0000 (00:09 +0400)]
double-int.h (double_int_ior): New function.
* double-int.h (double_int_ior): New function.
* tree.h (build_int_cst_wide_type): Remove.
* tree.c (build_int_cst_wide_type): Remove.
* fold-const.c (native_interpret_int): Use double_int_to_tree instead
of build_int_cst_wide_type.
* stor-layout.c (set_sizetype): (Ditto.).
* dojump.c (do_jump): Use build_int_cstu instead of
build_int_cst_wide_type.
/java
* jcf-parse.c (get_constant): Use double_int_to_tree instead of
build_int_cst_wide_type.
From-SVN: r159595
Jonathan Wakely [Wed, 19 May 2010 18:48:48 +0000 (18:48 +0000)]
wait.cc (wait): Rename.
2010-05-19 Jonathan Wakely <jwakely.gcc@gmail.com>
* testsuite/30_threads/future/members/wait.cc (wait): Rename.
* testsuite/30_threads/shared_future/members/wait.cc (wait): Likewise.
From-SVN: r159593
Eric Botcazou [Wed, 19 May 2010 17:53:58 +0000 (17:53 +0000)]
langhooks.h (struct lang_hooks): Add new field deep_unsharing.
* langhooks.h (struct lang_hooks): Add new field deep_unsharing.
* langhooks-def.h (LANG_HOOKS_DEEP_UNSHARING): New macro.
(LANG_HOOKS_INITIALIZER): Add LANG_HOOKS_DEEP_UNSHARING.
* gimplify.c: (mostly_copy_tree_r): Copy trees under SAVE_EXPR and
TARGET_EXPR nodes, but only once, if instructed to do so. Do not
propagate the 'data' argument to copy_tree_r.
(copy_if_shared_r): Remove bogus ATTRIBUTE_UNUSED marker.
Propagate 'data' argument to walk_tree.
(copy_if_shared): New function.
(unmark_visited_r): Remove bogus ATTRIBUTE_UNUSED marker.
(unmark_visited): New function.
(unshare_body): Call copy_if_shared instead of doing it manually.
(unvisit_body): Call unmark_visited instead of doing it manually.
ada/
* gcc-interface/misc.c (LANG_HOOKS_DEEP_UNSHARING): Redefine.
* gcc-interface/trans.c (unshare_save_expr): Delete.
(gigi): Do not unshare trees under SAVE_EXPRs here.
From-SVN: r159592
Daniel Franke [Wed, 19 May 2010 16:35:34 +0000 (12:35 -0400)]
re PR fortran/44055 (Warn (-Wconversion*) when converting single to double precision)
gcc/fortran/:
2010-05-19 Daniel Franke <franke.daniel@gmail.com>
PR fortran/44055
* lang.opt (Wconversion-extra): New option.
* gfortran.h (gfc_option_t): Add warn_conversion_extra.
* options.c (gfc_init_options): Disable -Wconversion-extra by default.
(set_Wall): Enable -Wconversion.
(gfc_handle_option): Set warn_conversion_extra.
* intrinsic.c (gfc_convert_type_warn): Ignore kind conditions
introduced for -Wconversion if -Wconversion-extra is present.
* invoke.texi: Add -Wconversion to -Wall; document new behaviour of
-Wconversion; document -Wconversion-extra.
gcc/testsuite/:
2010-05-19 Daniel Franke <franke.daniel@gmail.com>
PR fortran/44055
* gfortran.dg/c_sizeof_2.f90: Add -Wno-conversion to dg-options;
Fixed scope of C_SIZEOF.
* gfortran.dg/warn_conversion_2.f90: New.
From-SVN: r159586
Nathan Froyd [Wed, 19 May 2010 16:23:27 +0000 (16:23 +0000)]
hooks.h (hook_tree_tree_tree_bool_null): Rename to...
* hooks.h (hook_tree_tree_tree_bool_null): Rename to...
(hook_tree_tree_int_treep_bool_null): ...this. Update signature.
* hooks.c: Likewise.
* target-def.h (TARGET_FOLD_BUILTIN): Define to
hook_tree_tree_int_treep_bool_null.
* target.h: (struct gcc_target): Update signature of fold_builtin
field.
* doc/tm.texi (TARGET_FOLD_BUILTIN): Update description and signature.
* builtins.c (fold_call_expr): Pass call_expr_nargs and CALL_EXPR_ARGP
instead of the call expression.
(fold_builtin_call_array): Pass n and argarray directly.
(fold_call_stmt): Pass nargs and gimple_call_arg_ptr instead of
consing a list.
* config/alpha/alpha.c (alpha_fold_builtin): Update signature. Lift
MAX_ARGS check out of the loop. Delete declaration of `arity', declare
`i' and use it in place of `arity'.
* config/sparc/sparc.c (sparc_fold_builtin): Update signature.
Dereference `args' directly.
* config/xtensa/xtensa (xtensa_fold_builtin): Likewise.
From-SVN: r159585
Rainer Orth [Wed, 19 May 2010 16:10:05 +0000 (16:10 +0000)]
sourcebuild.texi (Effective-Target Keywords): Document 3dnow, sse3, sse2.
gcc:
* doc/sourcebuild.texi (Effective-Target Keywords): Document
3dnow, sse3, sse2.
(Directives): Document optional dg-require-effective-target
selector.
gcc/testsuite:
* lib/target-supports.exp (check_effective_target_sse2): New proc.
* lib/target-supports-dg.exp (dg-require-effective-target): Allow
for optional selector.
* gcc.target/i386/i386.exp (check_effective_target_3dnow): New proc.
(check_effective_target_sse3): New proc.
* gcc.target/i386/math-torture/math-torture.exp: Load
target-supports.exp.
Only add options with -msse2 to MATH_TORTURE_OPTIONS if
check_effective_target_sse2.
* gcc.dg/vect/vect.exp: Return unless check_effective_target_sse2.
* gcc.dg/vect/costmodel/i386/i386-costmodel-vect.exp: Likewise.
* g++.dg/vect/vect.exp: Likewise.
* gfortran.dg/vect/vect.exp: Likewise.
* lib/fortran-torture.exp (get-fortran-torture-options): Only use
-msse2 if check_effective_target_sse2.
* gcc.target/i386/3dnow-1.c: Use dg-require-effective-target 3dnow.
* gcc.target/i386/3dnow-2.c: Likewise.
* gcc.target/i386/3dnowA-1.c: Likewise.
* gcc.target/i386/3dnowA-2.c: Likewise.
* gcc.target/i386/pr42549.c: Likewise.
* gcc.target/i386/sse3-addsubpd.c: Use dg-require-effective-target sse3.
* gcc.target/i386/sse3-addsubps.c: Likewise.
* gcc.target/i386/sse3-haddpd.c: Likewise.
* gcc.target/i386/sse3-haddps.c: Likewise.
* gcc.target/i386/sse3-hsubpd.c: Likewise.
* gcc.target/i386/sse3-hsubps.c: Likewise.
* gcc.target/i386/sse3-lddqu.c: Likewise.
* gcc.target/i386/sse3-movddup.c: Likewise.
* gcc.target/i386/sse3-movshdup.c: Likewise.
* gcc.target/i386/sse3-movsldup.c: Likewise.
* g++.dg/abi/mangle42.C: Use dg-require-effective-target sse2.
* g++.dg/ext/attrib35.C: Likewise.
* g++.dg/opt/pr40496.C: Likewise.
* g++.dg/other/i386-1.C: Likewise.
* g++.dg/other/i386-4.C: Likewise.
* g++.dg/other/pr34435.C: Likewise.
* g++.dg/other/pr39496.C: Likewise.
* g++.dg/other/pr40446.C: Likewise.
* gcc.dg/compat/union-m128-1_main.c: Likewise.
* gcc.dg/compat/vector-1a_main.c: Likewise.
* gcc.dg/compat/vector-2a_main.c: Likewise.
* gcc.dg/lto/
20090206-1_0.c: Likewise.
* gcc.dg/pr34856.c: Likewise.
* gcc.dg/pr36584.c: Likewise.
* gcc.dg/pr36997.c: Likewise. Adapt dg-message line number.
* gcc.dg/pr37544.c: Likewise.
* gcc.dg/torture/pr16104-1.c: Likewise.
* gcc.dg/torture/pr35771-1.c: Likewise.
* gcc.dg/torture/pr35771-2.c: Likewise.
* gcc.dg/torture/pr35771-3.c: Likewise.
* gcc.dg/torture/stackalign/alloca-2.c: Likewise.
* gcc.dg/torture/stackalign/alloca-3.c: Likewise.
* gcc.dg/torture/stackalign/push-1.c: Likewise.
* gcc.dg/torture/stackalign/vararg-3.c: Likewise.
* gcc.dg/tree-ssa/prefetch-6.c: Likewise.
* gcc.dg/tree-ssa/prefetch-7.c: Likewise.
* gcc.dg/vect/vect-debug-pr41926.c: Likewise.
* gcc.target/i386/
20060512-1.c: Likewise.
* gcc.target/i386/
20060512-3.c: Likewise.
* gcc.target/i386/all_one_m128i.c: Likewise.
* gcc.target/i386/float128-1.c: Likewise.
* gcc.target/i386/float128-2.c: Likewise.
* gcc.target/i386/fpcvt-1.c: Likewise.
* gcc.target/i386/fpcvt-2.c: Likewise.
* gcc.target/i386/fpcvt-3.c: Likewise.
* gcc.target/i386/fpprec-1.c: Likewise.
* gcc.target/i386/funcspec-9.c: Likewise.
* gcc.target/i386/incoming-1.c: Likewise.
* gcc.target/i386/incoming-12.c: Likewise.
* gcc.target/i386/incoming-2.c: Likewise.
* gcc.target/i386/incoming-3.c: Likewise.
* gcc.target/i386/incoming-4.c: Likewise.
* gcc.target/i386/incoming-6.c: Likewise.
* gcc.target/i386/incoming-7.c: Likewise.
* gcc.target/i386/incoming-8.c: Likewise.
* gcc.target/i386/opt-1.c: Likewise.
* gcc.target/i386/opt-2.c: Likewise.
* gcc.target/i386/ordcmp-1.c: Likewise.
* gcc.target/i386/pr17692.c: Likewise.
* gcc.target/i386/pr18614-1.c: Likewise.
* gcc.target/i386/pr22152.c: Likewise.
* gcc.target/i386/pr23570.c: Likewise.
* gcc.target/i386/pr23575.c: Likewise.
* gcc.target/i386/pr26449-1.c: Likewise.
* gcc.target/i386/pr26600.c: Likewise.
* gcc.target/i386/pr27790.c: Likewise.
* gcc.target/i386/pr28839.c: Likewise.
* gcc.target/i386/pr30970.c: Likewise.
* gcc.target/i386/pr32000-1.c: Likewise.
* gcc.target/i386/pr32000-2.c: Likewise.
* gcc.target/i386/pr32280.c: Likewise.
* gcc.target/i386/pr32661.c: Likewise.
* gcc.target/i386/pr32708-1.c: Likewise.
* gcc.target/i386/pr32961.c: Likewise.
* gcc.target/i386/pr33329.c: Likewise.
* gcc.target/i386/pr35714.c: Likewise.
* gcc.target/i386/pr35767-1.c: Likewise.
* gcc.target/i386/pr35767-1d.c: Likewise.
* gcc.target/i386/pr35767-1i.c: Likewise.
* gcc.target/i386/pr35767-2.c: Likewise.
* gcc.target/i386/pr35767-2d.c: Likewise.
* gcc.target/i386/pr35767-2i.c: Likewise.
* gcc.target/i386/pr35767-3.c: Likewise.
* gcc.target/i386/pr35767-5.c: Likewise.
* gcc.target/i386/pr36222-1.c: Likewise.
* gcc.target/i386/pr36578-1.c: Likewise.
* gcc.target/i386/pr36578-2.c: Likewise.
* gcc.target/i386/pr36992-1.c: Likewise.
* gcc.target/i386/pr37101.c: Likewise.
* gcc.target/i386/pr37216.c: Likewise.
* gcc.target/i386/pr37434-1.c: Likewise.
* gcc.target/i386/pr37434-2.c: Likewise.
* gcc.target/i386/pr37843-3.c: Likewise.
* gcc.target/i386/pr37843-4.c: Likewise.
* gcc.target/i386/pr39162.c: Likewise.
* gcc.target/i386/pr39315-1.c: Likewise.
* gcc.target/i386/pr39315-2.c: Likewise.
* gcc.target/i386/pr39315-3.c: Likewise.
* gcc.target/i386/pr39315-4.c: Likewise.
* gcc.target/i386/pr39445.c: Likewise.
* gcc.target/i386/pr39496.c: Likewise.
* gcc.target/i386/pr40809.c: Likewise.
* gcc.target/i386/pr40906-3.c: Likewise.
* gcc.target/i386/pr41019.c: Likewise.
* gcc.target/i386/pr42542-1.c: Likewise.
* gcc.target/i386/pr42542-2.c: Likewise.
* gcc.target/i386/pr42542-3.c: Likewise.
* gcc.target/i386/pr42542-3a.c: Likewise.
* gcc.target/i386/pr42881.c: Likewise.
* gcc.target/i386/push-1.c: Likewise.
* gcc.target/i386/quad-sse.c: Likewise.
* gcc.target/i386/reload-1.c: Likewise.
* gcc.target/i386/sse-10.c: Likewise.
* gcc.target/i386/sse-11.c: Likewise.
* gcc.target/i386/sse-15.c: Likewise.
* gcc.target/i386/sse-17.c: Likewise.
* gcc.target/i386/sse-18.c: Likewise.
* gcc.target/i386/sse-19.c: Likewise.
* gcc.target/i386/sse-4.c: Likewise.
* gcc.target/i386/sse-6.c: Likewise.
* gcc.target/i386/sse-vect-types.c: Likewise.
* gcc.target/i386/sse2-addpd-1.c: Likewise.
* gcc.target/i386/sse2-addsd-1.c: Likewise.
* gcc.target/i386/sse2-andnpd-1.c: Likewise.
* gcc.target/i386/sse2-andpd-1.c: Likewise.
* gcc.target/i386/sse2-cmpsd-1.c: Likewise.
* gcc.target/i386/sse2-comisd-1.c: Likewise.
* gcc.target/i386/sse2-comisd-2.c: Likewise.
* gcc.target/i386/sse2-comisd-3.c: Likewise.
* gcc.target/i386/sse2-comisd-4.c: Likewise.
* gcc.target/i386/sse2-comisd-5.c: Likewise.
* gcc.target/i386/sse2-comisd-6.c: Likewise.
* gcc.target/i386/sse2-copysign-vec.c: Likewise.
* gcc.target/i386/sse2-cvtdq2pd-1.c: Likewise.
* gcc.target/i386/sse2-cvtdq2ps-1.c: Likewise.
* gcc.target/i386/sse2-cvtpd2dq-1.c: Likewise.
* gcc.target/i386/sse2-cvtpd2ps-1.c: Likewise.
* gcc.target/i386/sse2-cvtps2dq-1.c: Likewise.
* gcc.target/i386/sse2-cvtps2pd-1.c: Likewise.
* gcc.target/i386/sse2-cvtsd2si-1.c: Likewise.
* gcc.target/i386/sse2-cvtsd2si-2.c: Likewise.
* gcc.target/i386/sse2-cvtsd2ss-1.c: Likewise.
* gcc.target/i386/sse2-cvtsi2sd-1.c: Likewise.
* gcc.target/i386/sse2-cvtsi2sd-2.c: Likewise.
* gcc.target/i386/sse2-cvtss2sd-1.c: Likewise.
* gcc.target/i386/sse2-cvttpd2dq-1.c: Likewise.
* gcc.target/i386/sse2-cvttps2dq-1.c: Likewise.
* gcc.target/i386/sse2-cvttsd2si-1.c: Likewise.
* gcc.target/i386/sse2-cvttsd2si-2.c: Likewise.
* gcc.target/i386/sse2-divpd-1.c: Likewise.
* gcc.target/i386/sse2-divsd-1.c: Likewise.
* gcc.target/i386/sse2-init-v16qi-1.c: Likewise.
* gcc.target/i386/sse2-init-v2di-1.c: Likewise.
* gcc.target/i386/sse2-init-v4si-1.c: Likewise.
* gcc.target/i386/sse2-init-v8hi-1.c: Likewise.
* gcc.target/i386/sse2-lrint-vec.c: Likewise.
* gcc.target/i386/sse2-lrintf-vec.c: Likewise.
* gcc.target/i386/sse2-maxpd-1.c: Likewise.
* gcc.target/i386/sse2-maxsd-1.c: Likewise.
* gcc.target/i386/sse2-minpd-1.c: Likewise.
* gcc.target/i386/sse2-minsd-1.c: Likewise.
* gcc.target/i386/sse2-mmx.c: Likewise.
* gcc.target/i386/sse2-movapd-1.c: Likewise.
* gcc.target/i386/sse2-movapd-2.c: Likewise.
* gcc.target/i386/sse2-movd-1.c: Likewise.
* gcc.target/i386/sse2-movd-2.c: Likewise.
* gcc.target/i386/sse2-movdqa-1.c: Likewise.
* gcc.target/i386/sse2-movdqa-2.c: Likewise.
* gcc.target/i386/sse2-movdqu-1.c: Likewise.
* gcc.target/i386/sse2-movdqu-2.c: Likewise.
* gcc.target/i386/sse2-movhpd-1.c: Likewise.
* gcc.target/i386/sse2-movhpd-2.c: Likewise.
* gcc.target/i386/sse2-movlpd-1.c: Likewise.
* gcc.target/i386/sse2-movlpd-2.c: Likewise.
* gcc.target/i386/sse2-movmskpd-1.c: Likewise.
* gcc.target/i386/sse2-movntdq-1.c: Likewise.
* gcc.target/i386/sse2-movntpd-1.c: Likewise.
* gcc.target/i386/sse2-movq-1.c: Likewise.
* gcc.target/i386/sse2-movq-2.c: Likewise.
* gcc.target/i386/sse2-movq-3.c: Likewise.
* gcc.target/i386/sse2-movsd-1.c: Likewise.
* gcc.target/i386/sse2-movsd-2.c: Likewise.
* gcc.target/i386/sse2-movupd-1.c: Likewise.
* gcc.target/i386/sse2-movupd-2.c: Likewise.
* gcc.target/i386/sse2-mulpd-1.c: Likewise.
* gcc.target/i386/sse2-mulsd-1.c: Likewise.
* gcc.target/i386/sse2-orpd-1.c: Likewise.
* gcc.target/i386/sse2-packssdw-1.c: Likewise.
* gcc.target/i386/sse2-packsswb-1.c: Likewise.
* gcc.target/i386/sse2-packuswb-1.c: Likewise.
* gcc.target/i386/sse2-paddb-1.c: Likewise.
* gcc.target/i386/sse2-paddd-1.c: Likewise.
* gcc.target/i386/sse2-paddq-1.c: Likewise.
* gcc.target/i386/sse2-paddsb-1.c: Likewise.
* gcc.target/i386/sse2-paddsw-1.c: Likewise.
* gcc.target/i386/sse2-paddusb-1.c: Likewise.
* gcc.target/i386/sse2-paddusw-1.c: Likewise.
* gcc.target/i386/sse2-paddw-1.c: Likewise.
* gcc.target/i386/sse2-pand-1.c: Likewise.
* gcc.target/i386/sse2-pandn-1.c: Likewise.
* gcc.target/i386/sse2-pavgb-1.c: Likewise.
* gcc.target/i386/sse2-pavgw-1.c: Likewise.
* gcc.target/i386/sse2-pcmpeqb-1.c: Likewise.
* gcc.target/i386/sse2-pcmpeqd-1.c: Likewise.
* gcc.target/i386/sse2-pcmpeqw-1.c: Likewise.
* gcc.target/i386/sse2-pcmpgtb-1.c: Likewise.
* gcc.target/i386/sse2-pcmpgtd-1.c: Likewise.
* gcc.target/i386/sse2-pcmpgtw-1.c: Likewise.
* gcc.target/i386/sse2-pmaddwd-1.c: Likewise.
* gcc.target/i386/sse2-pmaxsw-1.c: Likewise.
* gcc.target/i386/sse2-pmaxub-1.c: Likewise.
* gcc.target/i386/sse2-pminsw-1.c: Likewise.
* gcc.target/i386/sse2-pminub-1.c: Likewise.
* gcc.target/i386/sse2-pmovmskb-1.c: Likewise.
* gcc.target/i386/sse2-pmulhuw-1.c: Likewise.
* gcc.target/i386/sse2-pmulhw-1.c: Likewise.
* gcc.target/i386/sse2-pmullw-1.c: Likewise.
* gcc.target/i386/sse2-pmuludq-1.c: Likewise.
* gcc.target/i386/sse2-por-1.c: Likewise.
* gcc.target/i386/sse2-psadbw-1.c: Likewise.
* gcc.target/i386/sse2-pshufd-1.c: Likewise.
* gcc.target/i386/sse2-pshufhw-1.c: Likewise.
* gcc.target/i386/sse2-pshuflw-1.c: Likewise.
* gcc.target/i386/sse2-pslld-1.c: Likewise.
* gcc.target/i386/sse2-pslld-2.c: Likewise.
* gcc.target/i386/sse2-pslldq-1.c: Likewise.
* gcc.target/i386/sse2-psllq-1.c: Likewise.
* gcc.target/i386/sse2-psllq-2.c: Likewise.
* gcc.target/i386/sse2-psllw-1.c: Likewise.
* gcc.target/i386/sse2-psllw-2.c: Likewise.
* gcc.target/i386/sse2-psrad-1.c: Likewise.
* gcc.target/i386/sse2-psrad-2.c: Likewise.
* gcc.target/i386/sse2-psraw-1.c: Likewise.
* gcc.target/i386/sse2-psraw-2.c: Likewise.
* gcc.target/i386/sse2-psrld-1.c: Likewise.
* gcc.target/i386/sse2-psrld-2.c: Likewise.
* gcc.target/i386/sse2-psrldq-1.c: Likewise.
* gcc.target/i386/sse2-psrlq-1.c: Likewise.
* gcc.target/i386/sse2-psrlq-2.c: Likewise.
* gcc.target/i386/sse2-psrlw-1.c: Likewise.
* gcc.target/i386/sse2-psrlw-2.c: Likewise.
* gcc.target/i386/sse2-psubb-1.c: Likewise.
* gcc.target/i386/sse2-psubd-1.c: Likewise.
* gcc.target/i386/sse2-psubq-1.c: Likewise.
* gcc.target/i386/sse2-psubsb-1.c: Likewise.
* gcc.target/i386/sse2-psubsw-1.c: Likewise.
* gcc.target/i386/sse2-psubw-1.c: Likewise.
* gcc.target/i386/sse2-punpckhbw-1.c: Likewise.
* gcc.target/i386/sse2-punpckhdq-1.c: Likewise.
* gcc.target/i386/sse2-punpckhqdq-1.c: Likewise.
* gcc.target/i386/sse2-punpckhwd-1.c: Likewise.
* gcc.target/i386/sse2-punpcklbw-1.c: Likewise.
* gcc.target/i386/sse2-punpckldq-1.c: Likewise.
* gcc.target/i386/sse2-punpcklqdq-1.c: Likewise.
* gcc.target/i386/sse2-punpcklwd-1.c: Likewise.
* gcc.target/i386/sse2-pxor-1.c: Likewise.
* gcc.target/i386/sse2-set-epi32-1.c: Likewise.
* gcc.target/i386/sse2-set-epi64x-1.c: Likewise.
* gcc.target/i386/sse2-set-v16qi-1.c: Likewise.
* gcc.target/i386/sse2-set-v16qi-2.c: Likewise.
* gcc.target/i386/sse2-set-v16qi-3.c: Likewise.
* gcc.target/i386/sse2-set-v8hi-1.c: Likewise.
* gcc.target/i386/sse2-set-v8hi-1a.c: Likewise.
* gcc.target/i386/sse2-set-v8hi-2.c: Likewise.
* gcc.target/i386/sse2-set-v8hi-2a.c: Likewise.
* gcc.target/i386/sse2-shufpd-1.c: Likewise.
* gcc.target/i386/sse2-shufps-1.c: Likewise.
* gcc.target/i386/sse2-sqrtpd-1.c: Likewise.
* gcc.target/i386/sse2-subpd-1.c: Likewise.
* gcc.target/i386/sse2-subsd-1.c: Likewise.
* gcc.target/i386/sse2-ucomisd-1.c: Likewise.
* gcc.target/i386/sse2-ucomisd-2.c: Likewise.
* gcc.target/i386/sse2-ucomisd-3.c: Likewise.
* gcc.target/i386/sse2-ucomisd-4.c: Likewise.
* gcc.target/i386/sse2-ucomisd-5.c: Likewise.
* gcc.target/i386/sse2-ucomisd-6.c: Likewise.
* gcc.target/i386/sse2-unpack-1.c: Likewise.
* gcc.target/i386/sse2-unpckhpd-1.c: Likewise.
* gcc.target/i386/sse2-unpcklpd-1.c: Likewise.
* gcc.target/i386/sse2-vec-1.c: Likewise.
* gcc.target/i386/sse2-vec-2.c: Likewise.
* gcc.target/i386/sse2-vec-3.c: Likewise.
* gcc.target/i386/sse2-vec-4.c: Likewise.
* gcc.target/i386/sse2-vec-5.c: Likewise.
* gcc.target/i386/sse2-vec-6.c: Likewise.
* gcc.target/i386/sse2-xorpd-1.c: Likewise.
* gcc.target/i386/ssefn-2.c: Likewise.
* gcc.target/i386/ssefn-4.c: Likewise.
* gcc.target/i386/ssefp-1.c: Likewise.
* gcc.target/i386/ssefp-2.c: Likewise.
* gcc.target/i386/sseregparm-3.c: Likewise.
* gcc.target/i386/sseregparm-4.c: Likewise.
* gcc.target/i386/sseregparm-5.c: Likewise.
* gcc.target/i386/sseregparm-6.c: Likewise.
* gcc.target/i386/sseregparm-7.c: Likewise.
* gcc.target/i386/ssetype-1.c: Likewise.
* gcc.target/i386/ssetype-2.c: Likewise.
* gcc.target/i386/ssetype-3.c: Likewise.
* gcc.target/i386/ssetype-4.c: Likewise.
* gcc.target/i386/ssetype-5.c: Likewise.
* gcc.target/i386/unordcmp-1.c: Likewise.
* gcc.target/i386/vararg-1.c: Likewise.
* gcc.target/i386/vararg-2.c: Likewise.
* gcc.target/i386/vararg-3.c: Likewise.
* gcc.target/i386/vararg-4.c: Likewise.
* gcc.target/i386/vararg-7.c: Likewise.
* gcc.target/i386/vararg-8.c: Likewise.
* gcc.target/i386/vecinit-1.c: Likewise.
* gcc.target/i386/vecinit-2.c: Likewise.
* gcc.target/i386/vecinit-3.c: Likewise.
* gcc.target/i386/vecinit-4.c: Likewise.
* gcc.target/i386/vecinit-5.c: Likewise.
* gcc.target/i386/vecinit-6.c: Likewise.
* gcc.target/i386/vectorize2.c: Likewise.
* gcc.target/i386/vectorize3.c: Likewise.
* gcc.target/i386/vectorize4.c: Likewise.
* gcc.target/i386/vectorize6.c: Likewise.
* gcc.target/i386/vectorize7.c: Likewise.
* gcc.target/i386/vectorize8.c: Likewise.
* gcc.target/i386/vperm-v2df.c: Likewise.
* gcc.target/i386/vperm-v2di.c: Likewise.
* gcc.target/i386/vperm-v4si-1.c: Likewise.
* gcc.target/i386/xorps-sse2.c: Likewise.
* gcc.target/i386/xorps.c: Likewise.
* gfortran.dg/graphite/pr42326-1.f90: Likewise.
* gfortran.dg/graphite/pr42326.f90: Likewise.
* gfortran.dg/vect/fast-math-mgrid-resid.f: Likewise.
From-SVN: r159584
Richard Guenther [Wed, 19 May 2010 15:57:17 +0000 (15:57 +0000)]
re PR lto/44196 (lto1: ICE: tree check: expected field_decl, have type_decl in gimple_types_compatible_p, at gimple.c:3597)
2010-05-19 Richard Guenther <rguenther@suse.de>
PR lto/44196
* tree.c (find_decls_types_r): Walk BLOCKs and its vars.
* g++.dg/lto/
20100519-1_0.C: New testcase.
From-SVN: r159582
Richard Guenther [Wed, 19 May 2010 15:43:22 +0000 (15:43 +0000)]
invoke.texi (-fwhopr): Document new optional jobs argument.
2010-05-19 Richard Guenther <rguenther@suse.de>
* doc/invoke.texi (-fwhopr): Document new optional jobs argument.
* common.opt (fwhopr=): New.
* opts.c (common_handle_option): Handle OPT_fwhopr.
* gcc.c (LINK_COMMAND_SPEC): Pass fwhopr*.
* collect2.c (main): Match -fwhopr*.
* lto-wrapper.c (run_gcc): Handle jobs argument of -fwhopr.
Execute ltrans stage in parallel when jobs is bigger than 1.
From-SVN: r159573
Rainer Orth [Wed, 19 May 2010 15:31:36 +0000 (15:31 +0000)]
configure.ac (libffi_cv_as_x86_pcrel): Check for illegal in as output, too.
* configure.ac (libffi_cv_as_x86_pcrel): Check for illegal in as
output, too.
(libffi_cv_as_ascii_pseudo_op): Check for .ascii.
(libffi_cv_as_string_pseudo_op): Check for .string.
* configure: Regenerate.
* fficonfig.h.in: Regenerate.
* src/x86/sysv.S (.eh_frame): Use .ascii, .string or error.
From-SVN: r159570
Rainer Orth [Wed, 19 May 2010 15:31:00 +0000 (15:31 +0000)]
sfp-machine.h (FP_HANDLE_EXCEPTIONS): Support Sun assembler syntax.
libgcc:
* config/i386/32/sfp-machine.h (FP_HANDLE_EXCEPTIONS): Support Sun
assembler syntax.
gcc:
* config.gcc (i[34567]86-*-solaris2*): Default with_arch_32 to
pentiumpro on Solaris 8/x86 with Sun as.
* configure.ac (gcc_cv_as_hidden): Check for Solaris 9/x86 as
hidden alias bug.
(gcc_cv_as_ix86_quad): Check for .quad directive.
* configure: Regenerate.
* config.in: Regenerate.
* config/i386/sol2.h (ASM_QUAD): Change guard to !HAVE_AS_IX86_QUAD.
From-SVN: r159569
Daniel Franke [Wed, 19 May 2010 13:07:25 +0000 (09:07 -0400)]
re PR fortran/42360 (intent(out)-dummy-not-set warning for types depends on order of component initializers)
gcc/fortran/:
2010-05-19 Daniel Franke <franke.daniel@gmail.com>
PR fortran/42360
* gfortran.h (gfc_has_default_initializer): New.
* expr.c (gfc_has_default_initializer): New.
* resolve.c (has_default_initializer): Removed, use
gfc_has_default_initializer() instead. Updated all callers.
* trans-array.c (has_default_initializer): Removed, use
gfc_has_default_initializer() instead. Updated all callers.
* trans-decl.c (generate_local_decl): Do not check the
first component only to check for initializers, but use
gfc_has_default_initializer() instead.
gcc/testsuite/:
2010-05-19 Daniel Franke <franke.daniel@gmail.com>
PR fortran/42360
* gfortran.dg/warn_intent_out_not_set.f90: New.
From-SVN: r159562
Daniel Franke [Wed, 19 May 2010 12:55:26 +0000 (08:55 -0400)]
re PR fortran/38404 (Warning message identifies incorrect line)
gcc/fortran/:
2010-05-19 Daniel Franke <franke.daniel@gmail.com>
PR fortran/38404
* primary.c (match_string_constant): Move start_locus just inside
the string.
* data.c (create_character_intializer): Clarified truncation warning.
gcc/testsuite/:
2010-05-19 Daniel Franke <franke.daniel@gmail.com>
PR fortran/38404
* gfortran.dg/data_char_1.f90: Updated warning message.
* gfortran.dg/data_array_6.f: New.
From-SVN: r159561
Martin Jambor [Wed, 19 May 2010 11:49:36 +0000 (13:49 +0200)]
ipa-prop.c (ipa_print_node_jump_functions): Print jump functions also for indirect edges.
2010-05-19 Martin Jambor <mjambor@suse.cz>
* ipa-prop.c (ipa_print_node_jump_functions): Print jump functions
also for indirect edges. Actual printing moved...
(ipa_print_node_jump_functions_for_edge): ...here.
(ipa_compute_jump_functions): Renamed to
ipa_compute_jump_functions_for_edge and made static.
(ipa_compute_jump_functions): New function.
(make_edge_direct_to_target): Check if the number of arguments on
the newly direct edge is the same as the number of parametrs of
the callee.
* ipa-cp.c (ipcp_init_stage): Most functionality moved to new
ipa_compute_jump_functions. Call ipa_analyze_params_uses.
* ipa-inline.c (inline_indirect_intraprocedural_analysis): Call
analysis functions unconditionally, call the new
ipa_analyze_params_uses on the node instead of every edge.
* testsuite/g++.dg/ipa/ivinline-8.C: New test.
* testsuite/gcc.dg/ipa/iinline-2.c: New test.
From-SVN: r159559
Daniel Franke [Wed, 19 May 2010 11:43:53 +0000 (07:43 -0400)]
re PR fortran/34505 (FLOAT/SNGL: Not accepted as actual argument; diagnostics problems)
gcc/fortran/:
2010-05-19 Daniel Franke <franke.daniel@gmail.com>
PR fortran/34505
* intrinsic.h (gfc_check_float): New prototype.
(gfc_check_sngl): New prototype.
* check.c (gfc_check_float): New.
(gfc_check_sngl): New.
* intrinsic.c (add_functions): Moved DFLOAT from aliasing DBLE
to be a specific for REAL. Added check routines for FLOAT, DFLOAT
and SNGL.
* intrinsic.texi: Removed individual nodes of FLOAT, DFLOAT and SNGL,
added them to the list of specifics of REAL instead.
gcc/testsuite/:
2010-05-19 Daniel Franke <franke.daniel@gmail.com>
PR fortran/34505
* gfortran.dg/dfloat_1.f90: Add warnings for non-default kind
arguments; add check for return value kind.
* gfortran.dg/float_1.f90: Likewise.
From-SVN: r159558
Christian Borntraeger [Wed, 19 May 2010 10:36:40 +0000 (10:36 +0000)]
tree-ssa-loop-prefetch.c (mem_ref_group, ar_data): Change step to tree.
2010-05-19 Christian Borntraeger <borntraeger@de.ibm.com>
* tree-ssa-loop-prefetch.c (mem_ref_group, ar_data): Change step
to tree.
(dump_mem_ref): Adopt debug code to handle a tree as step. This
also checks for a constant int vs. non-constant but
loop-invariant steps.
(find_or_create_group): Change the sort algorithm to only consider
steps that are constant ints.
(idx_analyze_ref): Adopt code to handle a tree instead of a
HOST_WIDE_INT for step.
(gather_memory_references_ref): Handle tree instead of int and be
prepared to see a NULL_TREE.
(prune_ref_by_self_reuse, prune_ref_by_group_reuse): Do not prune
prefetches if the step cannot be calculated at compile time.
(issue_prefetch_ref): Issue prefetches for non-constant but
loop-invariant steps.
From-SVN: r159557
Nathan Froyd [Wed, 19 May 2010 01:15:43 +0000 (01:15 +0000)]
* expr.c (pop_arguments): Fix use of undeclared variable.
From-SVN: r159555
Nathan Froyd [Wed, 19 May 2010 00:43:27 +0000 (00:43 +0000)]
Revert:
2010-05-18 Nathan Froyd <froydnj@codesourcery.com>
* tree.h (build_call_list): Remove.
* tree.c (build_call_list): Remove.
From-SVN: r159554
GCC Administrator [Wed, 19 May 2010 00:18:01 +0000 (00:18 +0000)]
Daily bump.
From-SVN: r159553
Eelis van der Weegen [Tue, 18 May 2010 23:58:50 +0000 (23:58 +0000)]
re PR libstdc++/44190 (Debug vector resize does not update capacity)
2010-05-18 Eelis van der Weegen <gcc-bugzilla@contacts.eelis.net>
PR libstdc++/44190
* include/debug/vector (vector<>::resize): Call
_M_update_guaranteed_capacity.
* testsuite/23_containers/vector/capacity/44190.cc: New.
From-SVN: r159549
Nathan Froyd [Tue, 18 May 2010 23:45:21 +0000 (23:45 +0000)]
tree.h (build_call_list): Remove.
gcc/
* tree.h (build_call_list): Remove.
* tree.c (build_call_list): Remove.
gcc/ada/
* gcc-interface/trans.c (call_to_gnu): Use build_call_vec instead of
build_call_list.
* gcc-interface/utils.c (build_function_stub): Likewise.
gcc/cp/
* tree.c (build_min_non_dep_call_vec): Update comment.
gcc/java/
* expr.c (expand_java_multianewarray): Use build_call_vec instead of
build_call_list.
(pop_arguments): Return a VEC instead of a tree. Take a method type
rather than a list of argument types.
(rewrite_rule): Change signature. of rewrite_arglist member.
(rewrite_arglist_getcaller): Update signature.
(rewrite_arglist_getclass): Likewise.
(maybe_rewrite_invocation): Update for rewrite_arglist change.
(build_known_method_ref): Take a VEC instead of a tree.
(invoke_build_dtable): Likewise.
(expand_invoke): Update calls to pop_arguments. Use build_call_vec
instead of build_call_list.
(build_jni_stub): Use build_call_vec instead of build_call_list.
* java-tree.h (maybe_rewrite_invocation): Update declaration.
(build_known_method_ref): Likewise.
(invoke_build_dtable): Likewise.
From-SVN: r159548
Jan Hubicka [Tue, 18 May 2010 22:37:32 +0000 (00:37 +0200)]
* ipa-reference.c (propagate): Walk all nodes in the cleanup stage.
From-SVN: r159546
Vladimir Makarov [Tue, 18 May 2010 22:09:19 +0000 (22:09 +0000)]
re PR rtl-optimization/43332 (valgrind warns about using uninitialized variable with -fsched-pressure -fschedule-insns)
2010-05-18 Vladimir Makarov <vmakarov@redhat.com>
PR rtl-optimization/43332
* haifa-sched.c (setup_insn_max_reg_pressure): Check barrier.
From-SVN: r159545
Anatoly Sokolov [Tue, 18 May 2010 20:54:59 +0000 (00:54 +0400)]
tree.h (build_int_cstu): Implement as static inline.
* tree.h (build_int_cstu): Implement as static inline.
* tree.c (build_int_cstu): Remove function.
(double_int_to_tree, double_int_fits_to_tree_p): Handle size types as
sign extended.
From-SVN: r159544
Rainer Orth [Tue, 18 May 2010 19:05:09 +0000 (19:05 +0000)]
20011009-1.c (COMMENT): Define.
* gcc.target/i386/
20011009-1.c (COMMENT): Define.
(main): Use it.
* gcc.target/i386/pr25993.c [__sun__]: Use .globl.
* lib/lto.exp (lto_prune_warns): Fix location line regex.
Prune another location line format.
(lto-obj): Call lto_prune_warns on comp_output.
From-SVN: r159538
Richard Guenther [Tue, 18 May 2010 15:11:01 +0000 (15:11 +0000)]
re PR lto/44143 (-fdump-tree-all for lto does not work as expected)
2010-05-18 Richard Guenther <rguenther@suse.de>
PR lto/44143
* lto-wrapper.c (verbose): New variable. Initialize from -v.
(debug): Initialize from -save-temps.
(collect_execute): Print command-line when verbose.
(run_gcc): Always use COLLECT_GCC_OPTIONS. Use fork_execute
for ltrans invocation. Produce -dumpbase flag again.
(process_args): Remove.
(main): Simplify.
* collect2.c (maybe_run_lto_and_relink): Only pass object
files to lto-wrapper.
* gcc.c (LINK_COMMAND_SPEC): Likewise.
From-SVN: r159536
Jan Hubicka [Tue, 18 May 2010 14:37:30 +0000 (16:37 +0200)]
ipacp_0.c: New test.
* gcc.dg/lto/ipacp_0.c: New test.
* gcc.dg/lto/ipacp_1.c: New test.
* opts.c (decode_options): Do not disable whopr at ipa_cp.
* ipa-prop.c (ipa_detect_param_modifications): Walk PHI nodes too.
From-SVN: r159535
Steven Bosscher [Tue, 18 May 2010 14:13:10 +0000 (14:13 +0000)]
fix broken checkin, test should be link not assemble
From-SVN: r159533
Steven Bosscher [Tue, 18 May 2010 13:51:50 +0000 (13:51 +0000)]
re PR lto/44184 ("asm goto" does not work with LTO)
gcc/
PR lto/44184
* lto-streamer-out.c (output_gimple_stmt): Output number of labels
in a GIMPLE_ASM.
* lto-streamer-in.c (input_gimple_stmt): Read number of labels
in a GIMPLE_ASM.
testsuite/
PR lto/44184
* gcc.dg/lto/20100518_0.c: New test.
From-SVN: r159531
Jakub Jelinek [Tue, 18 May 2010 09:35:52 +0000 (11:35 +0200)]
re PR debug/41371 (var-tracking is slow and memory hungry)
PR debug/41371
* var-tracking.c (find_loc_in_1pdv): Add a few checks from
rtx_equal_p inline.
From-SVN: r159528
Steven Bosscher [Tue, 18 May 2010 08:12:56 +0000 (08:12 +0000)]
add lto to powerpc-*darwin and enable for 32bit darwin
Steven Bosscher <steven@gcc.gnu.org>
ChangeLog:
* configure.ac (--enable-lto): All *-apple-darwin* now support LTO.
* configure: Regenerate.
gcc/ChangeLog:
* config.gcc (powerpc-*-darwin*, powerpc64-*-darwin*): Add
lto-macho as lto_binary_reader.
* darwin.c (darwin_asm_named_section): Do not add assembler comment
after .section directive; just print it before the directive instead.
M gcc/config.gcc
M gcc/config/darwin.c
M ChangeLog
M gcc/ChangeLog
From-SVN: r159527
Eric Botcazou [Tue, 18 May 2010 07:10:11 +0000 (07:10 +0000)]
* gnat.dg/specs/lto3.ads: Add missing dg-options.
From-SVN: r159525
GCC Administrator [Tue, 18 May 2010 00:17:30 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r159523
Jan Hubicka [Mon, 17 May 2010 23:12:14 +0000 (01:12 +0200)]
cgraph.c (cgraph_create_virtual_clone): Only check versionable_function_p when not in wpa and checking is enabled.
* cgraph.c (cgraph_create_virtual_clone): Only check
versionable_function_p when not in wpa and checking is enabled.
* cgrpahunit.c (cgraph_materialize_all_clones): Stabilize after
there are no more functions to materialize.
* lto/lto.c (lto_1_to_1_map): Partition non-inline clones.
(lto_promote_cross_file_statics): Deal with non-inline clones.
From-SVN: r159518
Jan Hubicka [Mon, 17 May 2010 23:02:47 +0000 (01:02 +0200)]
cgraph.h (struct ipa_replace_map): Add parm_num parameter.
* cgraph.h (struct ipa_replace_map): Add parm_num parameter.
* lto-cgraph.c (output_cgraph_opt_summary, input_cgraph_opt_summary):
New functions.
(output_cgraph): Call output_cgraph_opt_summary.
(input_cgrpah): Call input_cgraph_opt_summary.
(output_cgraph_opt_summary_p, output_node_opt_summary,
input_node_opt_summary, input_cgraph_opt_section): New functions.
* lto-section-in.c (lto_section_name): Add cgraphopt.
* tree-inline.c (tree_function_versioning): Handle parm_num.
* lto-streamer.c (lto_get_section_name): Handle cgraphopt.
* lto-streamer.h (lto_section_type): Add LTO_section_cgraph_opt_sum.
From-SVN: r159517
Jan Hubicka [Mon, 17 May 2010 22:42:02 +0000 (00:42 +0200)]
lto.c (lto_materialize_function): Announce function when reading body...
* lto.c (lto_materialize_function): Announce function when
reading body; allocate_struct_function only when reading body;
do not finalize local statics; ggc_collect after reading;
do not mark reachable node.
(materialize_cgraph): Do not announce function.
From-SVN: r159516
Changpeng Fang [Mon, 17 May 2010 22:34:03 +0000 (22:34 +0000)]
Also apply the insn to prefetch ratio heuristic to loops with known trip count.
2010-05-17 Changpeng Fang <changpeng.fang@amd.com>
* doc/invoke.texi: Update documentation for min-insn-to-prefetch-ratio.
* tree-ssa-loop-prefetch.c (is_loop_prefetching_profitable): Also apply
the insn to prefetch ratio heuristic to loops with known trip count.
From-SVN: r159515
Changpeng Fang [Mon, 17 May 2010 22:33:53 +0000 (22:33 +0000)]
Define PREFETCH_MOD_TO_UNROLL_FACTOR_RATIO heuristic.
2010-05-17 Changpeng Fang <changpeng.fang@amd.com>
* tree-ssa-loop-prefetch.c (PREFETCH_MOD_TO_UNROLL_FACTOR_RATIO): New.
(schedule_prefetches): Do not generate a prefetch if the unroll factor
is far from what is required by the prefetch.
From-SVN: r159514
Jan Hubicka [Mon, 17 May 2010 22:13:07 +0000 (00:13 +0200)]
ipa-cp.c (ipcp_update_callgraph): Use ipa_is_param_used.
* ipa-cp.c (ipcp_update_callgraph): Use ipa_is_param_used.
(ipcp_estimate_growth): Likewise.
(ipcp_const_param_count): Likewise.
(ipcp_insert_stage): Likewise.
* ipa-prop.c (visit_load_for_mod_analysis): New function.
(visit_store_addr_for_mod_analysis): Set used flag.
(ipa_detect_param_modifications): Set used flag for SSE params;
update use of walk_stmt_load_store_addr_ops.
(ipa_print_node_params): Print used flag.
(ipa_write_node_info): Stream used flag.
(ipa_read_node_info): Likewise.
* ipa-prop.h (struct ipa_param_descriptor): Add used field.
(ipa_is_param_used): New function.
(lto_ipa_fixup_call_notes): Remove unused declaration.
From-SVN: r159513
Rainer Orth [Mon, 17 May 2010 20:28:56 +0000 (20:28 +0000)]
re PR target/44074 (Solaris 2.9 x86 Sun assembler doesn't like rep/lock prefixes on same line)
PR target/44074
* configure.ac (HAVE_AS_IX86_REP_LOCK_PREFIX): New test.
* configure: Regenerate.
* config.in: Regenerate.
* config/i386/i386.c (print_operand) <case ;>: Also print ; if
!HAVE_AS_IX86_REP_LOCK_PREFIX.
Don't emit whitespace.
* config/i386/i386.md (*rep_movdi_rex64): Use {%;} after rep.
(*rep_movsi): Likewise.
(*rep_movsi_rex64): Likewise.
(*rep_movqi): Likewise.
(*rep_movqi_rex64): Likewise.
(*rep_stosdi_rex64): Likewise.
(*rep_stossi): Likewise.
(*rep_stossi_rex64): Likewise.
(*rep_stosqi): Likewise.
(*rep_stosqi_rex64): Likewise.
(*cmpstrnqi_nz_1): Use {%;} after repz.
(*cmpstrnqi_nz_rex_1): Likewise.
(*cmpstrnqi_1): Likewise.
(*cmpstrnqi_rex_1): Likewise.
(*strlenqi_1): Use {%;} after repnz.
(*strlenqi_rex_1): Likewise.
* config/i386/sync.md (memory_barrier_nosse): Replace {%;| } by {%;} .
(*sync_compare_and_swap<mode>): Likewise.
(sync_double_compare_and_swap<mode>): Likewise.
(*sync_double_compare_and_swapdi_pic): Likewise.
(sync_old_add<mode>): Likewise.
(sync_add<mode>): Likewise.
(sync_sub<mode>): Likewise.
(sync_<code><mode>): Likewise.
From-SVN: r159512
Janus Weil [Mon, 17 May 2010 19:58:48 +0000 (21:58 +0200)]
re PR fortran/43990 ([OOP] ICE in output_constructor_regular_field, at varasm.c:4995)
2010-05-17 Janus Weil <janus@gcc.gnu.org>
PR fortran/43990
* trans-expr.c (gfc_conv_structure): Remove unneeded and buggy code.
This is now handled via 'gfc_class_null_initializer'.
2010-05-17 Janus Weil <janus@gcc.gnu.org>
PR fortran/43990
* gfortran.dg/class_21.f03: New.
From-SVN: r159511
Jason Merrill [Mon, 17 May 2010 19:54:05 +0000 (15:54 -0400)]
call.c (struct z_candidate): Add explicit_targs field.
* call.c (struct z_candidate): Add explicit_targs field.
(add_template_candidate_real): Set it.
(build_over_call): Use it to control init-list warning.
From-SVN: r159510
Jason Merrill [Mon, 17 May 2010 19:53:55 +0000 (15:53 -0400)]
re PR c++/44157 ([C++0x] GCC wrongly takes a std::initializer_list argument as non-deduced context)
PR c++/44157
* call.c (build_over_call): Limit init-list deduction warning to
cases where the argument is actually an init-list.
From-SVN: r159509
Jason Merrill [Mon, 17 May 2010 19:53:45 +0000 (15:53 -0400)]
re PR c++/44158 ([C++0x] wrong overload resolution for copy-initialization from an rvalue)
PR c++/44158
* call.c (build_over_call): Don't do bitwise copy for move ctor.
From-SVN: r159508
Martin Jambor [Mon, 17 May 2010 19:43:40 +0000 (21:43 +0200)]
cgraph.h (cgraph_indirect_call_info): New fields anc_offset, otr_token and polymorphic.
2010-05-17 Martin Jambor <mjambor@suse.cz>
* cgraph.h (cgraph_indirect_call_info): New fields anc_offset,
otr_token and polymorphic.
* cgraph.c (cgraph_create_indirect_edge): Inilialize the above fields.
(cgraph_clone_edge): Copy the above fields.
* tree.c (get_binfo_at_offset): New function.
* tree.h (get_binfo_at_offset): Declare.
* ipa-prop.h (enum jump_func_type): Added known_type jump function
type, reordered items, updated comments.
(union jump_func_value): Added base_type field, reordered fields.
(enum ipa_lattice_type): Moved down in the file.
(struct ipa_param_descriptor): New field polymorphic.
(ipa_is_param_polymorphic): New function.
* ipa-prop.c: Include gimple.h and gimple-fold.h.
(ipa_print_node_jump_functions): Print known type jump functions.
(compute_complex_pass_through): Renamed to...
(compute_complex_assign_jump_func): this.
(compute_complex_ancestor_jump_func): New function.
(compute_known_type_jump_func): Likewise.
(compute_scalar_jump_functions): Create known type and complex ancestor
jump functions.
(ipa_note_param_call): New parameter polymorphic, set the corresponding
flag in the call note accordingly.
(ipa_analyze_call_uses): Renamed to...
(ipa_analyze_indirect_call_uses): this. New parameter target, define
variable var only in the block where it is used.
(ipa_analyze_virtual_call_uses): New function.
(ipa_analyze_call_uses): Likewise.
(combine_known_type_and_ancestor_jfs): Likewise.
(update_jump_functions_after_inlining): Implemented handling of a
number of new jump function types combination.
(print_edge_addition_message): Removed.
(make_edge_direct_to_target): New function.
(try_make_edge_direct_simple_call): Likewise.
(try_make_edge_direct_virtual_call): Likewise.
(update_call_notes_after_inlining): Renamed to...
(update_indirect_edges_after_inlining): this. Moved edge creation for
indirect calls to try_make_edge_direct_simple_call, also calls
try_make_edge_direct_virtual_call for virtual calls.
(ipa_print_node_params): Changed the header message.
(ipa_write_jump_function): Stream also known type jump functions.
(ipa_read_jump_function): Likewise.
(ipa_write_indirect_edge_info): Stream new fields in
cgraph_indirect_call_info.
(ipa_read_indirect_edge_info): Likewise.
* Makefile.in (ipa-prop.o): Add dependency to GIMPLE_H and
GIMPLE_FOLD_H.
* testsuite/g++.dg/ipa/ivinline-1.C: New test.
* testsuite/g++.dg/ipa/ivinline-2.C: New test.
* testsuite/g++.dg/ipa/ivinline-3.C: New test.
* testsuite/g++.dg/ipa/ivinline-4.C: New test.
* testsuite/g++.dg/ipa/ivinline-5.C: New test.
* testsuite/g++.dg/ipa/ivinline-6.C: New test.
From-SVN: r159507
Janus Weil [Mon, 17 May 2010 18:45:32 +0000 (20:45 +0200)]
class.c (gfc_add_component_ref,gfc_class_null_initializer, [...]): Moved here from other places.
2010-05-17 Janus Weil <janus@gcc.gnu.org>
* class.c (gfc_add_component_ref,gfc_class_null_initializer,
gfc_build_class_symbol,add_proc_component,add_proc_comps,
add_procs_to_declared_vtab1,copy_vtab_proc_comps,
add_procs_to_declared_vtab,add_generic_specifics,
add_generics_to_declared_vtab,gfc_find_derived_vtab,
find_typebound_proc_uop,gfc_find_typebound_proc,
gfc_find_typebound_user_op,gfc_find_typebound_intrinsic_op,
gfc_get_tbp_symtree): Moved here from other places.
* expr.c (gfc_add_component_ref,gfc_class_null_initializer): Move to
class.c.
* gfortran.h (gfc_build_class_symbol,gfc_find_derived_vtab,
gfc_find_typebound_proc,gfc_find_typebound_user_op,
gfc_find_typebound_intrinsic_op,gfc_get_tbp_symtree,
gfc_add_component_ref, gfc_class_null_initializer): Moved to class.c.
* Make-lang.in: Add class.o.
* symbol.c (gfc_build_class_symbol,add_proc_component,add_proc_comps,
add_procs_to_declared_vtab1,copy_vtab_proc_comps,
add_procs_to_declared_vtab,add_generic_specifics,
add_generics_to_declared_vtab,gfc_find_derived_vtab,
find_typebound_proc_uop,gfc_find_typebound_proc,
gfc_find_typebound_user_op,gfc_find_typebound_intrinsic_op,
gfc_get_tbp_symtree): Move to class.c.
From-SVN: r159506
Rainer Orth [Mon, 17 May 2010 18:19:17 +0000 (18:19 +0000)]
Forgot ChangeLog entry for last commit.
From-SVN: r159504
Rainer Orth [Mon, 17 May 2010 18:18:08 +0000 (18:18 +0000)]
* config/i386/sol2.h (TARGET_SUN_TLS): Remove duplicate definition.
From-SVN: r159503
Nathan Froyd [Mon, 17 May 2010 18:16:27 +0000 (18:16 +0000)]
tree.h (CALL_EXPR_ARGS): Delete.
* tree.h (CALL_EXPR_ARGS): Delete.
(call_expr_arglist): Delete.
* tree.c (call_expr_arglist): Delete.
* builtins.c (fold_call_expr): Pass the whole CALL_EXPR to
targetm.fold_builtin.
* config/alpha/alpha.c (alpha_fold_builtin): Rename arglist parameter.
Rewrite iteration to work on call_expr_nargs rather than TREE_CHAIN.
* config/picochip/picochip.c (picochip_expand_builtin_2op): Rename
arglist parameter. Use CALL_EXPR_ARG.
(picochip_expand_builtin_3op): Likewise.
(picochip_expand_builtin_2opvoid): Likewise.
(picochip_expand_array_get): Likewise.
(picochip_expand_array_put): Likewise.
(picochip_expand_array_testport): Likewise.
(picochip_expand_builtin): Don't call CALL_EXPR_ARGS. Pass exp
rather than arglist.
* config/rx/rx.c (rx_expand_builtin): Call call_expr_nargs instead of
CALL_EXPR_ARGS.
* config/sparc/sparc.c (sparc_fold_builtin): Use CALL_EXPR_ARG rather
than TREE_VALUE and TREE_CHAIN.
* config/xtensa/xtensa.c (xtensa_fold_builtin): Likewise.
* doc/tm.texi (TARGET_FOLD_BUILTIN): Pass CALL_EXPR tree instead of
the arglist.
From-SVN: r159502
Dodji Seketeli [Mon, 17 May 2010 17:24:32 +0000 (17:24 +0000)]
re PR c++/44108 (-Wunused-but-set-variable does not consider array sizing use of a const variable)
PR c++/44108
* decl.c (compute_array_index_type): Call mark_rvalue_use.
* c-c++-common/Wunused-var-8.c: New test.
Co-Authored-By: Jason Merrill <jason@redhat.com>
From-SVN: r159497
Jakub Jelinek [Mon, 17 May 2010 17:19:46 +0000 (19:19 +0200)]
re PR bootstrap/42347 (sched-deps.c:3840:1: internal compiler error: in fixup_reorder_chain, at cfglayout.c:796)
PR bootstrap/42347
* cfglayout.c (fixup_reorder_chain): Allow returnjump_p
to have no fallthru edge.
* gcc.c-torture/compile/pr42347.c: New test.
From-SVN: r159496
Jakub Jelinek [Mon, 17 May 2010 17:18:24 +0000 (19:18 +0200)]
re PR middle-end/44102 (ICE with asm goto + __builtin_unreachable () in C++)
PR middle-end/44102
* cfgcleanup.c (try_optimize_cfg): When removing trivially empty
bb with no successors, move footer whenever in IR_RTL_CFGLAYOUT
mode, not just when CLEANUP_CFGLAYOUT, and when in IR_RTL_CFGRTL
add BARRIER after previous bb if needed.
* g++.dg/ext/asmgoto1.C: New test.
From-SVN: r159495
Nathan Froyd [Mon, 17 May 2010 16:28:51 +0000 (16:28 +0000)]
fix ChangeLog entries for previous commits
From-SVN: r159494
Nathan Froyd [Mon, 17 May 2010 16:10:31 +0000 (16:10 +0000)]
fix bogus email for myself
From-SVN: r159492
Nathan Froyd [Mon, 17 May 2010 16:09:35 +0000 (16:09 +0000)]
tree.c (build_function_type_list_1): Remove bogus assert condition.
gcc/
* tree.c (build_function_type_list_1): Remove bogus assert condition.
gcc/fortran/
* trans-types.c (gfc_init_types): Use build_function_type_list.
(gfc_get_ppc_type): Likewise.
* trans-decl.c (gfc_generate_constructors): Likewise.
* f95-lang.c (build_builtin_fntypes): Likewise.
(gfc_init_builtin_functions): Likewise.
(DEF_FUNCTION_TYPE_0): Likewise.
(DEF_FUNCTION_TYPE_1): Likewise.
(DEF_FUNCTION_TYPE_2): Likewise.
(DEF_FUNCTION_TYPE_3): Likewise.
(DEF_FUNCTION_TYPE_4): Likewise.
(DEF_FUNCTION_TYPE_5): Likewise.
(DEF_FUNCTION_TYPE_6): Likewise.
(DEF_FUNCTION_TYPE_7): Likewise. Use ARG7.
(DEF_FUNCTION_TYPE_VAR_0): Use build_varags_function_type_list.
From-SVN: r159491
Nathan Froyd [Mon, 17 May 2010 16:03:46 +0000 (16:03 +0000)]
trans-array.c (gfc_trans_array_constructor_value): Use build_constructor instead of build_constructor_from_list.
* trans-array.c (gfc_trans_array_constructor_value): Use
build_constructor instead of build_constructor_from_list.
(gfc_build_constant_array_constructor): Likewise.
* trans-decl.c (create_main_function): Likewise.
* trans-stmt.c (gfc_trans_character_select): Likewise.
From-SVN: r159490
Alan Modra [Mon, 17 May 2010 13:34:23 +0000 (23:04 +0930)]
rs6000.c (rs6000_emit_allocate_stack): Delete unnecessary prototype.
* config/rs6000/rs6000.c (rs6000_emit_allocate_stack): Delete
unnecessary prototype. Replace copy_r12 and copy_r11 flag params
with copy_reg rtx param.
(rs6000_emit_prologue): Update rs6000_emit_allocate_stack calls.
Correct cases where code for ABI_V4 did not initialise the reg
used to access frame. Also leave frame_reg_rtx as sp for large
frames that save no regs.
From-SVN: r159483
Martin Jambor [Mon, 17 May 2010 12:48:34 +0000 (14:48 +0200)]
re PR middle-end/44133 (Uninit warning regression with new SRA)
2010-05-17 Martin Jambor <mjambor@suse.cz>
PR middle-end/44133
* tree-sra.c (create_access_replacement): New parameter rename, mark
the replaement for renaming only when it is true.
(get_access_replacement): Pass true in the rename parameter of
create_access_replacement.
(get_unrenamed_access_replacement): New function.
(replace_uses_with_default_def_ssa_name): New parameter racc, get the
replacement declaration from it.
* testsuite/gcc.dg/tree-ssa/pr44133.c: New test.
* testsuite/gcc.dg/tree-ssa/sra-9.c: Make the scan regular
expression more precise.
From-SVN: r159482
Bernd Schmidt [Mon, 17 May 2010 11:16:00 +0000 (11:16 +0000)]
function.c (try_fit_stack_local, [...]): New static functions.
* function.c (try_fit_stack_local, add_frame_space): New static
functions.
(assign_stack_local_1): Use them. Look for opportunities to use
space previously wasted on alignment.
* function.h (struct frame_space): New.
(struct rtl_data): Add FRAME_SPACE_LIST member.
* reload1.c (something_was_spilled): New static variable.
(alter_reg): Set it.
(reload): Test it in addition to testing if the frame size changed.
From-SVN: r159480
Paolo Carlini [Mon, 17 May 2010 10:19:31 +0000 (10:19 +0000)]
functional (result_of): Move...
2010-05-17 Paolo Carlini <paolo.carlini@oracle.com>
* include/std/functional (result_of): Move...
* include/std/type_traits: ... here.
* testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error
line number.
From-SVN: r159478
Janus Weil [Mon, 17 May 2010 08:25:06 +0000 (10:25 +0200)]
re PR fortran/44044 ([OOP] SELECT TYPE with class-valued function)
2010-05-17 Janus Weil <janus@gcc.gnu.org>
PR fortran/44044
* resolve.c (resolve_fl_var_and_proc): Move error messages here from ...
(resolve_fl_variable_derived): ... this place.
(resolve_symbol): Make sure function symbols (and their result
variables) are not resolved twice.
2010-05-17 Janus Weil <janus@gcc.gnu.org>
PR fortran/44044
* gfortran.dg/class_20.f03: New.
From-SVN: r159476
Christian Borntraeger [Mon, 17 May 2010 07:53:20 +0000 (07:53 +0000)]
re PR middle-end/44078 (FAIL: gcc.dg/tree-ssa/prefetch-7.c)
2010-05-17 Christian Borntraeger <borntraeger@de.ibm.com>
PR 44078
* gcc.dg/tree-ssa/prefetch-7.c: Change pattern to match only the old
debug messages but not the newly introduced one.
From-SVN: r159475
Christian Borntraeger [Mon, 17 May 2010 07:52:27 +0000 (07:52 +0000)]
s390.c: Define sane prefetch settings and activate flag_prefetch_loop_arrays on -O3.
2010-05-17 Christian Borntraeger <borntraeger@de.ibm.com>
* config/s390/s390.c: Define sane prefetch settings and activate
flag_prefetch_loop_arrays on -O3.
* config/s390/s390.h: Declare that read can use write prefetch.
From-SVN: r159474
Jakub Jelinek [Mon, 17 May 2010 07:32:44 +0000 (09:32 +0200)]
lto-streamer-out.c (lto_output): Fix --enable-checking=release build.
* lto-streamer-out.c (lto_output): Fix --enable-checking=release
build.
From-SVN: r159473
Jan Hubicka [Mon, 17 May 2010 07:01:26 +0000 (09:01 +0200)]
ipa-cp.c (ipcp_versionable_function_p): Walk cgraph edges instead of function body...
* ipa-cp.c (ipcp_versionable_function_p): Walk cgraph edges instead of
function body; do not check stdarg field of struct function.
From-SVN: r159472
GCC Administrator [Mon, 17 May 2010 00:16:57 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r159471
Jan Hubicka [Sun, 16 May 2010 22:24:26 +0000 (00:24 +0200)]
cgraph.c (dump_cgraph_node): Dump versionable flag.
* cgraph.c (dump_cgraph_node): Dump versionable flag.
* cgraph.h (cgraph_local_info): Add versionable flag.
* ipa-cp.c (ipcp_analyze_node): Set versionable flag.
(ipcp_versionable_function_p): Use it.
* lto-cgraph.c (lto_output_node, input_overwrite_node): Stream
versionable flag.
From-SVN: r159467
Jan Hubicka [Sun, 16 May 2010 21:49:36 +0000 (23:49 +0200)]
cgraph.c (cgraph_clone_node): Take decl argument and insert clone into hash when it is different from orig.
* cgraph.c (cgraph_clone_node): Take decl argument and insert
clone into hash when it is different from orig.
(cgraph_create_virtual_clone): Update use of cgraph_clone_node.
* cgraph.h (cgraph_clone_node): Update prototype.
* lto-cgrpah.c (lto_cgraph_encoder_new): Create body map.
(lto_cgraph_encoder_delete): Delete body map.
(lto_cgraph_encoder_size): Move to header.
(lto_cgraph_encoder_encode_body_p, lto_set_cgraph_encoder_encode_body): New.
(lto_output_node): Do not take written_decls argument; output clone_of
pointer.
(add_node_to): Add include_body_argument; call
lto_set_cgraph_encoder_encode_body on master of the clone.
(add_references): Update use of add_node_to.
(compute_ltrans_boundary): Likewise.
(output_cgraph): Do not create written_decls bitmap.
(input_node): Take nodes argument; stream in clone_of correctly.
(input_cgraph_1): Update use of input_node.
* lto-streamer-out.c (lto_output): Use encoder info to decide
what bodies to output.
* ipa-inline.c (cgraph_clone_inlined_nodes,
cgraph_decide_recursive_inlining): Update call of cgraph_clone_node.
* lto-streamer.h (lto_cgraph_encoder_d): Add body.
(lto_cgraph_encoder_size): Define here.
(lto_cgraph_encoder_encode_body_p, lto_varpool_encoder_encode_body_p):
Declare.
From-SVN: r159466
Daniel Franke [Sun, 16 May 2010 20:01:06 +0000 (16:01 -0400)]
re PR fortran/35779 (error pointer wrong in PARAMETER)
gcc/fortran/:
2010-05-16 Daniel Franke <franke.daniel@gmail.com>
PR fortran/35779
* array.c (match_array_list): Revert functional change of 2010-05-13.
gcc/fortran/:
2010-05-16 Daniel Franke <franke.daniel@gmail.com>
PR fortran/35779
* gfortran.dg/initialization_25.f90: Commented testcase.
* gfortran.dg/initialization_26.f90: New.
From-SVN: r159465
Richard Guenther [Sun, 16 May 2010 19:56:44 +0000 (19:56 +0000)]
invoke.texi (-fipa-struct-reorg): Do not mention -fipa-type-escape.
2010-05-16 Richard Guenther <rguenther@suse.de>
* doc/invoke.texi (-fipa-struct-reorg): Do not mention
-fipa-type-escape.
* ipa-type-escape.c (gate_type_escape_vars): Run when
-fipa-struct-reorg runs.
* opts.c (decode_options): Do not unset flag_ipa_type_escape.
* common.opt (fipa-type-escape): Remove.
* gcc.dg/pr43317.c: Do not pass -fipa-type-escape.
* gcc.dg/pr43084.c: Likewise.
* gcc.dg/pr42250.c: Pass -fipa-struct-reorg instead of
-fipa-type-escape.
* gcc.dg/struct/wo_prof_escape_arg_to_local.c: Do not pass
-fipa-type-escape.
* gcc.dg/struct/struct-reorg.exp: Likewise.
* gcc.dg/struct/wo_prof_empty_str.c: Likewise.
* gcc.dg/struct/wo_prof_escape_return.c: Likewise.
From-SVN: r159464
Eric Botcazou [Sun, 16 May 2010 18:46:16 +0000 (18:46 +0000)]
opts.c (handle_option): Call into LTO streamer only if ENABLE_LTO.
* opts.c (handle_option): Call into LTO streamer only if ENABLE_LTO.
(decode_options): Likewise.
* Makefile.in (opts.o): Add dependency on LTO_STREAMER_H.
From-SVN: r159463
Richard Guenther [Sun, 16 May 2010 17:27:09 +0000 (17:27 +0000)]
trans-decl.c (module_htab_decls_hash): Revert last change.
2010-05-16 Richard Guenther <rguenther@suse.de>
* trans-decl.c (module_htab_decls_hash): Revert last change.
From-SVN: r159462
Jan Hubicka [Sun, 16 May 2010 17:26:55 +0000 (19:26 +0200)]
ipa.c (function_and_variable_visibility): Also bring local all aliases.
* ipa.c (function_and_variable_visibility): Also bring local all
aliases.
From-SVN: r159461
Richard Guenther [Sun, 16 May 2010 17:15:30 +0000 (17:15 +0000)]
alias.c (nonoverlapping_memrefs_p): Remove use of IPA type-escape information.
2010-05-16 Richard Guenther <rguenther@suse.de>
* alias.c (nonoverlapping_memrefs_p): Remove use of
IPA type-escape information.
From-SVN: r159460
Joseph Myers [Sun, 16 May 2010 16:55:16 +0000 (17:55 +0100)]
c-common.c (c_common_reswords): Add _Static_assert for C.
* c-common.c (c_common_reswords): Add _Static_assert for C.
* c-parser.c (c_token_starts_declaration,
c_parser_next_token_starts_declaration,
c_parser_static_assert_declaration_no_semi,
c_parser_static_assert_declaration): New.
(c_parser_declaration_or_fndef): Add parameter static_assert_ok.
Handle static assertions if static_assert_ok.
(c_parser_external_declaration, c_parser_declaration_or_fndef,
c_parser_compound_statement_nostart, c_parser_label,
c_parser_for_statement, c_parser_objc_methodprotolist,
c_parser_omp_for_loop): All callers of
c_parser_declaration_or_fndef changed.
(c_parser_struct_declaration): Handle static assertions.
(c_parser_compound_statement_nostart): Use
c_parser_next_token_starts_declaration and
c_token_starts_declaration to detect start of declarations.
(c_parser_label, c_parser_for_statement, c_parser_omp_for_loop):
Likewise.
testsuite:
* gcc.dg/c1x-static-assert-1.c, gcc.dg/c1x-static-assert-2.c,
gcc.dg/c1x-static-assert-3.c, gcc.dg/c1x-static-assert-4.c,
gcc.dg/c1x-static-assert-5.c, gcc.dg/c1x-static-assert-6.c,
gcc.dg/c90-static-assert-1.c, gcc.dg/c99-static-assert-1.c: New
tests.
From-SVN: r159459
Anatoly Sokolov [Sun, 16 May 2010 16:51:40 +0000 (20:51 +0400)]
mmix.h (FUNCTION_VALUE, [...]): Remove macros.
* config/mmix/mmix.h (FUNCTION_VALUE, FUNCTION_OUTGOING_VALUE,
LIBCALL_VALUE, FUNCTION_VALUE_REGNO_P): Remove macros.
* config/mmix/mmix.c (TARGET_FUNCTION_VALUE, TARGET_LIBCALL_VALUE,
TARGET_FUNCTION_VALUE_REGNO_P): Define.
(mmix_function_outgoing_value): Rename to...
(mmix_function_value): ...this. Make static. Add 'outgoing' argument.
(mmix_function_value_regno_p): Make static.
(mmix_libcall_value): New function.
* config/mmix/mmix-protos.h (mmix_function_outgoing_value,
mmix_function_value_regno_p): Remove declaration.
From-SVN: r159458
Eric Botcazou [Sun, 16 May 2010 15:20:47 +0000 (15:20 +0000)]
tree.c (build_common_builtin_nodes): Always clear TREE_NOTHROW on BUILT_IN_ALLOCA if stack checking is enabled.
* tree.c (build_common_builtin_nodes): Always clear TREE_NOTHROW on
BUILT_IN_ALLOCA if stack checking is enabled.
From-SVN: r159457
Richard Guenther [Sun, 16 May 2010 14:58:34 +0000 (14:58 +0000)]
var-tracking.c (vars_copy_1): Inline ...
2010-05-16 Richard Guenther <rguenther@suse.de>
* var-tracking.c (vars_copy_1): Inline ...
(vars_copy): ... here. Use FOR_EACH_HTAB_ELEMENT.
(variable_union): Use FOR_EACH_HTAB_ELEMENT. Merge asserts.
(variable_merge_over_cur): Adjust. Merge asserts.
(variable_merge_over_src): Likewise.
(dataflow_set_merge): Use FOR_EACH_HTAB_ELEMENT.
(variable_post_merge_new_vals): Merge asserts.
(variable_post_merge_perm_vals): Likewise.
(find_mem_expr_in_1pdv): Likewise.
(dataflow_set_different_value): Remove.
(onepart_variable_different_p): Merge asserts.
(variable_different_p): Likewise.
(dataflow_set_different_1): Inline ...
(dataflow_set_different): ... here. Use FOR_EACH_HTAB_ELEMENT.
(emit_notes_for_differences_1): Merge asserts.
From-SVN: r159456
Richard Guenther [Sun, 16 May 2010 14:47:38 +0000 (14:47 +0000)]
lto-symtab.c (lto_symtab_entry_hash): Use IDENTIFIER_HASH_VALUE.
2010-05-16 Richard Guenther <rguenther@suse.de>
* lto-symtab.c (lto_symtab_entry_hash): Use IDENTIFIER_HASH_VALUE.
* optabs.c (libfunc_decl_hash): Likewise.
* varasm.c (emutls_decl): Likewise.
fortran/
* trans-decl.c (module_htab_decls_hash): Use IDENTIFIER_HASH_VALUE.
From-SVN: r159455
Manuel López-Ibáñez [Sun, 16 May 2010 10:30:39 +0000 (10:30 +0000)]
misc.c (gnat_handle_option): Remove special logic for Wuninitialized without -O.
2010-05-16 Manuel López-Ibáñez <manu@gcc.gnu.org>
ada/
* gcc-interface/misc.c (gnat_handle_option): Remove special logic
for Wuninitialized without -O.
fortran/
* options.c (set_Wall): Remove special logic for Wuninitialized
without -O.
From-SVN: r159454
Uros Bizjak [Sun, 16 May 2010 10:03:01 +0000 (12:03 +0200)]
pass46-frag.c (dg-options): Remove -Wall.
* testsuite/libmudflap.c/pass46-frag.c (dg-options): Remove -Wall.
From-SVN: r159453
Eric Botcazou [Sun, 16 May 2010 09:11:39 +0000 (09:11 +0000)]
gigi.h (enum standard_datatypes): Add new value ADT_exception_data_name_id.
* gcc-interface/gigi.h (enum standard_datatypes): Add new value
ADT_exception_data_name_id.
(exception_data_name_id): New define.
* gcc-interface/trans.c (gigi): Initialize it.
* gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Use the standard
exception type for standard exception definitions. Do not make them
volatile.
<E_Record_Type>: Equate fields of types associated with an exception
definition to those of the standard exception type.
From-SVN: r159452
Steven Bosscher [Sun, 16 May 2010 07:12:46 +0000 (07:12 +0000)]
c-decl.c: Don't include gimple.h.
* c-decl.c: Don't include gimple.h.
(merge_decls): Do not copy gimple_body.
From-SVN: r159451
Jason Merrill [Sun, 16 May 2010 02:27:02 +0000 (22:27 -0400)]
c.opt: Add -fnothrow-opt.
gcc:
* c.opt: Add -fnothrow-opt.
gcc/cp:
* cp-tree.h (TYPE_NOEXCEPT_P): New macro.
* except.c (begin_eh_spec_block): Use MUST_NOT_THROW_EXPR if
TYPE_NOEXCEPT_P.
(finish_eh_spec_block): Adjust.
From-SVN: r159450
GCC Administrator [Sun, 16 May 2010 00:16:54 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r159449
Janus Weil [Sat, 15 May 2010 22:03:09 +0000 (00:03 +0200)]
re PR fortran/44154 (initialization problem with allocatable scalars)
2010-05-15 Janus Weil <janus@gcc.gnu.org>
PR fortran/44154
PR fortran/42647
* trans-decl.c (gfc_trans_deferred_vars): Modify ordering of
if branches.
2010-05-15 Janus Weil <janus@gcc.gnu.org>
PR fortran/44154
PR fortran/42647
* gfortran.dg/allocatable_scalar_9.f90: New.
From-SVN: r159445
Jan Hubicka [Sat, 15 May 2010 20:48:58 +0000 (22:48 +0200)]
ipa-prop.c (ipa_prop_read_section): Add sanity check that node is analyzed.
* ipa-prop.c (ipa_prop_read_section): Add sanity check that node is analyzed.
* passes.c (ipa_write_summaries): Write all analyzed nodes.
From-SVN: r159444
Jakub Jelinek [Sat, 15 May 2010 20:23:59 +0000 (22:23 +0200)]
re PR c++/44148 (C++ genericization/gimplification may clobber templare arguments)
PR c++/44148
* pt.c (tsubst): Unshare template argument.
* g++.dg/torture/pr44148.C: New test.
From-SVN: r159443
Steven Bosscher [Sat, 15 May 2010 20:02:11 +0000 (20:02 +0000)]
vecir.h: New file with VEC primitives for tree, gimple, and rtl.
gcc/ChangeLog
* vecir.h: New file with VEC primitives for tree, gimple, and rtl.
* Makefile.in: Add it.
Fix all other Makefile dependencies for changes below.
* tree.h: Include it instead of defining VEC primitives here.
* gimple.h: Likewise.
* rtl.h: Likewise.
* tree-inline.h: Inlclude vecir.h instead of gimple.h.
* except.h: Include vecir.h, break dependence on tree.h.
* gimplify.c (append_to_statement_list_1, append_to_statement_list):
Move from here...
* tree-iterator.c: ...to here.
* tree-iterator.h: Fix file introduction comment. Add extern markers.
* c-lex.c: Include fixed-value.h instead of rtl.h. Do not include
tm_p.h.
* c-cppbuiltin.c: Explain why debug.h and tm_p.h are included.
* c-objc-common.h: Do not include tm.h, rtl.h, insn-config.h,
integrate.h, function.h, toplev.h, tree-inline.h, ggc.h,
tree-mudflap.h, and target.h.
* c-semantics.c: Do not include except.h, ggc.h, rtl.h, timevar.h,
predict.h, tree-inline.h, gimple.h, and langhooks.h.
* c-decl.c: Do not include expr.h, ggc.h, libfuncs.h, except.h.
Add FIXME for why gimple.h is still included (should be unnecessary
since GCC 4.5 gimplification unit-at-a-time).
* c-typeck.c: Do not include rtl.h, tm_p.h, ggc.h, and gimple.h.
* c-pragma.c: Add FIXME for why function.h needs to be included just
for cfun, at front-end level.
Add note that REGISTER_TARGET_PRAGMAS should probably be a target hook.
Do not include ggc.h, but include vecprim.h for VEC(char).
* c-opts.c: Do not include tm.h, tree-inline.h, and tm_p.h.
Explain why target.h is included.
* c-omp.h: Do not include tm.h, function.h, and bitmap.h.
Explain why gimple.h is included.
* c-ppoutput.c: Do not include tm.h.
* c-common.c: Do not include gimple.h. Explain why expr.h is included.
* c-parses.c: Explain why rtl.h is included, and that this (and only
this) is also why tm.h must be included.
Do not include except.h.
* c-lang.c: Do not include ggc.h.
cp/ChangeLog
* decl.c: Include tree-iterator.h, as fixup for tree-inline.h changes.
* Make-lang.in: Fix dependencies accordingly.
From-SVN: r159442
Uros Bizjak [Sat, 15 May 2010 19:58:30 +0000 (21:58 +0200)]
targhooks.c (GO_IF_MODE_DEPENDENT_ADDRESS): Use CONST_CAST_RTX.
* targhooks.c (GO_IF_MODE_DEPENDENT_ADDRESS): Use CONST_CAST_RTX.
From-SVN: r159441
Uros Bizjak [Sat, 15 May 2010 19:19:48 +0000 (21:19 +0200)]
mfdg.exp (additional_prunes): New global.
* testsuite/lib/mfdg.exp (additional_prunes): New global.
(dg-test): Clear additional_prunes before test is run.
(dg-prune-output): New procedure.
* testsuite/lib/libmudflap.exp (libmudflap-dg-test): Do not call
prune_gcc_output.
(libmudflap-dg-prune): New procedure.
* testsuite/libmudflap.c++/pass57-frag.cxx (dg-prune-output):
New dg directive.
From-SVN: r159440
Joseph Myers [Sat, 15 May 2010 19:07:01 +0000 (20:07 +0100)]
c-decl.c (grokfield): Allow typedefs for anonymous structs and unions by default if...
* c-decl.c (grokfield): Allow typedefs for anonymous structs and
unions by default if those structs and unions have no tags. Do
not condition anonymous struct and unions handling on flag_iso.
Allow anonymous structs and unions for C1X.
(finish_struct): Do not diagnose lack of named fields when
anonymous structs and unions present for C1X. Accept flexible
array members in structure with anonymous structs or unions but no
directly named fields.
* doc/extend.texi (Unnamed Fields): Update.
testsuite:
* gcc.dg/c1x-anon-struct-1.c, gcc.dg/c1x-anon-struct-2.c,
gcc.dg/c90-anon-struct-1.c, gcc.dg/c99-anon-struct-1.c: New tests.
* gcc.dg/
20080820.c, gcc.dg/anon-struct-1.c: Update expected
diagnostics and type sizes.
From-SVN: r159439
Eric Botcazou [Sat, 15 May 2010 19:05:06 +0000 (19:05 +0000)]
gimple.h (compare_field_offset): Rename into...
* gimple.h (compare_field_offset): Rename into...
(gimple_compare_field_offset): ...this.
* gimple.c (compare_field_offset): Rename into...
(gimple_compare_field_offset): ...this. Compare the full access if
the offset is self-referential.
(gimple_types_compatible_p): Adjust for above renaming.
* lto-streamer-in.c (input_gimple_stmt): Likewise. Also compare the
DECL_NONADDRESSABLE_P flag of fields before merging them.
From-SVN: r159438
Nathan Froyd [Sat, 15 May 2010 18:41:11 +0000 (18:41 +0000)]
tree.h (ctor_to_list): Delete.
* tree.h (ctor_to_list): Delete.
* tree.c (ctor_to_list): Delete.
From-SVN: r159437