platform/upstream/gcc.git
14 years agore PR target/43733 (bootstrap fails on Solaris 10 x86 with GNU as 2.15 and --with...
Uros Bizjak [Thu, 20 May 2010 18:52:03 +0000 (20:52 +0200)]
re PR target/43733 (bootstrap fails on Solaris 10 x86 with GNU as 2.15 and --with-arch=core2)

PR target/43733
* configure.ac (gcc_cv_as_ix86_sahf): Switch to 64bit mode.
* configure: Regenerate.
* config.in: Regenerate.
* config/i386/i386.md (x86_sahf_1): Conditionally output 0x9e
instead of sahf only for 64bit targets.

From-SVN: r159636

14 years agore PR debug/43521 (java: "this" pointer not marked with DW_AT_artificial)
Jakub Jelinek [Thu, 20 May 2010 17:00:32 +0000 (19:00 +0200)]
re PR debug/43521 (java: "this" pointer not marked with DW_AT_artificial)

PR debug/43521
* decl.c (start_java_method): Set DECL_ARTIFICIAL on the 'this'
PARM_DECL.

From-SVN: r159635

14 years agore PR debug/44178 (-fcompare-debug failure with -O1 -fgcse -fsched-pressure -funroll...
Jakub Jelinek [Thu, 20 May 2010 16:34:43 +0000 (18:34 +0200)]
re PR debug/44178 (-fcompare-debug failure with -O1 -fgcse -fsched-pressure -funroll-loops -fschedule-insns)

PR debug/44178
* haifa-sched.c (initiate_bb_reg_pressure_info): Do not call
setup_ref_regs for DEBUG_INSNs.

* g++.dg/debug/pr44178.C: New test.

From-SVN: r159632

14 years agoFix PR44185: new prefetch test failures.
Changpeng Fang [Thu, 20 May 2010 15:29:40 +0000 (15:29 +0000)]
Fix PR44185: new prefetch test failures.

2010-05-20  Changpeng Fang  <changpeng.fang@amd.com>

PR middle-end/44185
* gcc.dg/tree-ssa/prefetch-6.c: Add --param min-insn-to-prefetch-ratio=6.
* gcc.dg/tree-ssa/prefetch-7.c: Remove --param max-unrolled-insns=1 to
        allow unrolling, and adjust the movnti count.

From-SVN: r159630

14 years agore PR middle-end/44197 ([4.6 Regresssion] varpool SEGV)
Jan Hubicka [Thu, 20 May 2010 14:57:27 +0000 (16:57 +0200)]
re PR middle-end/44197 ([4.6 Regresssion] varpool SEGV)

PR middle-end/44197
* varpool.c (varpool_remove_node): Handle in-varpool aliases.
* gcc.c-torture/compile/pr44197.c: New file.

From-SVN: r159629

14 years agostl_pair.h (pair<>::pair(const pair&)): Defaulted in C++0x mode.
Paolo Carlini [Thu, 20 May 2010 14:08:53 +0000 (14:08 +0000)]
stl_pair.h (pair<>::pair(const pair&)): Defaulted in C++0x mode.

2010-05-20  Paolo Carlini  <paolo.carlini@oracle.com>

* include/bits/stl_pair.h (pair<>::pair(const pair&)): Defaulted
in C++0x mode.
(pair<>::operator=(const pair<>&)): Add in C++0x mode.
* testsuite/20_util/weak_ptr/comparison/cmp_neg.cc: Adjust dg-error
line number.

From-SVN: r159628

14 years agore PR bootstrap/43870 (ICE in gcc/config/soft-fp/divtf3.c)
Kenneth Zadeck [Thu, 20 May 2010 12:05:54 +0000 (12:05 +0000)]
re PR bootstrap/43870 (ICE in gcc/config/soft-fp/divtf3.c)

PR bootstrap/43870
* df-scan.c (df_ref_compare): Stabilize sort.

From-SVN: r159625

14 years agodwarf2out.c (new_loc_descr_op_bit_piece): Add offset argument.
Jakub Jelinek [Thu, 20 May 2010 10:35:04 +0000 (12:35 +0200)]
dwarf2out.c (new_loc_descr_op_bit_piece): Add offset argument.

* dwarf2out.c (new_loc_descr_op_bit_piece): Add offset
argument.  Don't use DW_OP_piece if offset is non-zero,
put offset into second DW_OP_bit_piece argument.
(dw_sra_loc_expr): Adjust callers.  For memory expressions
compute offset.

From-SVN: r159623

14 years agoi386.exp (check_effective_target_3dnow): Fix test code.
Uros Bizjak [Thu, 20 May 2010 09:34:50 +0000 (11:34 +0200)]
i386.exp (check_effective_target_3dnow): Fix test code.

* gcc.target/i386/i386.exp (check_effective_target_3dnow):
Fix test code.
(check_effective_target_xop): Remove __may_alias__ attribute.

From-SVN: r159621

14 years agooptions.c (gfc_init_options,gfc_post_options): Enable flag_associative_math by default.
Tobias Burnus [Thu, 20 May 2010 07:49:26 +0000 (09:49 +0200)]
options.c (gfc_init_options,gfc_post_options): Enable flag_associative_math by default.

2010-05-20  Tobias Burnus  <burnus@net-b.de>

        * options.c (gfc_init_options,gfc_post_options): Enable
        flag_associative_math by default.

From-SVN: r159620

14 years agomips-dsp.md (add<DSPV:mode>3, [...]): Add ISA_HAS_DSP condition.
James E. Wilson [Thu, 20 May 2010 06:53:43 +0000 (06:53 +0000)]
mips-dsp.md (add<DSPV:mode>3, [...]): Add ISA_HAS_DSP condition.

* config/mips/mips-dsp.md (add<DSPV:mode>3,
mips_add<DSP:dspfmt1>_s_<DSP:dspfmt2>): Add ISA_HAS_DSP condition.

From-SVN: r159619

14 years agore PR target/44202 (Missing compare after add)
Hans-Peter Nilsson [Thu, 20 May 2010 06:45:38 +0000 (06:45 +0000)]
re PR target/44202 (Missing compare after add)

PR target/44202
* config/cris/cris.md ("*addsi3_v32"): Correct "cc"
settings for 16-bit-constant "addo" alternative.

From-SVN: r159612

14 years agore PR target/44202 (Missing compare after add)
Hans-Peter Nilsson [Thu, 20 May 2010 06:44:45 +0000 (06:44 +0000)]
re PR target/44202 (Missing compare after add)

PR target/44202
* gcc.c-torture/execute/pr44202-1.c: New test.

From-SVN: r159611

14 years agore PR target/43764 (-mrelax-pic-calls fails with complex types)
James E. Wilson [Thu, 20 May 2010 06:26:52 +0000 (06:26 +0000)]
re PR target/43764 (-mrelax-pic-calls fails with complex types)

PR target/43764
* mips.c (mips_call_expr_from_insn): New arg second_call.  Set it.
(mips_annotate_pic_calls): Pass new arg to mips_call_expr_from_insn.
Use it.

From-SVN: r159610

14 years agore PR fortran/43851 (Add _gfortran_error_stop_numeric)
Jerry DeLisle [Thu, 20 May 2010 04:44:11 +0000 (04:44 +0000)]
re PR fortran/43851 (Add _gfortran_error_stop_numeric)

2010-05-19 Jerry DeLisle <jvdelisle@gcc.gnu.org>

PR fortran/43851
* runtime/stop.c (error_stop_numeric): New function and updated comment.
Add declaration for stop_numeric and remove declaration for stop_string.
(stop_string): Use for blank STOP.
(stop_numeric): Remove use of special -1 stop code.
* runtime/pause.c (do_pause): Use stop_string for blank stop.
(pause_numeric): Remove use of special -1 pause code.
* gfortran.map: Add new symbol to run-time library.
* libgfortran.h: Move declaration for stop_string to here to make
function visible for do_pause. Remove declaration for stop_numeric.

2010-05-19 Jerry DeLisle <jvdelisle@gcc.gnu.org>

PR fortran/43851
* trans-stmt.c (gfc_trans_stop): Add generation of call to
gfortran_error_stop_numeric. Fix up some whitespace. Use stop_string for
blank STOP, handling a null expression. (gfc_trans_pause): Use
pause_string for blank PAUSE.
* trans.h: Add external function declaration for error_stop_numeric.
* trans-decl.c (gfc_build_builtin_function_decls): Add the building of
the declaration for the library call. Adjust whitespaces.
* match.c (gfc_match_stopcode): Remove use of the actual stop code to
signal no stop code. Match the expression following the stop and pass
that to the translators. Remove the old use of digit matching.  Add
checks that the stop_code expression is INTEGER or CHARACTER, constant,
and if CHARACTER, default character KIND.

2010-05-19 Jerry DeLisle <jvdelisle@gcc.gnu.org>

PR fortran/43851
* gfortran.dg/label_1.f90: Update test.

From-SVN: r159609

14 years agoDaily bump.
GCC Administrator [Thu, 20 May 2010 00:18:01 +0000 (00:18 +0000)]
Daily bump.

From-SVN: r159608

14 years agoipareference2_0.c: New file.
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

14 years agodiagnostic.c (FLOAT, FFS): Don't undefine.
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

14 years agocombine.c (propagate_for_debug): Call make_compound_operation on the source value.
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

14 years agocall.c (reference_binding): Use cp_build_qualified_type_real and cp_type_quals consis...
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

14 years ago* typeck.c (merge_types): Preserve memfn quals.
Jason Merrill [Wed, 19 May 2010 21:02:16 +0000 (17:02 -0400)]
* typeck.c (merge_types): Preserve memfn quals.

From-SVN: r159598

14 years agodecl.c (grokdeclarator): Don't check quals on fn type.
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

14 years agore PR c++/44193 (function types, cv-quals and typename)
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

14 years agodouble-int.h (double_int_ior): New function.
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

14 years agowait.cc (wait): Rename.
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

14 years agolanghooks.h (struct lang_hooks): Add new field deep_unsharing.
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

14 years agore PR fortran/44055 (Warn (-Wconversion*) when converting single to double precision)
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

14 years agohooks.h (hook_tree_tree_tree_bool_null): Rename to...
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

14 years agosourcebuild.texi (Effective-Target Keywords): Document 3dnow, sse3, sse2.
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

14 years agore PR lto/44196 (lto1: ICE: tree check: expected field_decl, have type_decl in gimple...
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

14 years agoinvoke.texi (-fwhopr): Document new optional jobs argument.
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

14 years agoconfigure.ac (libffi_cv_as_x86_pcrel): Check for illegal in as output, too.
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

14 years agosfp-machine.h (FP_HANDLE_EXCEPTIONS): Support Sun assembler syntax.
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

14 years agore PR fortran/42360 (intent(out)-dummy-not-set warning for types depends on order...
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

14 years agore PR fortran/38404 (Warning message identifies incorrect line)
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

14 years agoipa-prop.c (ipa_print_node_jump_functions): Print jump functions also for indirect...
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

14 years agore PR fortran/34505 (FLOAT/SNGL: Not accepted as actual argument; diagnostics problems)
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

14 years agotree-ssa-loop-prefetch.c (mem_ref_group, ar_data): Change step to tree.
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

14 years ago* expr.c (pop_arguments): Fix use of undeclared variable.
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

14 years agoRevert:
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

14 years agoDaily bump.
GCC Administrator [Wed, 19 May 2010 00:18:01 +0000 (00:18 +0000)]
Daily bump.

From-SVN: r159553

14 years agore PR libstdc++/44190 (Debug vector resize does not update capacity)
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

14 years agotree.h (build_call_list): Remove.
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

14 years ago* ipa-reference.c (propagate): Walk all nodes in the cleanup stage.
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

14 years agore PR rtl-optimization/43332 (valgrind warns about using uninitialized variable with...
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

14 years agotree.h (build_int_cstu): Implement as static inline.
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

14 years ago20011009-1.c (COMMENT): Define.
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

14 years agore PR lto/44143 (-fdump-tree-all for lto does not work as expected)
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

14 years agoipacp_0.c: New test.
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

14 years agofix broken checkin, test should be link not assemble
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

14 years agore PR lto/44184 ("asm goto" does not work with LTO)
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

14 years agore PR debug/41371 (var-tracking is slow and memory hungry)
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

14 years agoadd lto to powerpc-*darwin and enable for 32bit darwin
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

14 years ago* gnat.dg/specs/lto3.ads: Add missing dg-options.
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

14 years agoDaily bump.
GCC Administrator [Tue, 18 May 2010 00:17:30 +0000 (00:17 +0000)]
Daily bump.

From-SVN: r159523

14 years agocgraph.c (cgraph_create_virtual_clone): Only check versionable_function_p when not...
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

14 years agocgraph.h (struct ipa_replace_map): Add parm_num parameter.
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

14 years agolto.c (lto_materialize_function): Announce function when reading body...
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

14 years agoAlso apply the insn to prefetch ratio heuristic to loops with known trip count.
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

14 years agoDefine PREFETCH_MOD_TO_UNROLL_FACTOR_RATIO heuristic.
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

14 years agoipa-cp.c (ipcp_update_callgraph): Use ipa_is_param_used.
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

14 years agore PR target/44074 (Solaris 2.9 x86 Sun assembler doesn't like rep/lock prefixes...
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

14 years agore PR fortran/43990 ([OOP] ICE in output_constructor_regular_field, at varasm.c:4995)
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

14 years agocall.c (struct z_candidate): Add explicit_targs field.
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

14 years agore PR c++/44157 ([C++0x] GCC wrongly takes a std::initializer_list argument as non...
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

14 years agore PR c++/44158 ([C++0x] wrong overload resolution for copy-initialization from an...
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

14 years agocgraph.h (cgraph_indirect_call_info): New fields anc_offset, otr_token and polymorphic.
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

14 years agoclass.c (gfc_add_component_ref,gfc_class_null_initializer, [...]): Moved here from...
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

14 years agoForgot ChangeLog entry for last commit.
Rainer Orth [Mon, 17 May 2010 18:19:17 +0000 (18:19 +0000)]
Forgot ChangeLog entry for last commit.

From-SVN: r159504

14 years ago* config/i386/sol2.h (TARGET_SUN_TLS): Remove duplicate definition.
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

14 years agotree.h (CALL_EXPR_ARGS): Delete.
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

14 years agore PR c++/44108 (-Wunused-but-set-variable does not consider array sizing use of...
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

14 years agore PR bootstrap/42347 (sched-deps.c:3840:1: internal compiler error: in fixup_reorder...
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

14 years agore PR middle-end/44102 (ICE with asm goto + __builtin_unreachable () in C++)
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

14 years agofix ChangeLog entries for previous commits
Nathan Froyd [Mon, 17 May 2010 16:28:51 +0000 (16:28 +0000)]
fix ChangeLog entries for previous commits

From-SVN: r159494

14 years agofix bogus email for myself
Nathan Froyd [Mon, 17 May 2010 16:10:31 +0000 (16:10 +0000)]
fix bogus email for myself

From-SVN: r159492

14 years agotree.c (build_function_type_list_1): Remove bogus assert condition.
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

14 years agotrans-array.c (gfc_trans_array_constructor_value): Use build_constructor instead...
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

14 years agors6000.c (rs6000_emit_allocate_stack): Delete unnecessary prototype.
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

14 years agore PR middle-end/44133 (Uninit warning regression with new SRA)
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

14 years agofunction.c (try_fit_stack_local, [...]): New static functions.
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

14 years agofunctional (result_of): Move...
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

14 years agore PR fortran/44044 ([OOP] SELECT TYPE with class-valued function)
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

14 years agore PR middle-end/44078 (FAIL: gcc.dg/tree-ssa/prefetch-7.c)
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

14 years agos390.c: Define sane prefetch settings and activate flag_prefetch_loop_arrays on -O3.
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

14 years agolto-streamer-out.c (lto_output): Fix --enable-checking=release build.
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

14 years agoipa-cp.c (ipcp_versionable_function_p): Walk cgraph edges instead of function body...
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

14 years agoDaily bump.
GCC Administrator [Mon, 17 May 2010 00:16:57 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r159471

14 years agocgraph.c (dump_cgraph_node): Dump versionable flag.
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

14 years agocgraph.c (cgraph_clone_node): Take decl argument and insert clone into hash when...
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

14 years agore PR fortran/35779 (error pointer wrong in PARAMETER)
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

14 years agoinvoke.texi (-fipa-struct-reorg): Do not mention -fipa-type-escape.
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

14 years agoopts.c (handle_option): Call into LTO streamer only if ENABLE_LTO.
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

14 years agotrans-decl.c (module_htab_decls_hash): Revert last change.
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

14 years agoipa.c (function_and_variable_visibility): Also bring local all aliases.
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

14 years agoalias.c (nonoverlapping_memrefs_p): Remove use of IPA type-escape information.
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

14 years agoc-common.c (c_common_reswords): Add _Static_assert for C.
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

14 years agommix.h (FUNCTION_VALUE, [...]): Remove macros.
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

14 years agotree.c (build_common_builtin_nodes): Always clear TREE_NOTHROW on BUILT_IN_ALLOCA...
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

14 years agovar-tracking.c (vars_copy_1): Inline ...
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