Eric Botcazou [Sat, 15 May 2010 19:05:06 +0000 (19:05 +0000)]
gimple.h (compare_field_offset): Rename into...
* gimple.h (compare_field_offset): Rename into...
(gimple_compare_field_offset): ...this.
* gimple.c (compare_field_offset): Rename into...
(gimple_compare_field_offset): ...this. Compare the full access if
the offset is self-referential.
(gimple_types_compatible_p): Adjust for above renaming.
* lto-streamer-in.c (input_gimple_stmt): Likewise. Also compare the
DECL_NONADDRESSABLE_P flag of fields before merging them.
From-SVN: r159438
Nathan Froyd [Sat, 15 May 2010 18:41:11 +0000 (18:41 +0000)]
tree.h (ctor_to_list): Delete.
* tree.h (ctor_to_list): Delete.
* tree.c (ctor_to_list): Delete.
From-SVN: r159437
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
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
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
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
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
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
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
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
Joseph Myers [Sat, 15 May 2010 01:06:29 +0000 (02:06 +0100)]
* fi.po: New.
From-SVN: r159426
GCC Administrator [Sat, 15 May 2010 00:17:02 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r159425
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Eric Botcazou [Fri, 14 May 2010 06:23:16 +0000 (06:23 +0000)]
Fix long lines
From-SVN: r159386
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
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
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
GCC Administrator [Fri, 14 May 2010 00:17:10 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r159381
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
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
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
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
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
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
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
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
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
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
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
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
Eric Botcazou [Thu, 13 May 2010 11:29:29 +0000 (11:29 +0000)]
Fix formatting nits
From-SVN: r159358
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
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
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
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
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
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
GCC Administrator [Thu, 13 May 2010 00:17:17 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r159348
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
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
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
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
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
Sriraman Tallam [Wed, 12 May 2010 18:48:15 +0000 (18:48 +0000)]
* MAINTAINERS (Write After Approval): Add myself.
From-SVN: r159338
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
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
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
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