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
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
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
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
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
H.J. Lu [Wed, 12 May 2010 12:48:02 +0000 (12:48 +0000)]
Support AVX for cmpss/cmpsd.
gcc/
2010-05-12 H.J. Lu <hongjiu.lu@intel.com>
PR target/44088
* config/i386/sse.md (*avx_vmmaskcmp<mode>3): New.
gcc/testsuite/
2010-05-12 H.J. Lu <hongjiu.lu@intel.com>
PR target/44088
* gcc.target/i386/avx-cmpsd-1.c: New.
* gcc.target/i386/avx-cmpsd-2.c: Likewise.
* gcc.target/i386/avx-cmpss-1.c: Likewise.
* gcc.target/i386/avx-cmpss-2.c: Likewise.
* gcc.target/i386/sse-cmpss-1.c: Likewise.
* gcc.target/i386/sse2-cmpsd-1.c: Likewise.
From-SVN: r159319
Jakub Jelinek [Wed, 12 May 2010 12:11:00 +0000 (14:11 +0200)]
re PR middle-end/44085 (OpenMP - untied task accesses threadprivate - non-conforming but no msg)
PR middle-end/44085
* gimplify.c (enum omp_region_type): Add ORT_UNTIED_TASK,
change value of ORT_TASK.
(new_omp_context): Handle ORT_UNTIED_TASK like ORT_TASK.
(omp_notice_threadprivate_variable): New function.
(omp_notice_variable): Call it for threadprivate variables.
If enclosing ctx is a task, print enclosing task rather than
enclosing parallel. Handle ORT_UNTIED_TASK like ORT_TASK.
(gimplify_omp_task): Pass ORT_UNTIED_TASK instead of ORT_TASK
if task has untied clause.
* gcc.dg/gomp/pr44085.c: New test.
* gfortran.dg/gomp/pr44085.f90: New test.
From-SVN: r159316
Jakub Jelinek [Wed, 12 May 2010 12:08:34 +0000 (14:08 +0200)]
re PR debug/42278 (incorrect dwarf data gcc-4.4.2)
PR debug/42278
* dwarf2out.c (base_type_die): Don't add name attribute here.
(modified_type_die): Instead of sizetype use
its underlying original type. If a DW_TAG_base_type doesn't
have name added, add __unknown__.
(dwarf2out_imported_module_or_decl_1): Don't call base_type_die,
always call force_type_die instead.
From-SVN: r159315
Iain Sandoe [Wed, 12 May 2010 11:57:43 +0000 (11:57 +0000)]
Add this change, missed from the previous commit (but already in the Changelog).
From-SVN: r159314
Eric Botcazou [Wed, 12 May 2010 11:27:24 +0000 (11:27 +0000)]
decl.c (gnat_to_gnu_entity): Tidy up code, improve comments and fix formatting nits.
* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Access_Type>: Tidy up
code, improve comments and fix formatting nits.
From-SVN: r159312
Iain Sandoe [Wed, 12 May 2010 11:16:33 +0000 (11:16 +0000)]
Add TLS checks to ObjC
* objc-obj-c++-shared/Object1.m: New.
* objc.dg/torture: New directory.
* objc.dg/torture/tls: Ditto.
* objc.dg/tls: Ditto.
* objc.dg/torture/tls/trivial.m: New test.
* objc.dg/torture/tls/thr-init-2.m: New test.
* objc.dg/torture/tls/thr-init-3.m: New test.
* objc.dg/torture/tls/thr-init.m: New test.
* objc.dg/torture/tls/diag-1.m: New test.
* objc.dg/torture/tls/tls.exp: New.
* objc.dg/torture/trivial.m: New test.
* objc.dg/torture/dg-torture.exp: New.
* objc.dg/tls/diag-3.m: New test.
* objc.dg/tls/diag-4.m: New test.
* objc.dg/tls/diag-5.m: New test.
* objc.dg/tls/init-1.m: New test.
* objc.dg/tls/init-2.m: New test.
* objc.dg/tls/tls.exp: New.
* objc.dg/tls/diag-2.m: New test.
* lib/objc.exp: Respond to dg-additional-files.
From-SVN: r159311
Maxim Kuvyrkov [Wed, 12 May 2010 11:05:19 +0000 (11:05 +0000)]
targhooks.c (default_stack_protect_guard): Avoid sharing RTL for __stack_chk_guard.
* targhooks.c (default_stack_protect_guard): Avoid sharing RTL
for __stack_chk_guard.
* gcc.target/m68k/
20100512-1.c: New.
From-SVN: r159310
Eric Botcazou [Wed, 12 May 2010 10:59:38 +0000 (10:59 +0000)]
utils.c (update_pointer_to): Return early if the old pointer already points to the new type.
* gcc-interface/utils.c (update_pointer_to): Return early if the old
pointer already points to the new type. Chain the old pointer and its
variants at the end of new pointer's chain after updating them.
From-SVN: r159309
Jan Hubicka [Wed, 12 May 2010 10:05:16 +0000 (12:05 +0200)]
* lto.c (materialize_cgraph): Revert my previous patch.
From-SVN: r159305
GCC Administrator [Wed, 12 May 2010 00:17:18 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r159300
Paolo Carlini [Tue, 11 May 2010 20:53:36 +0000 (20:53 +0000)]
re PR c++/34272 (ICE with invalid template specialization)
/cp
2010-05-11 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/34272
PR c++/43630
PR c++/34491
* pt.c (process_partial_specialization): Return error_mark_node
in case of unused template parameters in partial specialization.
/testsuite
2010-05-11 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/34272
PR c++/43630
PR c++/34491
* g++.dg/template/crash97.C: New.
* g++.dg/template/crash98.C: Likewise.
* g++.dg/template/crash99.C: Likewise.
* g++.dg/cpp0x/pr31439.C: Adjust.
* g++.dg/template/crash95.C: Likewise.
From-SVN: r159295
Jakub Jelinek [Tue, 11 May 2010 19:54:51 +0000 (21:54 +0200)]
c-opts.c (c_common_parse_file): If start_end_main_source_file, don't call start_source_file debug hook here...
* c-opts.c (c_common_parse_file): If start_end_main_source_file,
don't call start_source_file debug hook here...
(finish_options): ... but here, after outputting predefined and
command line defines and undefs.
From-SVN: r159293
Kai Tietz [Tue, 11 May 2010 18:42:04 +0000 (18:42 +0000)]
lto-coff.c (IMAGE_FILE_MACHINE_ADM64): Rename to IMAGE_FILE_MACHINE_AMD64.
2010-05-11 Kai Tietz <kai.tietz@onevision.com>
* lto-coff.c (IMAGE_FILE_MACHINE_ADM64): Rename to
IMAGE_FILE_MACHINE_AMD64.
* lto-coff.c (IMAGE_FILE_MACHINE_ADM64): Likewise.
From-SVN: r159290
Jakub Jelinek [Tue, 11 May 2010 18:17:43 +0000 (20:17 +0200)]
re PR middle-end/44071 (ICE with asm goto and __builtin_unreachable())
PR middle-end/44071
* cfglayout.c (fixup_reorder_chain): Allow asm goto to have
no fallthru edge.
* cfgcleanup.c (try_optimize_cfg): When in cfglayout mode
optimizing away empty bb with no successors, move over its
footer chain to fallthru predecessor.
* cfgrtl.c (patch_jump_insn): Update also REG_LABEL_OPERAND.
(rtl_split_edge): For asm goto call patch_jump_insn even if
splitting fallthru edge.
* c-c++-common/asmgoto-4.c: New test.
* gcc.target/i386/pr44071.c: New test.
From-SVN: r159288
Jakub Jelinek [Tue, 11 May 2010 18:14:19 +0000 (20:14 +0200)]
re PR c++/44059 (Static initializers executed more than once when using unique global symbols)
PR c++/44059
* config/elfos.h (ASM_DECLARE_OBJECT_NAME): Use qnu_unique_object
even for DECL_ONE_ONLY DECL_ARTIFICIAL !TREE_READONLY decls.
* config/alpha/elf.h (ASM_DECLARE_OBJECT_NAME): Likewise.
* dwarf2asm.c (dw2_output_indirect_constant_1): Set TREE_READONLY
on DW.ref.* decls.
From-SVN: r159287
Jakub Jelinek [Tue, 11 May 2010 18:12:28 +0000 (20:12 +0200)]
re PR c++/44062 ((void)var; doesn't prevent 'set but not used' warning)
PR c++/44062
* c-parser.c (c_parser_expression): Mark LHS of a comma
expression as read if it is a decl, handled component or
COMPOUND_EXPR with that on the RHS.
* c-typeck.c (c_process_expr_stmt): Mark RHS of COMPOUND_EXPR
if it is a decl or handled component.
* semantics.c (finish_expr_stmt): Don't call mark_exp_read here...
* cvt.c (convert_to_void): ... but here. If expr is a COMPOUND_EXPR,
look at its second operand.
* c-c++-common/Wunused-var-7.c: New test.
* g++.dg/warn/Wunused-var-9.C: New test.
From-SVN: r159286
Daniel Franke [Tue, 11 May 2010 16:45:17 +0000 (12:45 -0400)]
re PR fortran/43711 (Unformitive error message for two NOWAIT in OpenMP directive)
gcc/fortran/:
2010-05-11 Daniel Franke <franke.daniel@gmail.com>
PR fortran/43711
* openmp.c (gfc_match_omp_taskwait): Report unexpected characters
after OMP statement.
(gfc_match_omp_critical): Likewise.
(gfc_match_omp_flush): Likewise.
(gfc_match_omp_workshare): Likewise.
(gfc_match_omp_master): Likewise.
(gfc_match_omp_ordered): Likewise.
(gfc_match_omp_atomic): Likewise.
(gfc_match_omp_barrier): Likewise.
(gfc_match_omp_end_nowait): Likewise.
gcc/testsuite/:
2010-05-11 Daniel Franke <franke.daniel@gmail.com>
PR fortran/43711
* gfortran.dg/gomp/pr43711.f90: New.
From-SVN: r159282
Jan Hubicka [Tue, 11 May 2010 16:27:31 +0000 (18:27 +0200)]
lto.c (lto_fixup_decls): Remove global var decls freeing here.
* lto.c (lto_fixup_decls): Remove global var decls freeing here.
(materialize_cgraph): Add it here.
From-SVN: r159281
Jan Hubicka [Tue, 11 May 2010 15:52:36 +0000 (17:52 +0200)]
lto-symtab.c (lto_symtab_free): New function.
* lto-symtab.c (lto_symtab_free): New function.
* lto-streamer.h (lto_symtab_free): Declare.
* lto-cgraph.c (reachable_from_other_partition_p): Export; do not assume
that if function is needed it is reachable.
(lto_output_node): See if it the function is reachable or referenced.
(output_cgraph): Update call of lto_output_node.
* lto-streamer.h (reachable_from_other_partition_p): Declare.
* lto.c (lto_fixup_decls): Free no longer needed lto_global_var_decls
vector.
* lto.c (lto_1_to_1_map): Remove some no longer needed checks.
(lto_promote_cross_file_statics): Never promote DECL_EXTERNAL;
use reachable_from_other_partition_p and
referenced_from_other_partition_p test.
From-SVN: r159280
Jan Hubicka [Tue, 11 May 2010 15:44:26 +0000 (17:44 +0200)]
crtstuff.c (__JCR_LIST__, [...]): Mark as used.
* crtstuff.c (__JCR_LIST__, __DTOR_END__, __JCR_END__, __FRAME_END__):
Mark as used.
From-SVN: r159279
Daniel Franke [Tue, 11 May 2010 15:43:16 +0000 (11:43 -0400)]
re PR fortran/31820 (Warning if case label value exceeds maximum value for type)
gcc/fortran/:
2010-05-11 Daniel Franke <franke.daniel@gmail.com>
PR fortran/31820
* resolve.c (validate_case_label_expr): Removed FIXME.
(resolve_select): Raise default warning on case labels out of range
of the case expression.
gcc/testsuite/:
2010-05-11 Daniel Franke <franke.daniel@gmail.com>
PR fortran/31820
* gfortran.dg/select_5.f90: Updated.
From-SVN: r159278
Jan Hubicka [Tue, 11 May 2010 15:15:48 +0000 (17:15 +0200)]
re PR tree-optimization/44063 (build broken for libgcc cris-elf, ICE in cgraph_estimate_size_after_inlining, at ipa-inline)
PR tree-optimize/44063
* ipa-inline.c (cgraph_edge_badness): Move always inlines to top of queue.
(cgraph_decide_inlining_of_small_function): Skip check when disrgarding
limits.
(estimate_function_body_sizes): Compute sizes even when disregarding.
* gcc.c-torture/compile/pr44063.c: New testcase.
From-SVN: r159273
Kai Tietz [Tue, 11 May 2010 15:06:38 +0000 (15:06 +0000)]
collect2.c (maybe_lto_object_file): Add x64-coff magic and check.
2010-05-11 Kai Tietz <kai.tietz@onevision.com>
* collect2.c (maybe_lto_object_file): Add x64-coff magic and check.
From-SVN: r159272
Kai Tietz [Tue, 11 May 2010 15:05:36 +0000 (15:05 +0000)]
lto-coff.c (validate_file): Add x64-coff support.
2010-05-11 Kai Tietz <kai.tietz@onevision.com>
* lto-coff.c (validate_file): Add x64-coff support.
* lto-coff.h (IMAGE_FILE_MACHINE_ADM64): New.
(COFF_KNOWN_MACHINES): Add IMAGE_FILE_MACHINE_ADM64.
* lto-lang.c (lto_build_c_type_nodes): Add check for
'long long unsigned int' for x64-windows.
(lto_init): Likewise.
From-SVN: r159271
Silvius Rus [Tue, 11 May 2010 10:23:20 +0000 (10:23 +0000)]
re PR libstdc++/43259 (ext/profile/all.cc fails on Solaris)
2010-05-11 Silvius Rus <silvius.rus@gmail.com>
PR libstdc++/43259
* include/profile/impl/profiler_algos.h: New.
* include/Makefile.am: Add.
* include/Makefile.in: Regenerate.
* include/profile/impl/profiler.h
(_GLIBCXX_PROFILE_DEFINE_UNINIT_DATA): Add.
* include/profile/impl/profiler_trace.h
(__mutex_t, __lock, __unlock): Remove.
(__lock_object_table, __lock_stack_table): Remove. Replace uses with
calls to __gnu_cxx::__mutex::lock.
(__unlock_object_table, __unlock_stack_table): Remove. Replace uses
with calls to __gnu_cxx::__mutex::unlock.
(__warn, __cost_factor_writer, __cost_factor_setter): Add.
* testsuite/ext/profile/profiler_algos.cc: New.
From-SVN: r159269
Silvius Rus [Tue, 11 May 2010 10:22:18 +0000 (10:22 +0000)]
re PR libstdc++/43259 (ext/profile/all.cc fails on Solaris)
2010-05-11 Silvius Rus <silvius.rus@gmail.com>
PR libstdc++/43259
* include/profile/impl/profiler_algos.h: New.
* include/Makefile.am: Add.
* include/Makefile.in: Regenerate.
* include/profile/impl/profiler.h
(_GLIBCXX_PROFILE_DEFINE_UNINIT_DATA): Add.
* include/profile/impl/profiler_trace.h
(__mutex_t, __lock, __unlock): Remove.
(__lock_object_table, __lock_stack_table): Remove. Replace uses with
calls to __gnu_cxx::__mutex::lock.
(__unlock_object_table, __unlock_stack_table): Remove. Replace uses
with calls to __gnu_cxx::__mutex::unlock.
(__warn, __cost_factor_writer, __cost_factor_setter): Add.
* testsuite/ext/profile/profiler_algos.cc: New.
From-SVN: r159268
Jan Hubicka [Tue, 11 May 2010 10:17:42 +0000 (12:17 +0200)]
lto-cgraph.c (output_cgraph): Remove loop adding all varpool nodes into every boundary.
* lto-cgraph.c (output_cgraph): Remove loop adding all varpool nodes
into every boundary.
From-SVN: r159267
Jan Hubicka [Tue, 11 May 2010 08:27:29 +0000 (10:27 +0200)]
* matrix-reorg.c (matrix_reorg): Rebuild edges.
From-SVN: r159263
Jan Hubicka [Tue, 11 May 2010 08:24:08 +0000 (10:24 +0200)]
lto-streamer.h (struct lto_streamer_cache_d): Nodes vector is in heap.
* lto-streamer.h (struct lto_streamer_cache_d): Nodes vector is in
heap.
From-SVN: r159262
Jan Hubicka [Tue, 11 May 2010 08:20:44 +0000 (10:20 +0200)]
lto-streamer.c (lto_streamer_cache_add_to_node_array, [...]): Put nodes into heap.
* lto-streamer.c (lto_streamer_cache_add_to_node_array,
lto_streamer_cache_delete): Put nodes into heap.
(struct lto_streamer_cache_d): Nodes vector is in heap.
From-SVN: r159261
Jan Hubicka [Tue, 11 May 2010 08:19:28 +0000 (10:19 +0200)]
cgraph.c (cgraph_mark_reachable_node): Accept references to optimized out extern inlines.
* cgraph.c (cgraph_mark_reachable_node): Accept references to optimized
out extern inlines.
From-SVN: r159260
Jan Hubicka [Tue, 11 May 2010 08:14:50 +0000 (10:14 +0200)]
cgraphbuild.c (cgraph_rebuild_references): New.
* cgraphbuild.c (cgraph_rebuild_references): New.
(cgraph_mark_reachable_node): Accept references to optimized out
extern inlines.
* cgraph.h (cgraph_rebuild_references): Declare.
* tree-inline.c (tree_function_versioning): Use it.
* ipa-struct-reorg.c (do_reorg_for_func): Likewise.
From-SVN: r159259
Jan Hubicka [Tue, 11 May 2010 08:12:07 +0000 (10:12 +0200)]
cgraph.c: Include ipa-utils.h
* cgraph.c: Include ipa-utils.h
(cgraph_create_virtual_clone): Update references.
* Makefile.in (cgraph.o): Add dependency at ipa-utils.h
From-SVN: r159258
Christian Borntraeger [Tue, 11 May 2010 07:29:59 +0000 (07:29 +0000)]
tree-ssa-loop-prefetch.c (prune_ref_by_group_reuse): Reset prefetch_before to PREFETCH_ALL if to accesses "meet" beyond cache size.
2010-05-11 Christian Borntraeger <borntraeger@de.ibm.com>
* tree-ssa-loop-prefetch.c (prune_ref_by_group_reuse): Reset
prefetch_before to PREFETCH_ALL if to accesses "meet" beyond
cache size.
From-SVN: r159257
Christian Borntraeger [Tue, 11 May 2010 07:28:42 +0000 (07:28 +0000)]
tree-ssa-loop-prefetch.c: Add debug for dropped prefetches.
2010-05-11 Christian Borntraeger <borntraeger@de.ibm.com>
* tree-ssa-loop-prefetch.c: Add debug for dropped prefetches.
From-SVN: r159256
Jakub Jelinek [Tue, 11 May 2010 06:50:24 +0000 (08:50 +0200)]
gcc.c (execute): For -### don't quote arguments that contain just alphanumerics and _/-.
* gcc.c (execute): For -### don't quote arguments that
contain just alphanumerics and _/-. characters.
* doc/invoke.texi: Document that change for -###.
From-SVN: r159255
Jakub Jelinek [Tue, 11 May 2010 06:48:15 +0000 (08:48 +0200)]
re PR debug/44023 (-fcompare-debug failure (length) for alphaev67 target (bootstrap failure))
PR debug/44023
* df-problems.c (struct dead_debug): Add to_rescan field.
(dead_debug_init): Clear to_rescan field.
(dead_debug_finish): Rescan all debug insns in to_rescan
bitmap and free the bitmap.
(dead_debug_insert_before): Instead of rescanning debug insns
immediately queue their rescanning until dead_debug_finish.
(df_note_bb_compute): After dead_debug_add do continue instead
of break.
* gcc.dg/pr44023.c: New test.
From-SVN: r159254
GCC Administrator [Tue, 11 May 2010 00:16:59 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r159251
Eric Botcazou [Mon, 10 May 2010 21:52:45 +0000 (21:52 +0000)]
exp_disp.adb (Make_Tags): Mark the imported view of dispatch tables built for interfaces.
* exp_disp.adb (Make_Tags): Mark the imported view of dispatch tables
built for interfaces.
* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Variable>: Use
imported_p instead of Is_Imported when considering constants.
Do not promote alignment of exported objects.
<E_Record_Subtype>: Strip all suffixes for dispatch table entities.
From-SVN: r159247
Jason Merrill [Mon, 10 May 2010 21:20:47 +0000 (17:20 -0400)]
re PR c++/44017 (ICE with template hierarchy)
PR c++/44017
* semantics.c (baselink_for_fns): Revert earlier change.
From-SVN: r159246
Jason Merrill [Mon, 10 May 2010 18:37:56 +0000 (14:37 -0400)]
re PR c++/44045 (initialization of array of shared_ptr's with initializer list causes compiler segfault)
PR c++/44045
* typeck.c (cp_build_modify_expr): Complain about assignment to
array from init list.
From-SVN: r159243
Fabien ChĂȘne [Mon, 10 May 2010 18:37:45 +0000 (18:37 +0000)]
re PR c++/43719 (uninitialized const member incorrectly accepted, using an array)
PR c++/43719
* decl.c (check_initializer): strip array type before checking for
uninitialized const or ref members.
From-SVN: r159242
Jakub Jelinek [Mon, 10 May 2010 18:28:03 +0000 (20:28 +0200)]
re PR debug/44028 (-fcompare-debug failure (length) with -O3 -fsched-pressure -fschedule-insns)
PR debug/44028
* haifa-sched.c (schedule_insn): When clearing INSN_VAR_LOCATION_LOC,
clear also INSN_REG_USE_LIST.
* gcc.dg/pr44028.c: New test.
From-SVN: r159240
Rainer Orth [Mon, 10 May 2010 18:26:12 +0000 (18:26 +0000)]
* config/mips/mips.c (TARGET_SMALL_REGISTER_CLASSES_FOR_MODE_P): Undef.
From-SVN: r159239
Daniel Franke [Mon, 10 May 2010 17:10:53 +0000 (13:10 -0400)]
re PR fortran/27866 (Warn when casting, e.g. assigning a double precision to a real)
gcc/fortran/:
2010-05-10 Daniel Franke <franke.daniel@gmail.com>
PR fortran/27866
PR fortran/35003
PR fortran/42809
* intrinsic.c (gfc_convert_type_warn): Be more discriminative
about conversion warnings.
gcc/testsuite/:
2010-05-08 Daniel Franke <franke.daniel@gmail.com>
PR fortran/27866
PR fortran/35003
PR fortran/42809
* gfortran.dg/array_constructor_type_17.f03: Updated match string.
* gfortran.dg/warn_conversion.f90: New.
From-SVN: r159238
Jan Hubicka [Mon, 10 May 2010 16:26:26 +0000 (18:26 +0200)]
* lto-stramer-out.c (produce_asm_for_decls): Correct accidentally commited change.
From-SVN: r159234
Jan Hubicka [Mon, 10 May 2010 16:13:52 +0000 (18:13 +0200)]
passes.c (ipa_write_summaries_1, [...]): Allocate encoders.
* passes.c (ipa_write_summaries_1, ipa_write_optimization_summaries): Allocate
encoders.
* lto-section-out.c (lto_new_out_decl_state): Do not allocate it here.
* lto-streamer.c (lto_streamer_cache_insert_1): Use alloc pool.
(lto_streamer_cache_create): Init alloc pool.
(lto_streamer_cache_delete): Free alloc pool.
* lto-streamer.h: Include alloc pool.
(lto_streamer_cache_d): Use alloc pool.
* lto-stramer-out.c (produce_asm_for_decls): Delete fn_out_states.
From-SVN: r159230
Jan Hubicka [Mon, 10 May 2010 16:00:40 +0000 (18:00 +0200)]
Makefile.in (cgraphbuild.o): Add dependency on except.h.
* Makefile.in (cgraphbuild.o): Add dependency on except.h.
* cgraphbuild.c: Include except.h
(record_type_list, record_eh_tables): New function.
(build_cgraph_edges, rebuild_cgraph_edges): Use it.
From-SVN: r159229
Jan Hubicka [Mon, 10 May 2010 15:53:04 +0000 (17:53 +0200)]
crtstuff.c (force_to_data, [...]): Attribute as used rather than unused.
* crtstuff.c (force_to_data, __do_global_dtors_aux_fini_array_entry,
__frame_dummy_init_array_entry, force_to_data): Attribute as used
rather than unused.
From-SVN: r159228
Uros Bizjak [Mon, 10 May 2010 15:23:29 +0000 (17:23 +0200)]
ChangeLog: Fix whitespace.
* ChangeLog: Fix whitespace.
* testsuite/ChangeLog: Ditto.
From-SVN: r159227
Michael Matz [Mon, 10 May 2010 14:31:37 +0000 (14:31 +0000)]
tree-ssa-reassoc.c (undistribute_ops_list): Use create_tmp_reg.
* tree-ssa-reassoc.c (undistribute_ops_list): Use create_tmp_reg.
(can_reassociate_p): Use FLOAT_TYPE_P.
* tree-vectorizer.h (vect_is_simple_reduction): Rename to ...
(vect_force_simple_reduction): ... this.
* tree-parloops.c (gather_scalar_reductions): Use
vect_force_simple_reduction.
* tree-vect-loop.c (vect_is_simple_reduction_1): Rename from
vect_is_simple_reduction, add modify argument, if true rewrite
"a-b" into "a+(-b)".
(vect_is_simple_reduction, vect_force_simple_reduction): New
functions.
(vect_analyze_scalar_cycles_1): Use vect_force_simple_reduction.
testsuite/
* gcc.dg/vect/fast-math-vect-reduc-8.c: New test.
From-SVN: r159226
H.J. Lu [Mon, 10 May 2010 14:02:43 +0000 (07:02 -0700)]
Nullify regno_allocno_map of the removed allocno.
gcc/
2010-05-10 H.J. Lu<hongjiu.lu@intel.com>
Vladimir Makarov<vmakarov@redhat.com>
PR rtl-optimization/44012
* ira-build.c (remove_unnecessary_allocnos): Nullify
regno_allocno_map of the removed allocno.
gcc/testsuite/
2010-05-10 H.J. Lu <hongjiu.lu@intel.com>
PR rtl-optimization/44012
* gcc.dg/pr44012.c: New.
From-SVN: r159223
Rainer Orth [Mon, 10 May 2010 13:45:23 +0000 (13:45 +0000)]
lto.exp (lto_prune_vis_warns): Renamed to lto_prune_warns.
* lib/lto.exp (lto_prune_vis_warns): Renamed to lto_prune_warns.
Log text on entry and exit.
Prune Sun ld warnings for common symbols with differing sizes.
(lto-link-and-maybe-run): Change caller.
From-SVN: r159222
Rainer Orth [Mon, 10 May 2010 13:36:36 +0000 (13:36 +0000)]
configure.ac (gcc_cv_ld_eh_gc_sections): Redirect objdump errors to /dev/null.
* configure.ac (gcc_cv_ld_eh_gc_sections): Redirect objdump errors
to /dev/null.
* configure: Regenerate.
From-SVN: r159220
Rainer Orth [Mon, 10 May 2010 13:01:58 +0000 (13:01 +0000)]
sol2.c (solaris_assemble_visibility): Declare decl, vis unused.
* config/sol2.c (solaris_assemble_visibility): Declare decl, vis
unused.
Define visibility_types, name, type inside HAVE_GAS_HIDDEN.
* configure.ac (gcc_cv_ld_hidden): Explain stages of visibility
support in Sun ld.
* configure: Regenerate.
From-SVN: r159218
Janus Weil [Mon, 10 May 2010 12:54:25 +0000 (14:54 +0200)]
re PR fortran/44044 ([OOP] SELECT TYPE with class-valued function)
2010-05-10 Janus Weil <janus@gcc.gnu.org>
PR fortran/44044
* match.c (gfc_match_select_type): Move error message to
resolve_select_type.
* resolve.c (resolve_select_type): Error message moved here from
gfc_match_select_type. Correctly set type of temporary.
2010-05-10 Janus Weil <janus@gcc.gnu.org>
PR fortran/44044
* gfortran.dg/class_7.f03: Modified.
* gfortran.dg/select_type_1.f03: Modified.
* gfortran.dg/select_type_12.f03: New.
From-SVN: r159217
Richard Guenther [Mon, 10 May 2010 11:28:38 +0000 (11:28 +0000)]
lto-symtab.c (lto_symtab_entry_marked_p): Make entry marked if the entry identifier is marked.
2010-05-10 Richard Guenther <rguenther@suse.de>
* lto-symtab.c (lto_symtab_entry_marked_p): Make entry
marked if the entry identifier is marked.
From-SVN: r159216
Richard Guenther [Mon, 10 May 2010 09:43:17 +0000 (09:43 +0000)]
c-common.c (struct c_common_attributes): Add fnspec attribute.
2010-05-10 Richard Guenther <rguenther@suse.de>
* c-common.c (struct c_common_attributes): Add fnspec attribute.
(handle_fnspec_attribute): New function.
* gimple.h (gimple_call_return_flags): Declare.
(gimple_call_arg_flags): Likewise.
* gimple.c (gimple_call_arg_flags): New function.
(gimple_call_return_flags): Likewise.
* tree.h (EAF_DIRECT, EAF_NOCLOBBER, EAF_NOESCAPE, EAF_UNUSED):
New argument flags.
(ERF_RETURN_ARG_MASK, ERF_RETURNS_ARG, ERF_NOALIAS): New function
return value flags.
* tree-ssa-alias.c (ref_maybe_used_by_call_p_1): Skip unused args.
* tree-ssa-structalias.c (make_constraint_from_heapvar): Split
main work to ...
(make_heapvar_for): ... this new function.
(handle_rhs_call): Handle fnspec attribute argument specifiers.
(handle_lhs_call): Likewise.
(find_func_aliases): Adjust.
fortran/
* trans-decl.c (gfc_build_library_function_decl): Split out
worker to ...
(build_library_function_decl_1): ... this new function.
Set a fnspec attribute if a specification was provided.
(gfc_build_library_function_decl_with_spec): New function.
(gfc_build_intrinsic_function_decls): Annotate internal_pack
and internal_unpack.
From-SVN: r159215
Richard Guenther [Mon, 10 May 2010 08:55:32 +0000 (08:55 +0000)]
re PR tree-optimization/44050 (Wrong code is produced with -fipa-pta -fno-tree-pta)
2010-05-10 Richard Guenther <rguenther@suse.de>
PR tree-optimization/44050
* tree-inline.c (tree_function_versioning): Clone the ipa-pta
flag.
* gcc.dg/torture/pr44050.c: New testcase.
From-SVN: r159214
Wei Guozhi [Mon, 10 May 2010 07:26:04 +0000 (07:26 +0000)]
thumb2.md (thumb2_tlobits_cbranch): New insn pattern.
* config/arm/thumb2.md (thumb2_tlobits_cbranch): New insn pattern.
* gcc.target/arm/pr42879.c: New testcase.
From-SVN: r159212
GCC Administrator [Mon, 10 May 2010 00:17:08 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r159211
Joseph Myers [Sun, 9 May 2010 21:01:38 +0000 (22:01 +0100)]
re PR testsuite/44051 (FAIL: gcc.dg/anon-struct-9.c (test for excess errors))
PR c/44051
* gcc.dg/anon-struct-9.c: Avoid generating identifier i386.
From-SVN: r159207
Joseph Myers [Sun, 9 May 2010 20:39:39 +0000 (21:39 +0100)]
re PR c/10676 (Using unnamed fields in initializers)
PR c/10676
* c-typeck.c (lookup_field): Take a type directly. Update
recursive calls.
(build_component_ref): Update call to lookup_field.
(set_init_label): Use lookup_field to find initialized field.
Handle returned list of fields like a sequence of designators.
testsuite:
* gcc.dg/anon-struct-10.c: New test.
From-SVN: r159206
Richard Guenther [Sun, 9 May 2010 18:17:33 +0000 (18:17 +0000)]
re PR c/44024 (missed optimization)
2010-05-09 Richard Guenther <rguenther@suse.de>
PR middle-end/44024
* fold-const.c (tree_single_nonzero_warnv_p): Properly
handle &FUNCTION_DECL.
* gcc.dg/pr44024.c: New testcase.
From-SVN: r159205
Joseph Myers [Sun, 9 May 2010 16:19:28 +0000 (17:19 +0100)]
re PR c/4784 (Anonymous structs issues)
PR c/4784
* c-decl.c (detect_field_duplicates_hash): New. Handle anonymous
structures and unions recursively.
(detect_field_duplicates): Move duplicate detection with a hash to
detect_field_duplicates_hash. Always use a hash if anonymous
structures or unions are present.
* doc/extend.texi (Unnamed Fields): Document that duplicate fields
give errors.
testsuite:
* gcc.dg/anon-struct-9.c: New test.
From-SVN: r159204
H.J. Lu [Sun, 9 May 2010 14:49:53 +0000 (14:49 +0000)]
Properly detect Atom, Core 2 and Core i7.
2010-05-09 H.J. Lu <hongjiu.lu@intel.com>
PR target/44046
* config/i386/driver-i386.c (host_detect_local_cpu): Properly
detect Atom, Core 2 and Core i7.
From-SVN: r159202
Richard Guenther [Sun, 9 May 2010 14:14:27 +0000 (14:14 +0000)]
gcc.c (store_arg): Handle temporary file deletion for joined arguments.
2010-05-09 Richard Guenther <rguenther@suse.de>
* gcc.c (store_arg): Handle temporary file deletion for
joined arguments.
From-SVN: r159201
Richard Guenther [Sun, 9 May 2010 14:13:25 +0000 (14:13 +0000)]
re PR tree-optimization/44043 (sorry, unimplemented: inlining failed in call to 'dst_output': optimizing for size and code size would grow)
2010-05-09 Richard Guenther <rguenther@suse.de>
PR middle-end/44043
* ipa-inline.c (estimate_function_body_sizes): Return after
disregarding inline limits.
* gcc.c-torture/compile/pr44043.c: New testcase.
From-SVN: r159200
Richard Guenther [Sun, 9 May 2010 13:12:24 +0000 (13:12 +0000)]
ipa-pta-11.c: Make p and q referenced.
2010-05-09 Richard Guenther <rguenther@suse.de>
* gcc.dg/ipa/ipa-pta-11.c: Make p and q referenced.
From-SVN: r159199
Eric Botcazou [Sun, 9 May 2010 10:32:36 +0000 (10:32 +0000)]
* gnat.dg/lto6.adb: Remove superfluous -gnat05 switch.
From-SVN: r159198
Richard Guenther [Sun, 9 May 2010 10:31:14 +0000 (10:31 +0000)]
gcc.c (store_arg): Revert last change.
2010-05-09 Richard Guenther <rguenther@suse.de>
* gcc.c (store_arg): Revert last change.
From-SVN: r159197
GCC Administrator [Sun, 9 May 2010 00:17:14 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r159195
Eric Botcazou [Sat, 8 May 2010 17:31:23 +0000 (17:31 +0000)]
lto[12456].adb: Add "target lto" marker.
* gnat.dg/lto[12456].adb: Add "target lto" marker.
* gnat.dg/specs/lto3.ads: Likewise.
From-SVN: r159191
Sandra Loosemore [Sat, 8 May 2010 15:53:59 +0000 (11:53 -0400)]
re PR middle-end/28685 (Multiple comparisons are not simplified)
2010-05-08 Sandra Loosemore <sandra@codesourcery.com>
PR middle-end/28685
gcc/
* tree-ssa-reassoc.c (eliminate_redundant_comparison): New function.
(optimize_ops_list): Call it.
gcc/testsuite/
* gcc.dg/pr28685-1.c: New file.
From-SVN: r159189
Janne Blomqvist [Sat, 8 May 2010 14:43:56 +0000 (17:43 +0300)]
Fix typo
From-SVN: r159188
Janne Blomqvist [Sat, 8 May 2010 14:43:32 +0000 (17:43 +0300)]
Fix typo in symbol visibility specification
From-SVN: r159187
Richard Guenther [Sat, 8 May 2010 13:12:56 +0000 (13:12 +0000)]
re PR tree-optimization/44030 (error: SSA name in freelist but still referenced)
2010-05-08 Richard Guenther <rguenther@suse.de>
PR tree-optimization/44030
* tree-ssa-pre.c (eliminate): Copy NECESSARY flag. Set
NECESSARY flag if we propagate from a inserted expression.
* gcc.c-torture/compile/pr44030.c: New testcase.
From-SVN: r159186
Eric Botcazou [Sat, 8 May 2010 12:06:57 +0000 (12:06 +0000)]
gimple.c (gimple_types_compatible_p): Treat bounds of domain types as equal if they are both PLACEHOLDER_EXPRs.
* gimple.c (gimple_types_compatible_p) <ARRAY_TYPE>: Treat bounds of
domain types as equal if they are both PLACEHOLDER_EXPRs.
From-SVN: r159185
Eric Botcazou [Sat, 8 May 2010 11:50:18 +0000 (11:50 +0000)]
exp_disp.adb (Make_Tags): Mark the imported view of dispatch tables.
* exp_disp.adb (Make_Tags): Mark the imported view of dispatch tables.
* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Variable>: Make imported
constants really constant.
<E_Record_Subtype>: Strip the suffix for dispatch table entities.
From-SVN: r159184
Eric Botcazou [Sat, 8 May 2010 11:38:26 +0000 (11:38 +0000)]
* gcc-interface/decl.c (make_aligning_type): Declare the type.
From-SVN: r159183
Eric Botcazou [Sat, 8 May 2010 11:31:31 +0000 (11:31 +0000)]
decl.c (gnat_to_gnu_entity): Create variables for size expressions of variant part of record types declared...
* gcc-interface/decl.c (gnat_to_gnu_entity): Create variables for size
expressions of variant part of record types declared at library level.
From-SVN: r159182
Eric Botcazou [Sat, 8 May 2010 11:17:57 +0000 (11:17 +0000)]
gigi.h (create_field_decl): Move PACKED parameter.
* gcc-interface/gigi.h (create_field_decl): Move PACKED parameter.
* gcc-interface/utils.c (create_field_decl): Move PACKED parameter.
(rest_of_record_type_compilation): Adjust call to create_field_decl.
(make_descriptor_field): Likewise and pass correctly typed constants.
(build_unc_object_type): Likewise.
(unchecked_convert): Likewise.
* gcc-interface/decl.c (elaborate_expression_2): New static function.
(gnat_to_gnu_entity): Use it to make alignment factors explicit.
Adjust call to create_field_decl.
(make_aligning_type): Likewise.
(make_packable_type): Likewise.
(maybe_pad_type): Likewise.
(gnat_to_gnu_field): Likewise.
(components_to_record): Likewise.
(create_field_decl_from): Likewise.
(create_variant_part_from): Remove superfluous test.
* gcc-interface/trans.c (gigi): Adjust call to create_field_decl.
From-SVN: r159181
Eric Botcazou [Sat, 8 May 2010 11:02:08 +0000 (11:02 +0000)]
gigi.h (build_unc_object_type): Add DEBUG_INFO_P param.
* gcc-interface/gigi.h (build_unc_object_type): Add DEBUG_INFO_P param.
(build_unc_object_type_from_ptr): Likewise.
* gcc-interface/utils.c (build_unc_object_type): Add DEBUG_INFO_P param
and pass it to create_type_decl. Declare the type. Simplify.
(build_unc_object_type_from_ptr): Add DEBUG_INFO_P parameter and pass
it to build_unc_object_type.
* gcc-interface/decl.c (gnat_to_gnu_entity): Adjust to above change.
* gcc-interface/trans.c (Attribute_to_gnu): Likewise.
(gnat_to_gnu): Likewise.
* gcc-interface/utils2.c (build_allocator): Likewise.
From-SVN: r159180
GCC Administrator [Sat, 8 May 2010 00:17:05 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r159179
Richard Guenther [Fri, 7 May 2010 22:13:14 +0000 (22:13 +0000)]
lto-wrapper.c (run_gcc): Remove linker output from command line for LTRANS invocation.
2010-05-08 Richard Guenther <rguenther@suse.de>
* lto-wrapper.c (run_gcc): Remove linker output from
command line for LTRANS invocation.
From-SVN: r159174
Steven Bosscher [Fri, 7 May 2010 21:37:43 +0000 (21:37 +0000)]
configure.ac (--enable-lto): Add x86_64-apple-darwin* as a platform that supports LTO.
ChangeLog:
* configure.ac (--enable-lto): Add x86_64-apple-darwin* as
a platform that supports LTO.
* configure: Regenerate.
gcc/ChangeLog:
* config.gcc (i[34567]86-*-darwin*, x86_64-*-darwin*): Add
lto-macho as lto_binary_reader.
* target.h (struct gcc_target): New hooks lto_start and lto_end.
* target-def.h (TARGET_ASM_LTO_START, TARGET_ASM_LTO_END): Define.
* cgraphunit.c (ipa_passes): Wrap LTO assembler output generation
in lto_start and lto_end calls.
(is_elf_or_coff): Rename to maybe_lto_object_file. Add Mach-O
magic numbers.
(scan_prog_file): Update is_elf_or_coff call.
* doc/tm.text (TARGET_ASM_LTO_START, TARGET_ASM_LTO_END): Document.
* collect2.c (main): Fix enum comparison.
* config/darwin-protos.h (darwin_asm_lto_start, darwin_asm_lto_end):
Add prototypes.
* darwin9.h (LINK_COMMAND_SPEC): Pass -flto and -fwhopr to the linker.
* darwin.h (LINK_COMMAND_SPEC): Likewise. Define TARGET_ASM_LTO_START
and TARGET_ASM_LTO_END.
* darwin.c: Include obstack.h and lto-streamer.h.
(lto_section_names_offset, lto_section_names_obstack,
lto_asm_out_file, lto_asm_out_name, saved_asm_out_file): New static
global variables.
(LTO_SEGMENT_NAME, LTO_NAMES_SECTION): New defines.
(darwin_asm_lto_start): New function. Redirect output to asm_out_file
to a temporary file.
(darwin_asm_lto_end): New function. Restore asm_out_file.
(darwin_asm_named_section): For LTO sections, replace the name with
the offset of the section name in a string table, and build this
table.
(darwin_file_start): Initialize global vars for LTO support.
(darwin_file_end): If output to asm_out_file was redirected, append it
to the proper asm_out_file here. Add the section names section.
lto/ChangeLog:
* lto.h (struct lto_file_struct): Document offset member.
* lto-endian.h: New file.
* lto-macho.h: New file.
* lto-macho.c: New file.
* Make-lang.in: Add rule for lto-macho.o.
From-SVN: r159173
Steven Bosscher [Fri, 7 May 2010 20:49:29 +0000 (20:49 +0000)]
c-pragma.c (pending_weak_d, [...]): New.
* c-pragma.c (pending_weak_d, pending_weak): New.
(pending_weaks): Change the type to VEC((pending_weak,gc) *.
(maybe_apply_pragma_weak, maybe_apply_pending_pragma_weaks,
handle_pragma_weak): Update the uses of pending_weaks.
From-SVN: r159172
Ralf Wildenhues [Fri, 7 May 2010 20:10:09 +0000 (20:10 +0000)]
Fix link to outdated cxx0x status page.
gcc/:
PR documentation/44016
* doc/standards.texi (Standards): Link to unversioned
cxx0x_status.html page.
From-SVN: r159168
Iain Sandoe [Fri, 7 May 2010 17:34:31 +0000 (17:34 +0000)]
re PR target/43708 (gcc.dg/pragma-darwin.c "set not used", not working with pragma)
PR target/43708
* config/darwin-c.c (darwin_pragma_unused): Set DECL_READ_P
in addition to TREE_USED, to avoid "set but unused" warnings.
From-SVN: r159164
Changpeng Fang [Fri, 7 May 2010 17:26:02 +0000 (17:26 +0000)]
Define the TRIP_COUNT_TO_AHEAD_RATIO heuristic.
2010-05-07 Changpeng Fang <changpeng.fang@amd.com>
* tree-ssa-loop-prefetch.c (TRIP_COUNT_TO_AHEAD_RATIO): New.
(is_loop_prefetching_profitable): Do not insert prefetches
when the trip count is not at least TRIP_COUNT_TO_AHEAD_RATIO
times the prefetch ahead distance.
From-SVN: r159163
Changpeng Fang [Fri, 7 May 2010 16:15:52 +0000 (16:15 +0000)]
Account for loop unrolling in the insn-to-prefetch ratio heuristic.
2010-05-07 Changpeng Fang <changpeng.fang@amd.com>
* tree-ssa-loop-prefetch.c (is_loop_prefetching_profitable):
Account for loop unrolling in the insn-to-prefetch ratio heuristic.
(loop_prefetch_arrays): Pass to is_loop_prefetching_profitable
the unroll_factor.
From-SVN: r159162
Changpeng Fang [Fri, 7 May 2010 16:15:45 +0000 (16:15 +0000)]
Dump a diagnostic info when the insn-to-mem ratio is too small.
2010-05-07 Changpeng Fang <changpeng.fang@amd.com>
* tree-ssa-loop-prefetch.c (is_loop_prefetching_profitable): Dump
a diagnostic info when the insn-to-mem ratio is too small.
From-SVN: r159161
Janne Blomqvist [Fri, 7 May 2010 15:55:59 +0000 (18:55 +0300)]
Remove free_mem
From-SVN: r159160
Richard Guenther [Fri, 7 May 2010 15:53:40 +0000 (15:53 +0000)]
re PR lto/43857 (-fresolution causes an ICE)
2010-05-07 Richard Guenther <rguenther@suse.de>
* gcc.c (LINK_COMMAND_SPEC): Provide a resolution file to
the linker plugin.
(store_arg): Queue temp_filename for deletion instead of
the whole argument.
lto/
PR lto/43857
PR lto/43371
* lang.opt (fresolution): Change to ...
(fresolution=): ... this.
* lto-lang.c (lto_handle_option): Adjust.
lto-plugin/
* lto-plugin.c (free_2): Do not free resolution_file.
(write_resolution): Check that we were passed a resolution file.
(all_symbols_read_handler): Adjust.
(cleanup_handler): Do not remove the resolution file.
(process_option): Handle -fresolution=.
From-SVN: r159159
Fabien ChĂȘne [Fri, 7 May 2010 15:52:06 +0000 (15:52 +0000)]
re PR c++/43951 (Revision 158918 miscompiled 483.xalancbmk in SPEC CPU 2006)
PR c++/43951
* init.c (diagnose_uninitialized_cst_or_ref_member_1): Returns the
error count. Emit errors only if compain is true.
(build_new_1): Do not return error_mark_node if
diagnose_uninitialized_cst_or_ref_member_1 does not diagnose any
errors. Delay the check for user-provided constructor.
(perform_member_init): Adjust.
* cp-tree.h (diagnose_uninitialized_cst_or_ref_member): Change the
prototype.
From-SVN: r159158