platform/upstream/gcc.git
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

14 years agolto-symtab.c (lto_symtab_entry_hash): Use IDENTIFIER_HASH_VALUE.
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

14 years agomisc.c (gnat_handle_option): Remove special logic for Wuninitialized without -O.
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

14 years agopass46-frag.c (dg-options): Remove -Wall.
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

14 years agogigi.h (enum standard_datatypes): Add new value ADT_exception_data_name_id.
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

14 years agoc-decl.c: Don't include gimple.h.
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

14 years agoc.opt: Add -fnothrow-opt.
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

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

From-SVN: r159449

14 years agore PR fortran/44154 (initialization problem with allocatable scalars)
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

14 years agoipa-prop.c (ipa_prop_read_section): Add sanity check that node is analyzed.
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

14 years agore PR c++/44148 (C++ genericization/gimplification may clobber templare arguments)
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

14 years agovecir.h: New file with VEC primitives for tree, gimple, and rtl.
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

14 years agotarghooks.c (GO_IF_MODE_DEPENDENT_ADDRESS): Use CONST_CAST_RTX.
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

14 years agomfdg.exp (additional_prunes): New global.
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

14 years agoc-decl.c (grokfield): Allow typedefs for anonymous structs and unions by default...
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

14 years agogimple.h (compare_field_offset): Rename into...
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

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

14 years agoipareference_1.c: Rename to ...
Jan Hubicka [Sat, 15 May 2010 17:06:48 +0000 (19:06 +0200)]
ipareference_1.c: Rename to ...

* gcc.dg/lto/ipareference_1.c: Rename to ...
* gcc.dg/lto/ipareference_0.c: ... this one.
* gcc.dg/lto/ipareference_2.c: Rename to ...
* gcc.dg/lto/ipareference_1.c: ... this one.

From-SVN: r159436

14 years agoipa-reference.c: Include toplev.h
Jan Hubicka [Sat, 15 May 2010 16:57:35 +0000 (18:57 +0200)]
ipa-reference.c: Include toplev.h

* ipa-reference.c: Include toplev.h
(is_proper_for_analysis): Only add to all_module_statics
if it is allocated.
(write_node_summary_p, stream_out_bitmap,
ipa_reference_write_optimization_summary,
ipa_reference_read_optimization_summary): New.
(struct ipa_opt_pass_d pass_ipa_reference): Add
optimization summary streaming.
* lto-cgraph.c (referenced_from_this_partition_p,
reachable_from_this_partition_p): New functions.
* tree-ssa-alias.c (ref_maybe_used_by_call_p_1,
call_may_clobber_ref_p_1): Ask ipa-reference even for public vars.
* opts.c (decode_options): Enable ipa_reference.
* Makefile.in (ipa-reference.o): Add toplev.h dependency.
* lto-streamer.h (referenced_from_this_partition_p,
reachable_from_this_partition_p): Declare.

* gcc.dg/lto/ipareference_1.c: New file.
* gcc.dg/lto/ipareference_2.c: New file.

From-SVN: r159435

14 years agore PR other/44038 (ICE: verify_stmts failed)
Richard Guenther [Sat, 15 May 2010 15:06:47 +0000 (15:06 +0000)]
re PR other/44038 (ICE: verify_stmts failed)

2010-05-15  Richard Guenther  <rguenther@suse.de>

PR tree-optimization/44038
* tree-ssa-forwprop.c (forward_propagate_addr_expr_1): Avoid
taking the address of a V_C_E of a constant.

* gcc.c-torture/compile/pr44038.c: New testcase.

From-SVN: r159434

14 years agoAdd -std=c99 to avx-cmpsd-1.c and avx-cmpss-1.c.
H.J. Lu [Sat, 15 May 2010 13:54:44 +0000 (13:54 +0000)]
Add -std=c99 to avx-cmpsd-1.c and avx-cmpss-1.c.

2010-05-15  H.J. Lu  <hongjiu.lu@intel.com>

* gcc.target/i386/avx-cmpsd-1.c: Add -std=c99.
* gcc.target/i386/avx-cmpss-1.c: Likewise.

From-SVN: r159432

14 years agore PR fortran/43207 ([OOP] invalid (pointer) assignment to and from abstract non...
Janus Weil [Sat, 15 May 2010 13:52:33 +0000 (15:52 +0200)]
re PR fortran/43207 ([OOP] invalid (pointer) assignment to and from abstract non-polymorphic expressions)

2010-05-15  Janus Weil  <janus@gcc.gnu.org>

PR fortran/43207
PR fortran/43969
* gfortran.h (gfc_class_null_initializer): New prototype.
* expr.c (gfc_class_null_initializer): New function to build a NULL
initializer for CLASS pointers.
* symbol.c (gfc_build_class_symbol): Modify internal naming of class
containers. Remove default NULL initialization of $data component.
* trans.c (gfc_allocate_array_with_status): Fix wording of an error
message.
* trans-expr.c (gfc_conv_initializer,gfc_trans_subcomponent_assign):
Use new function 'gfc_class_null_initializer'.
* trans-intrinsic.c (gfc_conv_allocated): Handle allocatable scalar
class variables.

2010-05-15  Janus Weil  <janus@gcc.gnu.org>

PR fortran/43207
PR fortran/43969
* gfortran.dg/class_18.f03: New.
* gfortran.dg/class_19.f03: New.

From-SVN: r159431

14 years agotree.h (memory_identifier_string): Remove.
Jan Hubicka [Sat, 15 May 2010 09:46:55 +0000 (11:46 +0200)]
tree.h (memory_identifier_string): Remove.

* tree.h (memory_identifier_string): Remove.
* ipa-reference.c: Update comment; do not include gt-ipa-reference.h
(ipa_reference_global_vars_info_d): Remove statics_not_read and
statics_not_written.
(ipa_reference_optimization_summary_d): New structure.
(ipa_reference_optimization_summary_t): New type and vector.
(ipa_reference_vars_info_d): Embedd structures instead of using
pointers.
(reference_vars_to_consider): Remove out of GGC space.
(module_statics_escape): Remove.
(global_info_obstack): Rename to ...
(optimization_summary_obstack): ... this one.
(initialization_status_t): Remove.
(memory_identifier_string): Remove.
(get_reference_vars_info): Fix indenting.
(set_reference_vars_info): Likewise.
(get_reference_optimization_summary): New.
(set_reference_optimization_summary): New.
(get_global_reference_vars_info): Remove.
(ipa_reference_get_read_global): Remove.
(ipa_reference_get_written_global): Remove.
(ipa_reference_get_not_read_global): Update.
(ipa_reference_get_not_written_global): Update.
(is_proper_for_analysis): Outlaw addressable.
(propagate_bits): Update for new datastructures.
(analyze_variable): Remove.
(init_function_info): Update for new datastructures.
(clean_function_local_data): Remove.
(clean_function): Remove.
(copy_global_bitmap): Use optimizations_summary_obstack.
(duplicate_node_data): Duplicate optimization summary only.
(remove_node_data): Remove optimization summary only.
(generate_summary): Do not analyze variables; do not compute
module_statics_escape; do not prune solutions by it.
(read_write_all_from_decl): Fix typos in comments.
(propagate): Doscover readonly and nonaddressable first;
update for new datastructures; share global bitmaps.
* ipa-reference.h (ipa_reference_get_read_global,
ipa_reference_get_written_global): Remove.
* ipa-pure-const.c (check_stmt): Do not use memory_identifier_string.
* Makefile.in: Remove ipa-refereference from GT files.

From-SVN: r159430

14 years agore PR debug/44112 (Revision 159354 causes Fortran test failures)
Jakub Jelinek [Sat, 15 May 2010 06:01:20 +0000 (08:01 +0200)]
re PR debug/44112 (Revision 159354 causes Fortran test failures)

PR debug/44112
* dwarf2out.c (resolve_one_addr): Check TREE_ASM_WRITTEN
for all SYMBOL_REF_DECLs.

* gcc.dg/debug/dwarf2/const-1.c: Remove.
* g++.dg/debug/dwarf2/const1.C: Remove.

From-SVN: r159429

14 years agoC++ DR 475
Jason Merrill [Sat, 15 May 2010 02:22:37 +0000 (22:22 -0400)]
C++ DR 475

C++ DR 475
* except.c (build_throw): Simplify, adjust for DR 475.

From-SVN: r159428

14 years ago* fi.po: New.
Joseph Myers [Sat, 15 May 2010 01:06:29 +0000 (02:06 +0100)]
* fi.po: New.

From-SVN: r159426

14 years agoDaily bump.
GCC Administrator [Sat, 15 May 2010 00:17:02 +0000 (00:17 +0000)]
Daily bump.

From-SVN: r159425

14 years agocgraph.h (ipa_discover_readonly_nonaddressable_vars): Declare.
Jan Hubicka [Fri, 14 May 2010 23:39:39 +0000 (01:39 +0200)]
cgraph.h (ipa_discover_readonly_nonaddressable_vars): Declare.

* cgraph.h (ipa_discover_readonly_nonaddressable_vars): Declare.
(varpool_all_refs_explicit_p): New inline function.
* ipa-reference.c: Update comment.
(module_statics_written): Remove.
(get_static_decl): Remove.
(ipa_init): Do not initialize module_statics_written.
(analyze_function): Likewise.
(generate_summary): Likewise; do not compute module_statics_readonly
and do not update variable flags.
(propagate): Call ipa_discover_readonly_nonaddressable_vars.
* ipa.c: Inlucde flags.h
(cgraph_local_node_p): New.
(cgraph_remove_unreachable_nodes): Return early when not optimizing;
promote functions to local.
(ipa_discover_readonly_nonaddressable_vars): New function.
(function_and_variable_visibility): Use cgraph_local_node_p.
* varpool.c (varpool_finalize_decl): Set force_output for
DECL_PRESERVE_P vars.

From-SVN: r159421

14 years agore PR fortran/44135 (Negative array bounds lead to spurious warning)
Steven G. Kargl [Fri, 14 May 2010 21:02:26 +0000 (21:02 +0000)]
re PR fortran/44135 (Negative array bounds lead to spurious warning)

2010-05-14  Steven G. Kargl  <kargl@gcc.gnu.org>

PR fortran/44135
* gfortran.dg/actual_array_interface_2.f90: New test.

2010-05-14  Steven G. Kargl  <kargl@gcc.gnu.org>

PR fortran/44135
* fortran/interface.c (get_sym_storage_size): Use signed instead of
unsigned mpz_get_?i routines.

From-SVN: r159415

14 years agore PR middle-end/44103 (New Java test failures)
Nathan Froyd [Fri, 14 May 2010 20:47:39 +0000 (20:47 +0000)]
re PR middle-end/44103 (New Java test failures)

PR 44103
* java-tree.h (START_RECORD_CONSTRUCTOR): Change first argument to a
vector.  Move call to build_constructor...
(FINISH_RECORD_CONSTRUCTOR): ...here.  Add necessary arguments.  Clear
TREE_CONSTANT on the constructor.
(PUSH_SUPER_VALUE): Change first argument to a vector.
(PUSH_FIELD_VALUE): Likewise.
* resource.c (compile_resource_data): Update calls to above macros.
* constants.c (build_constants_constructor): Likewise.
* class.c (build_utf8_ref): Likewise.
(make_field_value): Likewise.
(make_method_value): Likewise.
(add_table_and_syms): New function.
(make_class_data): Call it.  Update calls to above macros.
(build_symbol_table_entry): New function.
(build_symbol_entry): Call it.  Update calls to above macros.
(emit_symbol_table): Likewise.
(make_catch_class_record): Update calls to above macros.
(build_assertion_table_entry): New function.
(add_assertion_table_entry): Call it.
(emit_assertion_table): Likewise.

From-SVN: r159414

14 years ago* ipa.c (cgraph_remove_unreachable_nodes): Revert accidental commit.
Jan Hubicka [Fri, 14 May 2010 20:38:43 +0000 (22:38 +0200)]
* ipa.c (cgraph_remove_unreachable_nodes): Revert accidental commit.

From-SVN: r159413

14 years agore PR tree-optimization/44119 (error: SSA name in freelist but still referenced)
Richard Guenther [Fri, 14 May 2010 20:18:34 +0000 (20:18 +0000)]
re PR tree-optimization/44119 (error: SSA name in freelist but still referenced)

2010-05-14  Richard Guenther  <rguenther@suse.de>

PR tree-optimization/44119
* tree-ssa-pre.c (eliminate): Properly mark replacement of
a PHI node necessary.

* gcc.c-torture/compile/pr44119.c: New testcase.

From-SVN: r159412

14 years ago* tree.h (TREE_ADDRESSABLE): Remove bogus usage for FIELD_DECL.
Eric Botcazou [Fri, 14 May 2010 19:27:14 +0000 (19:27 +0000)]
* tree.h (TREE_ADDRESSABLE): Remove bogus usage for FIELD_DECL.

From-SVN: r159409

14 years agore PR c++/44127 (G++ emits unnecessary EH code)
Jason Merrill [Fri, 14 May 2010 18:55:22 +0000 (14:55 -0400)]
re PR c++/44127 (G++ emits unnecessary EH code)

PR c++/44127
gcc:
* gimple.h (enum gf_mask): Add GF_CALL_NOTHROW.
(gimple_call_set_nothrow): New.
* gimple.c (gimple_build_call_from_tree): Call it.
(gimple_call_flags): Set ECF_NOTHROW from GF_CALL_NOTHROW.
gcc/cp:
* except.c (dtor_nothrow): Return nonzero for type with
trivial destructor.

From-SVN: r159408

14 years agore PR c++/44127 (G++ emits unnecessary EH code)
Jason Merrill [Fri, 14 May 2010 18:55:10 +0000 (14:55 -0400)]
re PR c++/44127 (G++ emits unnecessary EH code)

PR c++/44127
gcc:
* gimplify.c (gimplify_seq_add_stmt): No longer static.
* gimple.h: Declare it.
* gimple.c (gimple_build_eh_filter): No ops.
gcc/cp:
* cp-gimplify.c (gimplify_must_not_throw_expr): Use
gimple_build_eh_must_not_throw.

From-SVN: r159407

14 years agoipa.c (enqueue_cgraph_node): Update comment; do not re-enqueue nodes already in queue.
Jan Hubicka [Fri, 14 May 2010 18:34:30 +0000 (20:34 +0200)]
ipa.c (enqueue_cgraph_node): Update comment; do not re-enqueue nodes already in queue.

* ipa.c (enqueue_cgraph_node): Update comment; do not re-enqueue
nodes already in queue.
(cgraph_remove_unreachable_nodes): Cleanup; fix problem with re-enqueueing
node.

From-SVN: r159405

14 years agore PR debug/44136 (ICE in expand_debug_expr with -mno-sse)
Jakub Jelinek [Fri, 14 May 2010 18:09:14 +0000 (20:09 +0200)]
re PR debug/44136 (ICE in expand_debug_expr with -mno-sse)

PR debug/44136
* cfgexpand.c (expand_debug_expr): If non-memory op0
has BLKmode, return NULL.

* gcc.dg/pr44136.c: New test.

From-SVN: r159400

14 years agoconfig.gcc: Add support for --with-cpu option for bdver1.
Harsha Jagasia [Fri, 14 May 2010 17:35:11 +0000 (17:35 +0000)]
config.gcc: Add support for --with-cpu option for bdver1.

2010-05-14  Harsha Jagasia  <harsha.jagasia@amd.com>

* config.gcc: Add support for --with-cpu option for bdver1.
* config/i386/i386.h (TARGET_BDVER1): New macro.
(ix86_tune_indices): Change SSE_UNALIGNED_MOVE_OPTIMAL
to SSE_UNALIGNED_LOAD_OPTIMAL. Add SSE_UNALIGNED_STORE_OPTIMAL.
(ix86_tune_features) :Change SSE_UNALIGNED_MOVE_OPTIMAL
to SSE_UNALIGNED_LOAD_OPTIMAL. Add SSE_UNALIGNED_STORE_OPTIMAL.
Add SSE_PACKED_SINGLE_INSN_OPTIMAL.
(TARGET_CPU_DEFAULT_NAMES): Add bdver1.
(processor_type): Add PROCESSOR_BDVER1.
* config/i386/i386.md: Add bdver1 as a new cpu attribute to match
processor_type in config/i386/i386.h.
Add check for TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL to emit
movaps <reg, reg> instead of movapd <reg, reg> when replacing
movsd <reg, reg> or movss <reg, reg> for SSE and AVX.
Add check for  TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL
to emit packed xor instead of packed double/packed integer
xor for SSE and AVX when moving a zero value.
* config/i386/sse.md: Add check for TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL
 to emit movaps instead of movapd/movdqa for SSE and AVX.
Add check for TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL to emit packed single
logical operations i.e and, or and xor instead of packed double logical
operations for SSE and AVX.
* config/i386/i386-c.c:
(ix86_target_macros_internal): Add PROCESSOR_BDVER1.
* config/i386/driver-i386.c: Turn on -mtune=native for BDVER1.
(has_fma4, has_xop): New.
* config/i386/i386.c (bdver1_cost): New variable.
(m_BDVER1): New macro.
(m_AMD_MULTIPLE): Add m_BDVER1.
(x86_tune_use_leave, x86_tune_push_memory, x86_tune_unroll_strlen,
 x86_tune_deep_branch_prediction, x86_tune_use_sahf, x86_tune_movx,
 x86_tune_use_simode_fiop, x86_tune_promote_qimode,
 x86_tune_add_esp_8, x86_tune_tune_sub_esp_4, x86_tune_sub_esp_8,
 x86_tune_integer_dfmode_moves, x86_tune_partial_reg_dependency,
 x86_tune_sse_partial_reg_dependency, x86_tune_sse_unaligned_load_optimal,
 x86_tune_sse_unaligned_store_optimal, x86_tune_sse_typeless_stores,
 x86_tune_memory_mismatch_stall, x86_tune_use_ffreep,
 x86_tune_inter_unit_moves, x86_tune_inter_unit_conversions,
 x86_tune_use_bt, x86_tune_pad_returns, x86_tune_slow_imul_imm32_mem,
 x86_tune_slow_imul_imm8, x86_tune_fuse_cmp_and_branch):
Enable/disable for bdver1.
(processor_target_table): Add bdver1_cost.
(cpu_names): Add bdver1.
(override_options): Set up PROCESSOR_BDVER1 for bdver1 entry in
 processor_alias_table.
(ix86_expand_vector_move_misalign): Change
 TARGET_SSE_UNALIGNED_MOVE_OPTIMAL to TARGET_SSE_UNALIGNED_LOAD_OPTIMAL.
 Check for TARGET_SSE_UNALIGNED_STORE_OPTIMAL.
 Check for TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL to emit movups instead
 of movupd/movdqu for SSE and AVX.
(ix86_tune_issue_rate): Add PROCESSOR_BDVER1.
(ix86_tune_adjust_cost): Add code for bdver1.
(standard_sse_constant_opcode): Add check for
TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL to emit packed single xor instead
of packed double xor for SSE and AVX.

From-SVN: r159399

14 years agotree-ssa-loop.prefetch.c (prune_ref_by_group_reuse): Cast abs() result to unsigned.
Pat Haugen [Fri, 14 May 2010 15:48:51 +0000 (15:48 +0000)]
tree-ssa-loop.prefetch.c (prune_ref_by_group_reuse): Cast abs() result to unsigned.

* tree-ssa-loop.prefetch.c (prune_ref_by_group_reuse): Cast abs()
result to unsigned.

From-SVN: r159397

14 years agotoplev.c (default_debug_hooks): Remove this variable.
Tristan Gingold [Fri, 14 May 2010 15:42:30 +0000 (15:42 +0000)]
toplev.c (default_debug_hooks): Remove this variable.

2010-05-14  Tristan Gingold  <gingold@adacore.com>

* toplev.c (default_debug_hooks): Remove this variable.
(process_options): Remove assignments to default_debug_hooks.

From-SVN: r159396

14 years agocp-lang.c (LANG_HOOKS_FOLD_OBJ_TYPE_REF): Remove both its undef and define.
Martin Jambor [Fri, 14 May 2010 13:08:45 +0000 (15:08 +0200)]
cp-lang.c (LANG_HOOKS_FOLD_OBJ_TYPE_REF): Remove both its undef and define.

2010-05-14  Martin Jambor  <mjambor@suse.cz>

* cp/cp-lang.c (LANG_HOOKS_FOLD_OBJ_TYPE_REF): Remove both its undef
and define.

* langhooks-def.h (LANG_HOOKS_FOLD_OBJ_TYPE_REF): Remove.
(LANG_HOOKS_INITIALIZER): Remove LANG_HOOKS_FOLD_OBJ_TYPE_REF.
* langhooks.h (struct lang_hooks_for_decls): Removed field
fold_obj_type_ref.
* tree.c (free_lang_data): Remove assignment to
lang_hooks.fold_obj_type_ref.
* tree.def (OBJ_TYPE_REF): Update comment.

From-SVN: r159393

14 years agore PR tree-optimization/44124 (valgrind reports invalid read while compiling compile...
Richard Guenther [Fri, 14 May 2010 12:36:28 +0000 (12:36 +0000)]
re PR tree-optimization/44124 (valgrind reports invalid read while compiling compile/pr34091.c)

2010-05-14  Richard Guenther  <rguenther@suse.de>

PR tree-optimization/44124
* tree-ssa-sccvn.c (vn_nary_may_trap): Fix invalid memory access.

From-SVN: r159390

14 years agotrans.c (trans_code): Set backend locus early.
Jakub Jelinek [Fri, 14 May 2010 07:40:06 +0000 (09:40 +0200)]
trans.c (trans_code): Set backend locus early.

* trans.c (trans_code): Set backend locus early.
* trans-decl.c (gfc_get_fake_result_decl): Use source location
of the function instead of current input_location.

* gfortran.dg/gomp/pr44036-1.f90: Adjust.

From-SVN: r159388

14 years agoFix long lines
Eric Botcazou [Fri, 14 May 2010 06:23:16 +0000 (06:23 +0000)]
Fix long lines

From-SVN: r159386

14 years agocall.c (build_new_method_call): Change warning text.
Jonathan Wakely [Fri, 14 May 2010 05:32:48 +0000 (05:32 +0000)]
call.c (build_new_method_call): Change warning text.

2010-05-14  Jonathan Wakely  <jwakely.gcc@gmail.com>

* call.c (build_new_method_call): Change warning text.
* typeck2.c (build_functional_cast): Change error text.

From-SVN: r159385

14 years agore PR c++/30566 (-Wshadow warns about clashes between nested function parameters...
Shujing Zhao [Fri, 14 May 2010 03:19:32 +0000 (03:19 +0000)]
re PR c++/30566 (-Wshadow warns about clashes between nested function parameters in C++)

gcc/cp/
2010-05-14  Shujing Zhao  <pearly.zhao@oracle.com>

        PR c++/30566
        * name-lookup.c (pushdecl_maybe_friend): Avoid the warnings about
        shadowing the outer parameter or variables by the declaration of
        nested function in nested structure or class. Warn the shadowing by
        the declaration of nested lambda expression.

gcc/testsuite/
2010-05-14  Shujing Zhao  <pearly.zhao@oracle.com>

        PR c++/30566
        * testsuite/g++.dg/warn/Wshadow-4.C: Adjust.
        * testsuite/g++.dg/warn/Wshadow-5.C: New test.
        * testsuite/g++.dg/warn/Wshadow-6.C: New test.

From-SVN: r159383

14 years agore PR target/44075 (__builtin_eh_return miscompiled)
Alan Modra [Fri, 14 May 2010 00:35:16 +0000 (10:05 +0930)]
re PR target/44075 (__builtin_eh_return miscompiled)

PR target/44075
* config/rs6000/rs6000.c (struct machine_function): Reorder
fields for better packing.  Add lr_save_state.
(rs6000_ra_ever_killed): Return lr_save_state if set.
(rs6000_emit_eh_reg_restore): Set lr_save_state.

From-SVN: r159382

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

From-SVN: r159381

14 years agotypeck.c (cp_build_array_ref): Factor out from...
Jason Merrill [Thu, 13 May 2010 20:53:38 +0000 (16:53 -0400)]
typeck.c (cp_build_array_ref): Factor out from...

* typeck.c (cp_build_array_ref): Factor out from...
(build_array_ref): ...here.  Drop complain parm.
(build_new_op): Adjust.
* class.c (build_vtbl_ref_1): Adjust.
* decl2.c (grok_array_decl): Adjust.
* cp-tree.h: Adjust prototypes.

From-SVN: r159377

14 years ago* decl.c (cp_finish_decl): Do not worry about used attribute.
Jan Hubicka [Thu, 13 May 2010 17:49:49 +0000 (19:49 +0200)]
* decl.c (cp_finish_decl): Do not worry about used attribute.

From-SVN: r159372

14 years agovarpool.c (decide_is_variable_needed): Drop code checking TREE_SYMBOL_REFERENCED.
Jan Hubicka [Thu, 13 May 2010 17:47:48 +0000 (19:47 +0200)]
varpool.c (decide_is_variable_needed): Drop code checking TREE_SYMBOL_REFERENCED.

* varpool.c (decide_is_variable_needed): Drop code checking
TREE_SYMBOL_REFERENCED.

From-SVN: r159371

14 years agofinal.c (output_addr_const): Do not call mark_decl_referenced.
Jan Hubicka [Thu, 13 May 2010 17:46:21 +0000 (19:46 +0200)]
final.c (output_addr_const): Do not call mark_decl_referenced.

* final.c (output_addr_const): Do not call mark_decl_referenced.
* cgraphunit.c (process_function_and_variable_attributes): Use
mark_needed_node dirrectly.
(assemble_thunk): Do not call mark_decl_referenced.

From-SVN: r159370

14 years ago* targhooks.c (default_mode_dependent_address_p): Cast 'addr' to rtx.
Anatoly Sokolov [Thu, 13 May 2010 16:29:00 +0000 (20:29 +0400)]
* targhooks.c (default_mode_dependent_address_p): Cast 'addr' to rtx.

From-SVN: r159369

14 years agoira-conflicts.c (print_allocno_conflicts): New function broken out from...
Jeff Law [Thu, 13 May 2010 14:46:29 +0000 (08:46 -0600)]
ira-conflicts.c (print_allocno_conflicts): New function broken out from...

* ira-conflicts.c (print_allocno_conflicts): New function broken out
from...
(print_conflicts): Call print_allocno_conflicts.

From-SVN: r159368

14 years agore PR middle-end/44104 (New test failures)
Jakub Jelinek [Thu, 13 May 2010 14:24:36 +0000 (16:24 +0200)]
re PR middle-end/44104 (New test failures)

PR debug/44104
* dwarf2out.c (modified_type_die): Don't dereference mod_type_die
if it is NULL.

From-SVN: r159367

14 years agore PR fortran/35779 (error pointer wrong in PARAMETER)
Daniel Franke [Thu, 13 May 2010 14:08:05 +0000 (10:08 -0400)]
re PR fortran/35779 (error pointer wrong in PARAMETER)

gcc/fortran/:
2010-05-13  Daniel Franke  <franke.daniel@gmail.com>

        PR fortran/35779
        * intrinsic.c (gfc_init_expr): Renamed to gfc_init_expr_flag.
        Updated all usages.
        * expr.c (init_flag): Removed; use gfc_init_expr_flag everywhere.
        * array.c (match_array_list): Pass on gfc_init_expr_flag when matching
        iterators.

gcc/testsuite/:
2010-05-13  Daniel Franke  <franke.daniel@gmail.com>

        PR fortran/35779
        * gfortran.dg/initialization_25.f90: New.

From-SVN: r159366

14 years agoconfig.gcc (i[34567]86-*-mingw* | x86_64-*-mingw*): Choose t-mingw-w64 or t-mingw...
Kai Tietz [Thu, 13 May 2010 12:36:59 +0000 (12:36 +0000)]
config.gcc (i[34567]86-*-mingw* | x86_64-*-mingw*): Choose t-mingw-w64 or t-mingw-w32 for multilib configuration.

2010-05-13  Kai Tietz  <kai.tietz@onevision.com>

        * config.gcc (i[34567]86-*-mingw* | x86_64-*-mingw*): Choose
        t-mingw-w64 or t-mingw-w32 for multilib configuration.
        * config/i386/t-mingw-w32: New.
        * config/i386/t-mingw-w64 (MULTILIB_OSDIRNAMES): Change lib64 to lib.

From-SVN: r159364

14 years agogimple.c (gimple_fold_obj_type_ref): Removed (a replacement moved to gimple-fold.c).
Martin Jambor [Thu, 13 May 2010 12:19:02 +0000 (14:19 +0200)]
gimple.c (gimple_fold_obj_type_ref): Removed (a replacement moved to gimple-fold.c).

2010-05-13  Martin Jambor  <mjambor@suse.cz>

* gimple.c (gimple_fold_obj_type_ref): Removed (a replacement moved to
gimple-fold.c).
* gimple-fold.c (get_base_binfo_for_type): New function.
(gimple_get_relevant_ref_binfo): Likewise.
(gimple_fold_obj_type_ref_known_binfo): Likewise.
(gimple_fold_obj_type_ref): Likewise.
(fold_gimple_call): Simplify condition for folding virtual calls
and call gimple_fold_obj_type_ref.
* gimple.h (gimple_get_relevant_ref_binfo): Declare.
(gimple_fold_obj_type_ref_known_binfo): Likewise.

* testsuite/g++.dg/otr-fold-1.C: New test.
* testsuite/g++.dg/otr-fold-2.C: New test.

From-SVN: r159362

14 years agore PR fortran/44036 (I can't declare an external function in an OMP shared statement.)
Jakub Jelinek [Thu, 13 May 2010 12:02:50 +0000 (14:02 +0200)]
re PR fortran/44036 (I can't declare an external function in an OMP shared statement.)

PR fortran/44036
* openmp.c (resolve_omp_clauses): Allow procedure pointers in clause
variable lists.
* trans-openmp.c (gfc_omp_privatize_by_reference): Don't privatize
by reference dummy procedures or non-dummy procedure pointers.
(gfc_omp_predetermined_sharing): Return
OMP_CLAUSE_DEFAULT_FIRSTPRIVATE for dummy procedures.

* gfortran.dg/gomp/pr44036-1.f90: New test.
* gfortran.dg/gomp/pr44036-2.f90: New test.
* gfortran.dg/gomp/pr44036-3.f90: New test.

From-SVN: r159361

14 years ago* config/rs6000/rs6000-protos.h
Andreas Schwab [Thu, 13 May 2010 11:39:28 +0000 (11:39 +0000)]
* config/rs6000/rs6000-protos.h
(rs6000_mode_dependent_address_ptr): Change argument to const_rtx.
* config/rs6000/rs6000.c (rs6000_mode_dependent_address)
(rs6000_debug_mode_dependent_address)
(rs6000_mode_dependent_address_ptr): Likewise.

From-SVN: r159359

14 years agoFix formatting nits
Eric Botcazou [Thu, 13 May 2010 11:29:29 +0000 (11:29 +0000)]
Fix formatting nits

From-SVN: r159358

14 years agore PR debug/43983 (var-tracking needlessly throws away location info for SRAed vars)
Jakub Jelinek [Thu, 13 May 2010 10:40:51 +0000 (12:40 +0200)]
re PR debug/43983 (var-tracking needlessly throws away location info for SRAed vars)

PR debug/43983
* var-tracking.c (track_expr_p): Allow tracking of variables optimized
by SRA.
* Makefile.in (dwarf2out.o): Depend on $(TREE_FLOW_H).
* tree-sra.c (create_access_replacement): Call unshare_expr before
passing expr to SET_DECL_DEBUG_EXPR, and remove any SSA_NAMEs from
it.
* dwarf2out.c: Include tree-flow.h.
(struct var_loc_node): Rename var_loc_note field to loc, add comment.
(size_of_loc_descr, output_loc_operands, output_loc_operands_raw):
Handle DW_OP_bit_piece.
(decl_piece_bitsize, decl_piece_varloc_ptr, decl_piece_node,
construct_piece_list, adjust_piece_list): New functions.
(add_var_loc_to_decl): Handle SRA optimized variables.
Adjust for var_loc_note to loc field renaming.
(dw_loc_list_1): For WANT_ADDRESS == 2 prefer DECL_MODE of decl
in VAR_LOCATION note.
(new_loc_descr_op_bit_piece): New function.
(dw_sra_loc_expr): New function.
(dw_loc_list): Use it.  Don't handle the last range after the
loop, handle it inside of the loop.  Adjust for var_loc_note
to loc field renaming.
(add_location_or_const_value_attribute): Only special case
single entry loc lists if loc is NOTE_P.  Adjust for
var_loc_note to loc field renaming.
(dwarf2out_var_location): Don't set newloc->var_loc_note
and newloc->next here.

* gcc.dg/guality/sra-1.c: New test.

From-SVN: r159357

14 years agotracebak.c (__gnat_backtrace): Mark top_stack with ATTRIBUTE_UNUSED.
Andreas Schwab [Thu, 13 May 2010 09:59:29 +0000 (09:59 +0000)]
tracebak.c (__gnat_backtrace): Mark top_stack with ATTRIBUTE_UNUSED.

* tracebak.c (__gnat_backtrace): Mark top_stack with
ATTRIBUTE_UNUSED.

From-SVN: r159356

14 years agocgraph.c (cgraph_mark_address_taken_node): No longer imply needed flag.
Jan Hubicka [Thu, 13 May 2010 06:13:46 +0000 (08:13 +0200)]
cgraph.c (cgraph_mark_address_taken_node): No longer imply needed flag.

* cgraph.c (cgraph_mark_address_taken_node): No longer imply needed flag.
* cgraph.h (cgraph_only_called_directly_p,
cgraph_can_remove_if_no_direct_calls_p): test address_taken flag.
(cgraph_can_remove_if_no_direct_calls_and_refs_p): New function.
* cgraphunit.c (cgraph_mark_functions_to_output): Test address_taken.
(assemble
* ipa.c (cgraph_remove_unreachable_nodes): Use
cgraph_can_remove_if_no_direct_calls_and_refs_p; clear address_taken flags.
* tree-inline.c (copy_bb): Check address_taken flag.
* tree-profile.c (tree_gen_ic_func_profiler): Check address_taken and
externally_visible flag.

* tree-ssa/unreachable.c: New test.

From-SVN: r159354

14 years agotypeck.c (build_array_ref): Take complain parm.
Jason Merrill [Thu, 13 May 2010 05:05:21 +0000 (01:05 -0400)]
typeck.c (build_array_ref): Take complain parm.

* typeck.c (build_array_ref): Take complain parm.
* cp-tree.h: Add it to prototype.
* call.c (build_new_op): Pass it.
* class.c (build_vtbl_ref): Pass it.
* decl2.c (grok_array_decl): Pass it.

From-SVN: r159351

14 years agore PR bootstrap/44048 (building without C++ enabled fails)
Jason Merrill [Thu, 13 May 2010 05:04:46 +0000 (01:04 -0400)]
re PR bootstrap/44048 (building without C++ enabled fails)

PR bootstrap/44048
PR target/44099
gcc/cp:
* cp-tree.def (NULLPTR_TYPE): Remove.
* cp-tree.h (NULLPTR_TYPE_P): New.
(SCALAR_TYPE_P): Use it.
(nullptr_type_node): New.
(cp_tree_index): Add CPTI_NULLPTR_TYPE.
* decl.c (cxx_init_decl_processing): Call record_builtin_type on
nullptr_type_node.
* cvt.c (ocp_convert): Use NULLPTR_TYPE_P instead of NULLPTR_TYPE.
* cxx-pretty-print.c (pp_cxx_constant): Likewise.
* error.c (dump_type, dump_type_prefix, dump_type_suffix): Likewise.
* mangle.c (write_type): Likewise.
* name-lookup.c (arg_assoc_type): Likewise.
* typeck.c (build_reinterpret_cast_1): Likewise.
* rtti.c (typeinfo_in_lib_p): Likewise.
(emit_support_tinfos): Remove local nullptr_type_node.
gcc:
* dbxout.c (dbxout_type): Remove NULLPTR_TYPE handling.
* sdbout.c (plain_type_1): Likewise.
* dwarf2out.c (is_base_type): Likewise.
(gen_type_die_with_usage): Likewise.  Generate
DW_TAG_unspecified_type for any LANG_TYPE.

From-SVN: r159350

14 years agocp-tree.h (UNKNOWN_TYPE): Remove.
Jason Merrill [Thu, 13 May 2010 05:04:14 +0000 (01:04 -0400)]
cp-tree.h (UNKNOWN_TYPE): Remove.

* cp-tree.h (UNKNOWN_TYPE): Remove.
* decl.c (cxx_init_decl_processing): Use LANG_TYPE instead.
* error.c (dumy_type, dump_type_prefix, dump_type_suffix): Likewise.
* typeck2.c (cxx_incomplete_type_diagnostic): Likewise.
* class.c (instantiate_type): Check unknown_type_node rather than
UNKNOWN_TYPE.
* name-lookup.c (maybe_push_decl): Likewise.
* rtti.c (get_tinfo_decl_dynamic): Likewise.
(get_typeid): Likewise.
* semantics.c (finish_offsetof): Likewise.

From-SVN: r159349

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

From-SVN: r159348

14 years agoleak_test.c (main): Declare as int.
Uros Bizjak [Wed, 12 May 2010 22:45:35 +0000 (00:45 +0200)]
leak_test.c (main): Declare as int.

* tests/leak_test.c (main): Declare as int.  Return 0.
* tests/thread_leak_test.c (main): Ditto.
* tests/trace_test.c (main): Ditto.

From-SVN: r159344

14 years agocgraphbuild.c (build_cgraph_edges, [...]): Build indrect edges too.
Jan Hubicka [Wed, 12 May 2010 21:32:59 +0000 (23:32 +0200)]
cgraphbuild.c (build_cgraph_edges, [...]): Build indrect edges too.

* cgraphbuild.c (build_cgraph_edges, rebuild_cgraph_edges): Build
indrect edges too.
* cgraph.c (cgraph_create_indirect_edge): Take ecf_flags argument.
(cgraph_clone_edge): Update.
(cgraph_node_remove_callees): Remove indirect calls too.
* cgraph.h (cgraph_indirect_call_info): Add ecf_flags.
(cgraph_create_indirect_edge): Update prototype.
* ipa-reference.c (has_proper_scope_for_analysis): Rename to
is_proper_for_analysis.
(add_new_function, visited_nodes, function_insertion_hook_holder,
get_local_reference_vars_info, mark_address_taken, mark_address,
mark_load, mark_store, check_asm_memory_clobber, check_call,
scan_stmt_for_static_refs, scan_initializer_for_static_refs): Remove.
(ipa_init): Do not initialize visited_nodes;
function_insertion_hook_holder.
(analyze_variable): Rewrite.
(analyze_function): Rewrite.
(copy_local_bitmap): Remove.
(duplicate_node_dat): Do not duplicate local info.
(generate_summary): Simplify to only walk cgraph.
(write_node_summary_p, ipa_reference_write_summary,
ipa_reference_read_summary): Remove.
(propagate): Do not remove function insertion;
generate summary.
(pass_ipa_reference): NULLify summary handling fields.
* lto-cgraph.c (lto_output_edge): Output ecf_flags.
(input_edge): Input ecf_flags.
* ipa-prop.c (ipa_note_parm_call): Expect edge to be around.
(update_indirect_edges_after_inlining): Ignore edges with unknown
param.

From-SVN: r159343

14 years agoimplicit-zee.c: New file.
Sriraman Tallam [Wed, 12 May 2010 21:15:19 +0000 (21:15 +0000)]
implicit-zee.c: New file.

* implicit-zee.c: New file.
* tree-pass.h (pass_implicit_zee): Declare.
* passes.c (init_optimization_passes): Add zee pass.
* common.opt (fzee): New flag.
* timevar.def (TV_ZEE): Define.
* config/i386/i386.c (optimization_options): Turn on ZEE for level 2
and beyond.
* Makefile.in (implicit-zee.o): Add new build file.
* gcc.target/i386/zee.c: New file.

From-SVN: r159342

14 years agoc-common.c (sync_resolve_params): Remove write-only variable.
Kazu Hirata [Wed, 12 May 2010 19:51:37 +0000 (19:51 +0000)]
c-common.c (sync_resolve_params): Remove write-only variable.

* c-common.c (sync_resolve_params): Remove write-only variable.

Co-Authored-By: Nathan Froyd <froydnj@codesourcery.com>
From-SVN: r159340

14 years agotarget.h (struct gcc_target): Add mode_dependent_address_p field.
Anatoly Sokolov [Wed, 12 May 2010 19:08:31 +0000 (23:08 +0400)]
target.h (struct gcc_target): Add mode_dependent_address_p field.

* target.h (struct gcc_target): Add mode_dependent_address_p field.
* target-def.h (TARGET_MODE_DEPENDENT_ADDRESS_P): New.
(TARGET_INITIALIZER): Use TARGET_MODE_DEPENDENT_ADDRESS_P.
* targhooks.c (default_mode_dependent_address_p): New function.
* targhooks.h (default_mode_dependent_address_p): Declare function.
* doc/tm.texi (TARGET_MODE_DEPENDENT_ADDRESS_P): New.
(GO_IF_MODE_DEPENDENT_ADDRESS): Update.
* recog.c: (mode_dependent_address_p): Call mode_dependent_address_p
target hook. Change return type to bool.
* recog.h: (mode_dependent_address_p): Change return type to bool.

From-SVN: r159339

14 years ago* MAINTAINERS (Write After Approval): Add myself.
Sriraman Tallam [Wed, 12 May 2010 18:48:15 +0000 (18:48 +0000)]
* MAINTAINERS (Write After Approval): Add myself.

From-SVN: r159338

14 years agore PR c++/20669 (Template candidates not listed in error message.)
Jason Merrill [Wed, 12 May 2010 17:34:55 +0000 (13:34 -0400)]
re PR c++/20669 (Template candidates not listed in error message.)

PR c++/20669
* call.c (add_template_candidate_real): If deduction fails, still
add the template as a non-viable candidate.
(equal_functions): Handle template candidates.
(print_z_candidate): Likewise.
(print_z_candidates): Likewise.
(build_new_function_call): Likewise.

From-SVN: r159335

14 years agocp-tree.h (LOOKUP_LIST_ONLY): New.
Jason Merrill [Wed, 12 May 2010 17:34:38 +0000 (13:34 -0400)]
cp-tree.h (LOOKUP_LIST_ONLY): New.

* cp-tree.h (LOOKUP_LIST_ONLY): New.
* call.c (add_candidates): Enforce it.
(build_new_method_call): Try non-list ctor if no viable list ctor.
(build_user_type_conversion_1): Likewise.

From-SVN: r159334

14 years agocall.c (add_candidates): Distinguish between type(x) and x.operator type().
Jason Merrill [Wed, 12 May 2010 17:34:28 +0000 (13:34 -0400)]
call.c (add_candidates): Distinguish between type(x) and x.operator type().

* call.c (add_candidates): Distinguish between type(x) and
x.operator type().
(convert_class_to_reference): Set LOOKUP_NO_CONVERSION.
(build_new_method_call): Give better error for conversion op.

From-SVN: r159333

14 years agocall.c (add_candidates): Add first_arg and return_type parms.
Jason Merrill [Wed, 12 May 2010 17:34:15 +0000 (13:34 -0400)]
call.c (add_candidates): Add first_arg and return_type parms.

* call.c (add_candidates): Add first_arg and return_type parms.
Add special constructor/conversion op handling.
(convert_class_to_reference): Use it.
(build_user_type_conversion_1): Likewise.
(build_op_call): Likewise.
(build_new_method_call): Likewise.
(build_new_op): Adjust.
(perform_overload_resolution): Adjust.

From-SVN: r159332

14 years agotree-mudflap.c (build_function_type_0, [...]): Remove.
Kazu Hirata [Wed, 12 May 2010 15:53:39 +0000 (15:53 +0000)]
tree-mudflap.c (build_function_type_0, [...]): Remove.

* tree-mudflap.c (build_function_type_0, build_function_type_1,
build_function_type_2, build_function_type_3): Remove.
(mudflap_init): Use build_function_type_list.

Co-Authored-By: Nathan Froyd <froydnj@codesourcery.com>
From-SVN: r159328

14 years agocoverage.c (build_fn_info_value): Call build_constructor instead of build_constructor...
Kazu Hirata [Wed, 12 May 2010 15:33:10 +0000 (15:33 +0000)]
coverage.c (build_fn_info_value): Call build_constructor instead of build_constructor_from_list.

* coverage.c (build_fn_info_value): Call build_constructor instead of
build_constructor_from_list.
(build_ctr_info_value): Likewise.
(build_gcov_info): Likewise.

Co-Authored-By: Nathan Froyd <froydnj@codesourcery.com>
From-SVN: r159326

14 years agotree.c (build_constructor): Compute TREE_CONSTANT for the resultant constructor.
Nathan Froyd [Wed, 12 May 2010 15:29:51 +0000 (15:29 +0000)]
tree.c (build_constructor): Compute TREE_CONSTANT for the resultant constructor.

* tree.c (build_constructor): Compute TREE_CONSTANT for the
resultant constructor.
(build_constructor_single): Don't set TREE_CONSTANT.
(build_constructor_from_list): Don't compute TREE_CONSTANT.

From-SVN: r159325

14 years agocgraph.h (struct varpool_node): Add aux.
Jan Hubicka [Wed, 12 May 2010 13:49:34 +0000 (15:49 +0200)]
cgraph.h (struct varpool_node): Add aux.

* cgraph.h (struct varpool_node): Add aux.
* varasm.c (find_decl_and_mark_needed): Force output of varpool nodes.
* varpool.c (varpool_remove_node): Do not remove initializer.
(varpool_reset_queue): Export.
(varpool_finalize_decl): Volatile vars are forced to be output.
* lto-symtab.c (lto_varpool_replace_node): Clear out initializer of
replaced decl.
* ipa.c (enqueue_cgraph_node, enqueue_varpool_node,
process_references, varpool_can_remove_if_no_refs): New functions.
(cgraph_remove_unreachable_nodes): Handle variables too.

From-SVN: r159321