Rainer Orth [Thu, 6 May 2010 18:47:18 +0000 (18:47 +0000)]
config.gcc: Removed mips-sgi-irix5*, mips-sgi-irix6.[0-4]* from list of obsolete configurations.
gcc:
* config.gcc: Removed mips-sgi-irix5*, mips-sgi-irix6.[0-4]* from
list of obsolete configurations.
Disabled check for obsolete configurations.
(mips-sgi-irix[56]*): Restrict to mips-sgi-irix6.5*.
Removed support for previous versions.
* config/mips/iris.h: Removed.
* config/mips/iris5.h: Removed.
* config/mips/iris6.h: Merged old iris.h contents.
(TARGET_IRIX): Removed.
(DRIVER_SELF_SPECS): Removed mabi=32.
(IDENT_ASM_OP): Removed undef.
(STARTFILE_SPEC): Removed mabi=32.
(ENDFILE_SPEC): Likewise.
(IRIX_SUBTARGET_LINK_SPEC): Likewise.
(MACHINE_TYPE): Update for IRIX 6.5.
* config/mips/mips.c (mips_build_builtin_va_list): Replaced
TARGET_IRIX by TARGET_IRIX6.
(mips_file_start): Likewise.
(mips_output_external): Remove IRIX 5/6 O32 support.
(mips_output_function_prologue): Likewise.
* config/mips/mips.h (TARGET_GPWORD): Replaced TARGET_IRIX by
TARGET_IRIX6.
(TARGET_CPU_CPP_BUILTINS): Likewise.
(TARGET_IRIX): Removed.
* config/mips/t-iris6 (MULTILIB_OPTIONS): Removed mabi=32.
(MULTILIB_DIRNAMES): Removed 32.
(MULTILIB_OSDIRNAMES): Removed ../lib.
* doc/install.texi (Prerequisites): Don't reference IRIX before
6.5.
(Specific, mips-sgi-irix5): Document removal.
(Specific, mips-sgi-irix6): Document IRIX 6.[0-4] and O32 ABI
removal.
Remove references to older IRIX 6 releases and the O32 ABI.
gcc/ada:
* gcc-interface/Makefile.in: Removed mips-sgi-irix5* support.
libstdc++-v3:
* configure.host: Removed irix[1-6], irix[1-5].*, irix6.[0-4]*
support.
* config/os/irix/irix5.2: Removed.
From-SVN: r159121
Jakub Jelinek [Thu, 6 May 2010 17:41:34 +0000 (19:41 +0200)]
Wunused-var-8.c: Move to...
* gcc.dg/Wunused-var-8.c: Move to...
* c-c++-common/Wunused-var-6.c: ... here. New test.
From-SVN: r159118
Jakub Jelinek [Thu, 6 May 2010 17:34:47 +0000 (19:34 +0200)]
re PR bootstrap/43994 (Revision 159063 failed to bootstrap on Linux/ia64)
PR bootstrap/43994
* df-problems.c (dead_debug_insert_before): Use *DF_REF_REAL_LOC
instead of DF_REF_REAL_REG.
From-SVN: r159117
Dave Korn [Thu, 6 May 2010 16:20:53 +0000 (16:20 +0000)]
re PR target/42811 (java.lang.ExceptionInInitializerError in ecj1)
PR target/42811
* tests/staticrootstest.c: New test source file.
* tests/staticrootslib.c: New test library source file.
* Makefile.am (test_ldadd): New variable.
(gctest_LDADD): Use it.
(TESTS): Add leaktest, middletest and staticrootstest.
(check_PROGRAMS): Likewise.
(leaktest_SOURCES): New libtool variable definition.
(leaktest_LDADD): Likewise.
(leaktest_LDFLAGS): Likewise.
(leaktest_LINK): Likewise.
(middletest_SOURCES): Likewise.
(middletest_LDADD): Likewise.
(middletest_LDFLAGS): Likewise.
(middletest_LINK): Likewise.
(staticrootstest_SOURCES): Likewise.
(staticrootstest_LDADD): Likewise.
(staticrootstest_LDFLAGS): Likewise.
(staticrootstest_LINK): Likewise.
(check_LTLIBRARIES): Likewise.
(libstaticrootslib_la_SOURCES): Likewise.
(libstaticrootslib_la_LIBADD): Likewise.
(libstaticrootslib_la_LDFLAGS): Likewise.
(libstaticrootslib_la_DEPENDENCIES): Likewise.
* Makefile.in: Regenerate.
From-SVN: r159115
Paolo Carlini [Thu, 6 May 2010 16:07:02 +0000 (16:07 +0000)]
re PR c++/40406 (ICE with broken template member declaration)
2010-05-06 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/40406
* g++.dg/template/crash96.C: New.
From-SVN: r159112
Dave Korn [Thu, 6 May 2010 16:06:18 +0000 (16:06 +0000)]
re PR target/43888 (FAIL: gcc.dg/alias-7.c execution test)
PR target/43888
* config/i386/winnt.c (i386_pe_binds_local_p): Tweak weak symbol
handling to still return true for x64 targets.
From-SVN: r159111
Maxim Kuvyrkov [Thu, 6 May 2010 15:54:14 +0000 (15:54 +0000)]
* config/m68k/uclinux.h (LIB_SPEC): Bring in sync with config/linux.h.
From-SVN: r159110
Jan Hubicka [Thu, 6 May 2010 14:15:22 +0000 (16:15 +0200)]
re PR tree-optimization/43791 (kernel/rtmutex.c:1138:1: internal compiler error: in cgraph_decide_inlining_of_small_functions, at ipa-inline.c:1009)
PR tree-optimization/43791
* ipa-inline.c (update_caller_keys): Remove bogus
disregard_inline_limits check.
* gcc.c-torture/compile/pr43791.c: New file.
From-SVN: r159108
Michael Matz [Thu, 6 May 2010 13:54:32 +0000 (13:54 +0000)]
re PR tree-optimization/43984 (PRE misses full-redundancies, inserts into loops)
PR tree-optimization/43984
* tree-ssa-pre.c (inserted_phi_names): Remove.
(inserted_exprs): Change to bitmap.
(create_expression_by_pieces): Set bits, don't append to vector.
(insert_into_preds_of_block): Don't handle inserted_phi_names.
(eliminate): Don't look at inserted_phi_names, remove deleted
insns from inserted_exprs.
(remove_dead_inserted_code): Adjust to use bitmaps instead of
vectors.
(init_pre, fini_pre): Allocate and free bitmaps.
(execute_pre): Insert insns on edges before elimination.
testsuite/
* gfortran.dg/pr43984.f90: New test.
From-SVN: r159106
H.J. Lu [Thu, 6 May 2010 13:03:12 +0000 (13:03 +0000)]
Add argument kind to lto_handle_option.
2010-05-06 H.J. Lu <hongjiu.lu@intel.com>
* lto-lang.c (lto_handle_option): Add argument kind.
From-SVN: r159105
Maxim Kuvyrkov [Thu, 6 May 2010 10:28:46 +0000 (10:28 +0000)]
* tree.c (initializer_zerop): Handle STRING_CST.
From-SVN: r159103
Manuel López-Ibáñez [Thu, 6 May 2010 10:12:36 +0000 (10:12 +0000)]
re PR c/40989 (-Werror= and #pragma diagnostics do not work with group flags)
2010-05-06 Manuel López-Ibáñez <manu@gcc.gnu.org>
PR 40989
* doc/invoke.texi (Wimplicit): Document as C only.
* opts.c (common_handle_option): Add argument kind.
(handle_option): Rename as read_cmdline_option. Factor out code to...
(handle_option): ... here. New.
(handle_options): Rename as read_cmdline_options.
(decode_options): Update call.
(set_option): Use option index instead of option pointer. Classify
diagnostics correctly.
(enable_warning_as_error): Call handle_option.
* opts.h (set_option): Update declaration.
(handle_option): Declare.
* langhooks.h (struct lang_hooks): Add argument kind to
handle_option.
* c.opt (Wimplicit,Wimplicit-int): Initialize to -1.
* c-opts.c (set_Wimplicit): Delete.
(c_family_lang_mask): New static constant.
(c_common_handle_option): Add argument kind. Use handle_option
instead of set_Wimplicit.
(c_common_post_options): warn_implicit and warn_implicit_int
are disabled by default.
* c-common.c (warn_implicit): Do not define here.
* c-common.h (warn_implicit): Do not declare here.
(c_common_handle_option): Update declaration.
* lto-opts.c (lto_reissue_options): Update call to set_option.
java/
* lang.c (java_handle_option): Add argument kind.
fortran/
* options.c (gfc_handle_option): Add argument kind.
* gfortran.h (gfc_handle_option): Update declaration.
ada/
* gcc-interface/misc.c (gnat_handle_option): Add argument kind.
testsuite/
* gcc.dg/pr40989.c: New.
From-SVN: r159102
Richard Guenther [Thu, 6 May 2010 09:08:57 +0000 (09:08 +0000)]
re PR tree-optimization/43571 (domwalk sucks)
2010-05-06 Richard Guenther <rguenther@suse.de>
PR tree-optimization/43571
* domwalk.c (walk_dominator_tree): Walk the dominator
sons in more optimal order.
From-SVN: r159100
Richard Guenther [Thu, 6 May 2010 09:04:00 +0000 (09:04 +0000)]
re PR tree-optimization/43934 (LIM should handle PHI nodes)
2010-05-06 Richard Guenther <rguenther@suse.de>
PR tree-optimization/43934
* tree-ssa-loop-im.c (movement_possibility): Handle PHI nodes.
(stmt_cost): Likewise.
(extract_true_false_args_from_phi): New helper.
(determine_max_movement): For PHI nodes verify we can hoist them
and compute their cost.
(determine_invariantness_stmt): Handle PHI nodes.
(move_computations_stmt): Likewise. Hoist PHI nodes in
if-converted form using COND_EXPRs.
(move_computations): Return TODO_cleanup_cfg if we hoisted PHI
nodes.
(tree_ssa_lim): Likewise.
* tree-flow.h (tree_ssa_lim): Adjust prototype.
* tree-ssa-loop.c (tree_ssa_loop_im): Return todo.
* gcc.dg/tree-ssa/ssa-lim-9.c: New testcase.
From-SVN: r159099
Richard Guenther [Thu, 6 May 2010 08:53:19 +0000 (08:53 +0000)]
re PR middle-end/43987 (type-punning causes broken binaries unless -O0 is used)
2010-05-06 Richard Guenther <rguenther@suse.de>
PR tree-optimization/43987
* tree-ssa-structalias.c (could_have_pointers): For possibly
address-taken variables force pointers to be recorded.
(create_variable_info_for_1): Likewise.
(push_fields_onto_fieldstack): Pass in wheter all fields
must have pointers.
(find_func_aliases): Query types instead of vars whether
they contain pointers where appropriate.
* gcc.c-torture/execute/pr43987.c: New testcase.
* gcc.dg/torture/pta-escape-1.c: Adjust.
* gcc.dg/tree-ssa/pta-escape-1.c: Likewise.
* gcc.dg/tree-ssa/pta-escape-2.c: Likewise.
* gcc.dg/tree-ssa/pta-escape-3.c: Likewise.
* gcc.dg/ipa/ipa-pta-11.c: Likewise.
From-SVN: r159098
Jan Hubicka [Thu, 6 May 2010 08:39:32 +0000 (10:39 +0200)]
cgraphbuild.c (record_reference_ctx): Add varpool_node.
* cgraphbuild.c (record_reference_ctx): Add varpool_node.
(record_reference, mark_address, mark_load, mark_store): Record
references.
(record_references_in_initializer): Update call of record_references.
(rebuild_cgraph_edges): Remove all references before rebuiding.
* cgraph.c (cgraph_create_node): Clear ref list.
(cgraph_remove_node): Remove references.
(dump_cgraph_node): Dump references.
(cgraph_clone_node): Clone references.
* cgraph.h: Include ipa-ref.h and ipa-ref-inline.h
(struct cgraph_node, varpool_node): Add ref_lst.
* ipa-ref.c: New file.
* ipa-ref.h: New file.
* ipa-ref-inline.h: New file.
* lto-cgraph.c (output_varpool): Take cgrag node set argument.
(referenced_from_other_partition_p): New function.
(lto_output_varpool_node): Take set arugment; call
referenced_from_other_partition.
(lto_output_ref): New.
(add_references): New.
(output_refs): New.
(output_cgraph): Compute boundary based on references;
output refs.
(output_varpool): Accept cgraph_node_set argument.
(input_ref): New.
(input_refs): New.
(input_cgraph): Call input_refs.
* lto-section-in.c (lto_section_name): Add refs.
* Makefile.in: (cgraph.h): Include ipa-ref.h and ipa-ref-inline.h
(ipa-ref.o): New file.
* varpool.c (varpool_node): Clear ipa ref list.
(varpool_remove_node): Remove references.
(dump_varpool_node): Dump references.
(varpool_assemble_decl): Only compile finalized ones.
(varpool_extra_name_alias): Initialize ref list.
* lto-streamer.c (lto-get_section_name): Add .refs section.
* lto-streamer.h (lto_section_type): Add LTO_section_refs.
(referenced_from_other_partition_p): Declared.
From-SVN: r159097
Jakub Jelinek [Thu, 6 May 2010 06:52:30 +0000 (08:52 +0200)]
C++ support for -Wunused-but-set-variable
gcc/cp/ChangeLog:
PR 18624
* cp-tree.h (mark_exp_read, mark_rvalue_use, mark_lvalue_use,
mark_type_use): Declare ...
* expr.c (mark_exp_read, mark_rvalue_use, mark_lvalue_use,
mark_type_use): ... new fns.
* typeck.c (cxx_sizeof_expr, cxx_alignof_expr): Call mark_type_use.
(perform_integral_promotions): Call mark_rvalue_use.
(cp_build_unary_op): Call mark_lvalue_use.
(decay_conversion): Update comment. Call mark_lvalue.
* decl.c (unused_but_set_errorcount): New variable.
(poplevel): Issue -Wunused-but-set-variable diagnostics.
(duplicate_decls): Merge DECL_READ_P flags.
(start_cleanup_fn): Set DECL_READ_P flag.
(finish_function): Issue -Wunused-but-set-parameter diagnostics.
* tree.c (rvalue): Call mark_rvalue_use.
* pt.c (convert_nontype_argument): Likewise.
* semantics.c (finish_typeof, finish_decltype_type): Call
mark_type_use.
(finish_asm_stmt): Call mark_lvalue_use.
(finish_expr_stmt): Call mark_exp_read.
* call.c (convert_like_real) <ck_identity, ck_user>: Call
mark_rvalue_use.
(build_x_va_arg): Call mark_lvalue_use.
(build_over_call): Call mark_type_use.
* init.c (build_new, build_delete): Call mark_value_use.
* rtti.c (build_typeid): Call mark_lvalue_use or mark_type_use.
(build_dynamic_cast_1): call mark_lvalue_use or mark_rvalue_use.
gcc/testsuite/ChangeLog:
PR 18624
* g++.dg/warn/Wunused-7.C: Add dg-warning.
* g++.dg/template/sfinae16.C: Likewise.
* gcc.dg/Wunused-var-1.c: Moved to...
* c-c++-common/Wunused-var-1.c: ...here. New test.
* gcc.dg/Wunused-var-2.c: Moved to...
* c-c++-common/Wunused-var-2.c: ...here. New test.
* gcc.dg/Wunused-var-3.c: Moved to...
* c-c++-common/Wunused-var-3.c: ...here. New test.
* gcc.dg/Wunused-var-4.c: Moved to...
* gcc.dg/Wunused-var-1.c: ... here.
* gcc.dg/Wunused-var-5.c: Moved to...
* c-c++-common/Wunused-var-4.c: ...here. New test.
* gcc.dg/Wunused-var-7.c: Moved to...
* c-c++-common/Wunused-var-5.c: ...here. New test.
* gcc.dg/Wunused-var-6.c: Moved to...
* gcc.dg/Wunused-var-2.c: ... here.
* c-c++-common/Wunused-var-1.c: New test.
* c-c++-common/Wunused-var-2.c: New test.
* c-c++-common/Wunused-var-3.c: New test.
* c-c++-common/Wunused-var-4.c: New test.
* c-c++-common/Wunused-var-5.c: New test.
* g++.dg/warn/Wunused-var-1.C: New test.
* g++.dg/warn/Wunused-var-2.C: New test.
* g++.dg/warn/Wunused-var-3.C: New test.
* g++.dg/warn/Wunused-var-4.C: New test.
* g++.dg/warn/Wunused-var-5.C: New test.
* g++.dg/warn/Wunused-var-6.C: New test.
* g++.dg/warn/Wunused-var-7.C: New test.
* g++.dg/warn/Wunused-var-8.C: New test.
* g++.dg/warn/Wunused-parm-1.C: New test.
* g++.dg/warn/Wunused-parm-2.C: New test.
* g++.dg/warn/Wunused-parm-3.C: New test.
Co-Authored-By: Dodji Seketeli <dodji@redhat.com>
From-SVN: r159096
Ira Rosen [Thu, 6 May 2010 06:42:51 +0000 (06:42 +0000)]
re PR middle-end/43901 (FAIL: gcc.c-torture/compile/pr42196-2.c)
PR tree-optimization/43901
* tree-vect-stmts.c (vectorizable_call): Assert that vector
type is not NULL if it's transformation phase, and return
FALSE if it's analysis.
(vectorizable_conversion, vectorizable_operation,
vectorizable_type_demotion, vectorizable_type_promotion):
Likewise.
From-SVN: r159095
GCC Administrator [Thu, 6 May 2010 00:17:31 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r159094
Andrew Pinski [Thu, 6 May 2010 00:14:59 +0000 (00:14 +0000)]
mips.h (TARGET_SMALL_REGISTER_CLASSES_FOR_MODE_P): Delete.
2010-05-05 Andrew Pinski <andrew.pinski@caviumnetworks.com>
* config/mips/mips.h (TARGET_SMALL_REGISTER_CLASSES_FOR_MODE_P):
Delete.
* config/mips/mips.c (TARGET_SMALL_REGISTER_CLASSES_FOR_MODE_P):
New define.
* config/mips/mips-protos.h
(mips_small_register_classes_for_mode_p): Delete prototype.
From-SVN: r159090
Bernd Schmidt [Wed, 5 May 2010 22:46:38 +0000 (22:46 +0000)]
arm.h (MAX_LDM_STM_OPS): New macro.
* config/arm/arm.h (MAX_LDM_STM_OPS): New macro.
* config/arm/arm.c (multiple_operation_profitable_p,
compute_offset_order): New static functions.
(load_multiple_sequence, store_multiple_sequence): Use them.
Replace constant 4 with MAX_LDM_STM_OPS. Compute order[0] from
memory offsets, not register numbers.
(emit_ldm_seq, emit_stm_seq): Replace constant 4 with MAX_LDM_STM_OPS.
From-SVN: r159089
Tobias Burnus [Wed, 5 May 2010 22:11:14 +0000 (00:11 +0200)]
re PR fortran/43985 (ICE when assumed size cray-pointee passed as argument)
2010-05-06 Tobias Burnus <burnus@net-b.de>
PR fortran/43985
* trans-types.c (gfc_sym_type): Mark Cray pointees as
GFC_POINTER_TYPE_P.
2010-05-06 Tobias Burnus <burnus@net-b.de>
PR fortran/43985
* gfortran.dg/gomp/crayptr5.f90: New test case.
From-SVN: r159086
Steven Bosscher [Wed, 5 May 2010 21:32:44 +0000 (21:32 +0000)]
stor-layout.c (pending_sizes): Change the type to VEC(tree,gc) *.
* stor-layout.c (pending_sizes): Change the type to
VEC(tree,gc) *.
(get_pending_sizes, put_pending_size, put_pending_sizes):
Update the uses of pending_sizes.
* c-decl.c (store_parm_decls): Likewise.
* c-tree.h (struct c_arg_info): Likewise.
* tree.h: Update the prototype for get_pending_sizes and
put_pending_sizes.
From-SVN: r159085
Paolo Carlini [Wed, 5 May 2010 19:53:11 +0000 (19:53 +0000)]
29134.cc: Adjust for profile-mode too.
2010-05-05 Paolo Carlini <paolo.carlini@oracle.com>
* testsuite/23_containers/vector/bool/capacity/29134.cc: Adjust
for profile-mode too.
* testsuite/23_containers/vector/bool/modifiers/insert/31370.cc:
Likewise.
2010-05-05 Paolo Carlini <paolo.carlini@oracle.com>
* include/profile/unordered_map (unordered_map<>::insert(_InputIter,
_InputIter), unordered_multimap<>::insert(_InputIter, _InputIter)):
Fix typo, don't call base() on __first and __last.
2010-05-05 Paolo Carlini <paolo.carlini@oracle.com>
Fix profile-mode vs -std=c++0x
* include/profile/impl/profiler_trace.h: Do not include the
whole <algorithm>, include <bits/stl_heap.h> (additionally
to <bits/stl_algobase.h>).
(__write_cost_factors): Replace std::for_each with open-coding.
(__set_cost_factors): Likewise.
(__report): Likewise; use std::make_heap / std::sort_heap
instead of std::sort.
(__report_cost_factors): Replace std::remove with open-coding.
(__warn, __cost_factor_writer, __cost_factor_setter): Remove.
From-SVN: r159082
Jason Merrill [Wed, 5 May 2010 19:46:41 +0000 (15:46 -0400)]
re PR debug/43370 (ICE gen_type_die_with_usage, at dwarf2out.c:14745)
PR debug/43370
* c-common.c (handle_aligned_attribute): Respect
ATTR_FLAG_TYPE_IN_PLACE.
From-SVN: r159081
Daniel Franke [Wed, 5 May 2010 19:35:22 +0000 (15:35 -0400)]
resolve.c (traverse_data_list): Rephrase error message for non-constant bounds in data-implied-do.
2010-05-05 Daniel Franke <franke.daniel@gmail.com>
* resolve.c (traverse_data_list): Rephrase error message for
non-constant bounds in data-implied-do.
From-SVN: r159080
Jason Merrill [Wed, 5 May 2010 19:33:11 +0000 (15:33 -0400)]
re PR testsuite/43758 (19 new GCC HEAD@158360 regressions)
PR testsuite/43758
* target.h (struct gcc_target): Add attribute_takes_identifier_p.
* target_def.h (TARGET_ATTRIBUTE_TAKES_IDENTIFIER_P): Define.
(TARGET_INITIALIZER): Use it.
* c-common.c (attribute_takes_identifier_p): Call it.
* c-common.h: Update prototype.
* config/rs6000/rs6000.c (rs6000_attribute_takes_identifier_p): New.
(TARGET_ATTRIBUTE_TAKES_IDENTIFIER_P): Define.
From-SVN: r159079
Jakub Jelinek [Wed, 5 May 2010 19:11:16 +0000 (21:11 +0200)]
re PR debug/43950 (fortran: Use DW_AT_identifier_case)
PR debug/43950
* dwarf2out.c (gen_compile_unit_die): Add DW_AT_identifier_case
DW_ID_down_case for Fortran compilation units.
From-SVN: r159077
Daniel Franke [Wed, 5 May 2010 18:53:23 +0000 (14:53 -0400)]
re PR fortran/24978 (ICE in gfc_assign_data_value_range)
gcc/fortran/:
2010-05-05 Daniel Franke <franke.daniel@gmail.com>
PR fortran/24978
* gfortran.h: Removed repeat count from constructor, removed
all usages.
* data.h (gfc_assign_data_value_range): Changed return value from
void to gfc_try.
* data.c (gfc_assign_data_value): Add location to constructor element.
(gfc_assign_data_value_range): Call gfc_assign_data_value()
for each element in range. Return early if an error was generated.
* resolve.c (check_data_variable): Stop early if range assignment
generated an error.
gcc/testsuite/:
2010-05-05 Daniel Franke <franke.daniel@gmail.com>
PR fortran/24978
* gfortran.dg/data_invalid.f90: New.
From-SVN: r159076
Jan Hubicka [Wed, 5 May 2010 18:14:43 +0000 (20:14 +0200)]
lto-cgraph.c (lto_output_varpool_node, [...]): Correctly handle aliases.
* lto-cgraph.c (lto_output_varpool_node, input_varpool_node): Correctly
handle aliases.
From-SVN: r159075
Eric Botcazou [Wed, 5 May 2010 17:48:01 +0000 (17:48 +0000)]
gimplify.c (gimplify_return_expr): Gimplify the size expressions of a variable-sized RESULT_DECL.
* gimplify.c (gimplify_return_expr): Gimplify the size expressions of
a variable-sized RESULT_DECL.
From-SVN: r159074
Maxim Kuvyrkov [Wed, 5 May 2010 17:11:26 +0000 (17:11 +0000)]
* doc/invoke.texi (-mfix-cortex-m3-ldrd): Move from ARC section to ARM.
From-SVN: r159073
Jason Merrill [Wed, 5 May 2010 16:32:20 +0000 (12:32 -0400)]
re PR c++/43787 (memory copy of empty class (sizeof is one))
PR c++/43787
gcc:
* gimplify.c (gimplify_expr): Keep working if gimplify_modify_expr
returns GS_OK.
(gimplify_modify_expr_rhs): Return GS_OK if anything changed.
gcc/cp:
* cp-gimplify.c (cp_gimplify_expr): Remove copies of empty classes.
* call.c (build_over_call): Don't try to avoid INIT_EXPR copies here.
From-SVN: r159072
Jason Merrill [Wed, 5 May 2010 16:32:07 +0000 (12:32 -0400)]
add myself as gimple maintainer
From-SVN: r159071
Andrew Haley [Wed, 5 May 2010 13:05:21 +0000 (13:05 +0000)]
010-05-04 Andrew Haley <aph@redhat.com>
* lib/gen-classlist.sh.in: Use absolute pathnames for all the
directory names in the output file.
From-SVN: r159067
Alexandre Oliva [Wed, 5 May 2010 10:43:36 +0000 (10:43 +0000)]
re PR debug/43478 (Missing DW_AT_location for a variable)
PR debug/43478
* df-problems.c (struct dead_debug_use, struct dead_debug): New.
(dead_debug_init, dead_debug_finish): New functions.
(dead_debug_add, dead_debug_insert_before): Likewise.
(df_note_bb_compute): Initialize a dead_debug object, add dead
debug uses to it, insert debug bind insns before death insns,
reset debug insns that refer to pending uses at the end.
* rtl.h (make_debug_expr_from_rtl): New prototype.
* varasm.c (make_debug_expr_from_rtl): New function.
Co-Authored-By: Jakub Jelinek <jakub@redhat.com>
From-SVN: r159063
Jan Hubicka [Wed, 5 May 2010 10:21:42 +0000 (12:21 +0200)]
lto-cgraph.c (output_varpool): Forward declare; work on encoder.
* lto-cgraph.c (output_varpool): Forward declare; work on encoder.
(lto_varpool_encoder_new, lto_varpool_encoder_delete, lto_varpool_encoder_encode
lto_varpool_encoder_lookup, lto_varpool_encoder_deref, lto_varpool_encoder_size,
lto_varpool_encoder_encode_initializer_p,
lto_set_varpool_encoder_encode_initializer): New functions.
(lto_output_cgraph): Take vset parameter too; compute varpool encoder;
call output_varpool.
(input_varpool_node): Do not always set analyzed.
(input_cgraph_1): Return vector of cgraph nodes.
(input_varpool_1): Return vector of varpools.
(input_cgraph): Free the vectors.
* lto-streamer-out.c (lto_output_ts_decl_common_tree_pointers):
output only initializers needed.
(lto_output): Only call output_cgraph.
(produce_asm_for_decls): Call lto_varpool_encoder_delete.
* lto-section-out.c (lto_new_out_decl_state): Initialize
state->varpool_node_encoder.
* lto-streamer.h (lto_varpool_encoder_d): New.
(lto_out_decl_state, lto_file_decl_data): Add varpool_node_encoder.
(lto_cgraph_encoder_delete, output_cgraph): Update prototype.
(lto_varpool_encoder_deref, lto_varpool_encoder_lookup,
lto_varpool_encoder_encode, lto_varpool_encoder_delete,
lto_varpool_encoder_encode_initializer_p, lto_varpool_encoder_new):
Declare.
(output_varpool, input_varpool): Remove declarations.
* lto.c (lto_1_to_1_map): Partition only needed nodes.
From-SVN: r159062
Jan Hubicka [Wed, 5 May 2010 10:20:38 +0000 (12:20 +0200)]
lto-symtab.c (lto_symtab_resolve_can_prevail_p): Alias of variable with body can prevail.
* lto-symtab.c (lto_symtab_resolve_can_prevail_p): Alias of variable
with body can prevail.
* lto-symtab.c (lto_symtab_merge_decls_1): Prefer declarations with
size.
From-SVN: r159061
Laurynas Biveinis [Wed, 5 May 2010 10:06:37 +0000 (10:06 +0000)]
Makefile.in (build/gengtype.o): Add $(HASHTAB_H) to dependencies.
2010-05-05 Laurynas Biveinis <laurynas.biveinis@gmail.com>
* Makefile.in (build/gengtype.o): Add $(HASHTAB_H) to
dependencies.
* gengtype.h (erro_at_line): Constify pos argument.
* gengtype.c: Include hashtab.h.
(enum gc_used): Document GC_MAYBE_POINTED_TO.
(error_at_line): Constify pos argument.
(do_typedef): Initialize p->opt field.
(get_file_gtfilename): Fix comment typo.
(struct walk_type_data): Constify line field.
(get_output_file_for_structure): New function.
(write_local_func_for_structure): Constify orig_s argument.
Use get_output_file_for_structure.
(write_func_for_structure): Use get_output_file_for_structure.
(INDENT): New define.
(dump_pair, dump_type, dump_type_list, dump_typekind)
(dump_gc_used, dump_options, dump_fileloc, dump_type_u_s)
(dump_type_u_a, dump_type_u_param_struct, dump_everything): New
functions.
(seen_types): New variable.
(main): New variable do_dump. Process "-d" command line option.
Call dump_everything if dump requested.
From-SVN: r159060
Jakub Jelinek [Wed, 5 May 2010 09:26:26 +0000 (11:26 +0200)]
Fix up ChangeLog entry.
From-SVN: r159059
Jakub Jelinek [Wed, 5 May 2010 09:25:01 +0000 (11:25 +0200)]
var-tracking.c (var_debug_decl): Save DECL_DEBUG_EXPR value in a temporary instead of invoking the macro...
* var-tracking.c (var_debug_decl): Save DECL_DEBUG_EXPR value
in a temporary instead of invoking the macro multiple times.
(track_expr_p): Likewise.
From-SVN: r159058
Janus Weil [Wed, 5 May 2010 07:44:33 +0000 (09:44 +0200)]
re PR fortran/43696 ([OOP] Bogus error: Passed-object dummy argument must not be POINTER)
2010-05-05 Janus Weil <janus@gcc.gnu.org>
PR fortran/43696
* resolve.c (resolve_fl_derived): Some fixes for class variables.
* symbol.c (gfc_build_class_symbol): Add separate class container for
class pointers.
2010-05-05 Janus Weil <janus@gcc.gnu.org>
PR fortran/43696
* gfortran.dg/class_17.f03: New.
From-SVN: r159056
Mike Stump [Wed, 5 May 2010 03:08:26 +0000 (03:08 +0000)]
re PR objc/35165 (Massive failures of objc on i686-apple-darwin9)
PR objc/35165
* encode-8.mm: Restore running of testcase, skip for gnu-runtime.
From-SVN: r159055
GCC Administrator [Wed, 5 May 2010 00:16:52 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r159054
Neil Vachharajani [Tue, 4 May 2010 23:45:58 +0000 (23:45 +0000)]
Sanitize the behavior of -Wcoverage-mismatch.
2010-05-04 Neil Vachharajani <nvachhar@google.com>
* doc/invoke.texi (-Wcoverage-mismatch): Updated documentation as
per new semantics.
* opts.c (decode_options): Enable -Werror=coverage-mismatch.
* coverage.c (get_coverage_counts): Always emit a warning. Adjust
conditions for printing notes.
* common.opt (-Wcoverage-mismatch): Allow negative, default to
true, update documentation.
* Makefile.in (coverage.o): Add dependence on DIAGNOSTIC_H and intl.h.
* testsuite/gcc.dg/tree-prof/wcoverage-mismatch.c: Adjusted.
From-SVN: r159050
H.J. Lu [Tue, 4 May 2010 21:15:35 +0000 (21:15 +0000)]
Add a testcase for PR target/43668.
2010-05-04 H.J. Lu <hongjiu.lu@intel.com>
PR target/43668
* gcc.target/i386/pr43668.c: New.
From-SVN: r159046
Paolo Carlini [Tue, 4 May 2010 19:22:26 +0000 (19:22 +0000)]
re PR c++/43028 ([C++0x] internal compiler error in maybe_adjust_types_for_deduction)
/cp
2010-05-04 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/43028
* pt.c (unify): Check each elt for error_mark_node.
/testsuite
2010-05-04 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/43028
* g++.dg/cpp0x/initlist31.C: New.
From-SVN: r159045
Jakub Jelinek [Tue, 4 May 2010 19:08:37 +0000 (21:08 +0200)]
re PR c/43981 (-Wunused-but-set-variable does not consider array sizing use of a variable)
PR c/43981
* c-parser.c (c_parser_direct_declarator_inner): Call mark_exp_read
on dimen.
* gcc.dg/Wunused-var-8.c: New test.
From-SVN: r159044
Jason Merrill [Tue, 4 May 2010 19:01:13 +0000 (15:01 -0400)]
re PR c++/38064 ([c++0x] operator== doesn't work for enum classes)
PR c++/38064
* typeck.c (cp_build_binary_op): Allow enums for <> as well.
From-SVN: r159042
Ralf Wildenhues [Tue, 4 May 2010 18:58:11 +0000 (18:58 +0000)]
no-dist in non-imported automake dirs.
libgfortran/:
PR other/43620
* configure.ac (AM_INIT_AUTOMAKE): Add no-dist.
* configure: Regenerate.
* Makefile.in: Regenerate.
libgomp/:
PR other/43620
* configure.ac (AM_INIT_AUTOMAKE): Add no-dist.
* configure: Regenerate.
* Makefile.in: Regenerate.
* testsuite/Makefile.in: Regenerate.
libjava/:
PR other/43620
* configure.ac (AM_INIT_AUTOMAKE): Add no-dist.
* Makefile.in: Regenerate.
* gcj/Makefile.in: Regenerate.
* include/Makefile.in: Regenerate.
* testsuite/Makefile.in: Regenerate.
libjava/libltdl/:
PR other/43620
* Makefile.am (AUTOMAKE_OPTIONS): Add no-dist.
* Makefile.in: Regenerate.
libmudflap/:
PR other/43620
* configure.ac (AM_INIT_AUTOMAKE): Add no-dist.
* Makefile.in: Regenerate.
* testsuite/Makefile.in: Regenerate.
libssp/:
PR other/43620
* configure.ac (AM_INIT_AUTOMAKE): Add no-dist.
* Makefile.in: Regenerate.
libstdc++-v3/:
PR other/43620
* configure.ac (AM_INIT_AUTOMAKE): Add no-dist.
* configure: Regenerate.
* Makefile.in: Regenerate.
* doc/Makefile.in: Regenerate.
* include/Makefile.in: Regenerate.
* libsupc++/Makefile.in: Regenerate.
* po/Makefile.in: Regenerate.
* python/Makefile.in: Regenerate.
* src/Makefile.in: Regenerate.
* testsuite/Makefile.in: Regenerate.
lto-plugin/:
PR other/43620
* configure.ac (AM_INIT_AUTOMAKE): Add no-dist.
* Makefile.in: Regenerate.
From-SVN: r159041
H.J. Lu [Tue, 4 May 2010 18:51:29 +0000 (18:51 +0000)]
Add clobber CC register to sse_prologue_save patterns.
gcc/
2010-05-04 H.J. Lu <hongjiu.lu@intel.com>
PR target/43799
* config/i386/i386.md (sse_prologue_save): Add clobber CC
register.
(*sse_prologue_save_insn1): Likewise.
(SSE prologue save splitter): Likewise.
gcc/testsuite/
2010-05-04 H.J. Lu <hongjiu.lu@intel.com>
PR target/43799
* gcc.target/i386/pr43799.c: New.
From-SVN: r159040
Eric Botcazou [Tue, 4 May 2010 17:47:52 +0000 (17:47 +0000)]
tree.c (free_lang_data_in_one_sizepos): New inline function.
* tree.c (free_lang_data_in_one_sizepos): New inline function.
(free_lang_data_in_type): Call it on TYPE_{MIN|MAX}_VALUE of numerical
types. Call it on TYPE_SIZE and TYPE_SIZE_UNIT of all types.
(free_lang_data_in_decl): Call it on DECL_SIZE and DECL_SIZE_UNIT of
all decls. Call it on DECL_FIELD_OFFSET of fields.
(find_decls_types_r): Follow DECL_VALUE_EXPR.
(iterative_hash_expr) <PLACEHOLDER_EXPR>: New case.
From-SVN: r159039
Martin Jambor [Tue, 4 May 2010 17:34:01 +0000 (19:34 +0200)]
tree-sra.c (build_access_from_expr_1): The first parameter type changed to simple tree.
2010-05-04 Martin Jambor <mjambor@suse.cz>
* tree-sra.c (build_access_from_expr_1): The first parameter type
changed to simple tree.
(build_access_from_expr): Likewise, gsi parameter was eliminated.
(scan_assign_result): Renamed to assignment_mod_result, enum elements
renamed as well.
(build_accesses_from_assign): Removed all parameters except for a
simple gimple statement. Now returns a simple bool.
(scan_function): All non-analysis parts moved to separate functions
sra_modify_function_body and ipa_sra_modify_function_body. Removed all
parameters and updated both callers.
(sra_modify_expr): Removed parameter data.
(sra_modify_function_body): New function.
(perform_intra_sra): Call sra_modify_function_body to modify the
function body.
(replace_removed_params_ssa_names): Parameter data changed into
adjustments vector.
(sra_ipa_modify_expr): Likewise. Also removed unused parameter gsi and
changed the parameter dont_convert to convert with the opposite
meaning.
(sra_ipa_modify_assign): Parameter data changed into adjustments
vector, return value changed to bool.
(ipa_sra_modify_function_body): New function.
(sra_ipa_reset_debug_stmts): Updated a comment.
(modify_function): Use ipa_sra_modify_function_body to modify function
body.
From-SVN: r159038
Jan Hubicka [Tue, 4 May 2010 16:45:58 +0000 (16:45 +0000)]
* Makefile.in (cgraphbuild.o): Add dependency on ipa-utils.h
From-SVN: r159037
H.J. Lu [Tue, 4 May 2010 15:47:25 +0000 (15:47 +0000)]
Handle the same VALUE for true dependence.
gcc/
2010-05-04 H.J. Lu <hongjiu.lu@intel.com>
PR middle-end/43671
* alias.c (true_dependence): Handle the same VALUE in x and mem.
(canon_true_dependence): Likewise.
(write_dependence_p): Likewise.
gcc/testsuite/
2010-05-04 H.J. Lu <hongjiu.lu@intel.com>
PR middle-end/43671
* gcc.target/i386/pr43671.c: New.
From-SVN: r159033
Jan Hubicka [Tue, 4 May 2010 15:42:15 +0000 (17:42 +0200)]
Makefile.in (cgraphbuild.o): Add dependency on ipa-utils.h
* Makefile.in (cgraphbuild.o): Add dependency on ipa-utils.h
* cgraphbuild.c: Include ipa-utils.h
(record_reference_ctx): New struct.
(record_reference): Simplify to work on initializers; not statements.
(mark_address, mark_load, mark_store): New.
(build_cgraph_edges): Simplify using walk_stmt_load_store_addr_ops;
walk PHI nodes too.
(record_references_in_initializer): Update use of record_reference.
(rebuild_cgraph_edges): Simplify using walk_stmt_load_store_addr_ops;
walk PHI nodes too.
From-SVN: r159032
Jan Hubicka [Tue, 4 May 2010 15:17:10 +0000 (17:17 +0200)]
lto-symtab.c (lto_cgraph_replace_node): Do not remove edges; node will be removed anyway.
* lto-symtab.c (lto_cgraph_replace_node): Do not remove edges;
node will be removed anyway.
(lto_varpool_replace_node): Allow also unanalyzed nodes;
relink aliases of node into prevailing node.
* varpool.c (varpool_remove_node): Remove aliases properly;
when removing node, remove all its aliases too; remove DECL_INITIAL
of removed node; ggc_free the varpool node.
From-SVN: r159031
Paolo Carlini [Tue, 4 May 2010 14:17:52 +0000 (14:17 +0000)]
re PR c++/43705 (ICE: SIGSEGV with template specialization in non-namespace scope)
/cp
2010-05-04 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/43705
* call.c (build_new_method_call): Return error_mark_node if fns is
NULL_TREE.
/testsuite
2010-05-04 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/43705
* g++.dg/template/crash95.C: New.
From-SVN: r159029
H.J. Lu [Tue, 4 May 2010 14:11:32 +0000 (14:11 +0000)]
Add a testcase for PR debug/43508.
2010-05-04 H.J. Lu <hongjiu.lu@intel.com>
PR debug/43508
* gcc.target/i386/pr43508.c: New.
From-SVN: r159027
Richard Guenther [Tue, 4 May 2010 13:12:02 +0000 (13:12 +0000)]
re PR tree-optimization/43879 (-fipa-pta causes various miscompilations)
2010-05-04 Richard Guenther <rguenther@suse.de>
PR tree-optimization/43879
* tree-ssa-structalias.c (alias_get_name): Use
DECL_ASSEMBLER_NAME if available.
(create_function_info_for): Return the varinfo node.
(ipa_pta_execute): Associate same-body aliases and extra names
with their origin nodes varinfo. Dump DECL_ASSEMBLER_NAME.
* g++.dg/torture/pr43879-1_0.C: New testcase.
* g++.dg/torture/pr43879-1_1.C: Likewise.
From-SVN: r159026
Kaz Kojima [Tue, 4 May 2010 12:43:13 +0000 (12:43 +0000)]
sh.c (sh_small_register_classes_for_mode_p): Remove static.
* config/sh/sh.c (sh_small_register_classes_for_mode_p): Remove
static.
From-SVN: r159024
Mikael Pettersson [Tue, 4 May 2010 10:49:41 +0000 (12:49 +0200)]
re PR bootstrap/43964 (4.6-
20100501 (r158965) bootstrap failure on ARM, ira-color.c triggers -Werror)
PR bootstrap/43964
* ira-color.c (assign_hard_reg): Declare rclass and add_cost
only if HONOR_REG_ALLOC_ORDER is not defined.
From-SVN: r159022
Richard Guenther [Tue, 4 May 2010 09:53:28 +0000 (09:53 +0000)]
re PR tree-optimization/43949 (bogus warning: array subscript is above array bounds)
2010-05-04 Richard Guenther <rguenther@suse.de>
PR tree-optimization/43949
* tree-vrp.c (extract_range_from_binary_expr): Only handle
TRUNC_MOD_EXPR.
From-SVN: r159020
Dodji Seketeli [Tue, 4 May 2010 09:49:45 +0000 (09:49 +0000)]
re PR c++/43953 (ICE: dependent_type_p, at cp/pt.c:17404)
Fix PR c++/43953
gcc/cp/ChangeLog:
PR c++/43953
* pt.c (most_specialized_class): Pretend we are processing
a template decl during the call to coerce_template_parms.
gcc/testsuite/ChangeLog:
PR c++/43953
* g++.dg/other/crash-12.C: New test.
From-SVN: r159019
Jason Merrill [Tue, 4 May 2010 04:59:27 +0000 (00:59 -0400)]
add c++/43145 tag to changelog and testcase
From-SVN: r159017
GCC Administrator [Tue, 4 May 2010 00:17:21 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r159015
H.J. Lu [Tue, 4 May 2010 00:04:52 +0000 (00:04 +0000)]
Add a space. Updated.
2010-05-03 H.J. Lu <hongjiu.lu@intel.com>
* g++.dg/cdce3.C: Add a space. Updated.
From-SVN: r159010
Jack Howarth [Mon, 3 May 2010 22:37:50 +0000 (22:37 +0000)]
re PR java/43839 (libjava incorrectly uses -liconv in testsuite, jni.exp when using --with-libiconv-prefix)
PR 43839
* testsuite/Makefile.am: Override automake for site.exp creation
and add entry to set libiconv.
* testsuite/Makefile.in: Regenerate.
* testsuite/libjava.jni/jni.exp (gcj_jni_get_cxxflags_invocation):
Add new global variable libiconv to handle alternative libiconv
locations.
From-SVN: r159009
Jason Merrill [Mon, 3 May 2010 21:16:40 +0000 (17:16 -0400)]
re PR c++/43680 ([DR 1022] G++ is too aggressive in optimizing away bounds checking with enums)
PR c++/43680
gcc:
* c.opt (-fstrict-enums): New.
* doc/invoke.texi (C++ Dialect Options): Document -fstrict-enums.
gcc/cp:
* decl.c (finish_enum): Use the TYPE_MIN_VALUE and TYPE_MAX_VALUE
from the selected underlying type unless -fstrict-enums. Set
ENUM_UNDERLYING_TYPE to have the restricted range.
* cvt.c (type_promotes_to): Use ENUM_UNDERLYING_TYPE.
* class.c (check_bitfield_decl): Likewise.
From-SVN: r159006
Jim Wilson [Mon, 3 May 2010 20:44:18 +0000 (13:44 -0700)]
Fix typo mip->mips. Change wording to avoid overly long line.
From-SVN: r159005
David Ung [Mon, 3 May 2010 20:43:19 +0000 (20:43 +0000)]
mips.c (mips_output_division): When GENERATE_DIVIDE_TRAPS...
* config/mips/mips.c (mips_output_division): When GENERATE_DIVIDE_TRAPS,
emit the trap instruction before the divide for TUNE_74K.
Co-Authored-By: James E. Wilson <wilson@codesourcery.com>
From-SVN: r159004
Rainer Orth [Mon, 3 May 2010 18:30:20 +0000 (18:30 +0000)]
cdce3.C: Skip on alpha*-dec-osf5*.
* g++.dg/cdce3.C: Skip on alpha*-dec-osf5*.
* g++.dg/ext/label13.C: Fix typo.
* g++.dg/warn/miss-format-1.C (bar): xfail dg-warning on
alpha*-dec-osf5*.
* gcc.c-torture/compile/limits-declparen.c: xfail on
alpha*-dec-osf5* with -g.
* gcc.c-torture/compile/limits-pointer.c: Likewise.
* gcc.dg/c99-tgmath-1.c: Skip on alpha*-dec-osf5*.
* gcc.dg/c99-tgmath-2.c: Likewise.
* gcc.dg/c99-tgmath-3.c: Likewise.
* gcc.dg/c99-tgmath-4.c: Likewise.
From-SVN: r158999
Steven G. Kargl [Mon, 3 May 2010 17:57:14 +0000 (17:57 +0000)]
re PR fortran/43592 (Unexpected INTERFACE statement in INTERFACE block at (1))
2010-05-03 Steven G. Kargl <kargl@gcc.gnu.org>
PR fortran/43592
* fortran/parse.c (parse_interface): Do not dereference a NULL pointer.
2010-05-03 Steven G. Kargl <kargl@gcc.gnu.org>
PR fortran/43592
* gfortran.dg/unexpected_interface.f90: New test.
From-SVN: r158998
Steven Bosscher [Mon, 3 May 2010 17:47:47 +0000 (17:47 +0000)]
tm.texi (defmac SMALL_REGISTER_CLASSES): Remove.
* doc/tm.texi (defmac SMALL_REGISTER_CLASSES): Remove.
(TARGET_SMALL_REGISTER_CLASSES_FOR_MODE_P): Add documentation,
based on the above, for new target hook.
* hooks.c (hook_bool_mode_true): New generic hook.
* hooks.h (hook_bool_mode_true): Add prototype.
* target.h (struct gcc_target): Add small_register_classes_for_mode_p
target hook.
* target-def.h (TARGET_SMALL_REGISTER_CLASSES_FOR_MODE_P): New default
target hook, set to hook_bool_mode_false.
* regs.h: Remove default definition of SMALL_REGISTER_CLASSES.
* reload.c (push_secondary_reload): Replace SMALL_REGISTER_CLASSES
with targetm.small_register_classes_for_mode_p.
(find_reusable_reload): Likewise.
(combine_reloads): Likewise.
* reload1.c (reload_as_needed): Likewise.
* cse.c (approx_reg_cost_1, hash_rtx_cb): Likewise.
* ifcvt.c (noce_process_if_block, check_cond_move_block,
dead_or_predicable): Likewise.
* regmove.c (optimize_reg_copy_1): Likewise.
* calls.c (prepare_call_address): Likewise.
(precompute_register_parameters): Likewise.
* config/sh/sh.h: Replace SMALL_REGISTER_CLASSES with new target
hook definition.
* config/sh/sh.c (sh_small_register_classes_for_mode_p): Add
implementation of the hook that considers all register classes
small except for SH64.
(sh_override_options): Use the new hook.
* config/sh/sh-protos.h (sh_small_register_classes_for_mode_p):
Add prototype.
* config/arm/arm.h: Replace SMALL_REGISTER_CLASSES with new target
hook definition.
* config/arm/arm.c (arm_small_register_classes_for_mode_p): Add
implementation of the hook that considers all register classes
small for THUMB1.
* config/arm/arm-protos.h (arm_small_register_classes_for_mode_p):
Add prototype.
* config/mips/mips.h: Replace SMALL_REGISTER_CLASSES with new target
hook definition.
* config/mips/mips.c (mips_small_register_classes_for_mode_p): Add
implementation of the hook that considers all register classes
small for MIPS16.
* config/mips/mips-protos.h (mips_small_register_classes_for_mode_p):
Add prototype.
* config/i386/i386.h: Replace SMALL_REGISTER_CLASSES with new target
hook definition.
* config/m32c/m32c.h: Likewise.
* config/pdp11/pdp11.h: Likewise.
* config/avr/avr.h: Likewise.
* config/xtensa/xtensa.h: Likewise.
* config/m68hc11/m68hc11.h: Likewise.
* config/mn10300/mn10300.h: Likewise.
* config/mcore/mcore.h: Likewise.
* config/h8300/h8300.h: Likewise.
* config/bfin/bfin.h: Likewise.
* config/iq2000/iq2000.h: Remove SMALL_REGISTER_CLASSES definition.
* config/rx/rx.h: Remove SMALL_REGISTER_CLASSES definition.
From-SVN: r158997
Rainer Orth [Mon, 3 May 2010 16:40:54 +0000 (16:40 +0000)]
run_acats (which): New function.
* ada/acats/run_acats (which): New function.
(host_gnatchop, host_gnatmake): Use it.
From-SVN: r158994
Anatoly Sokolov [Mon, 3 May 2010 16:21:15 +0000 (20:21 +0400)]
double-int.h (tree_to_double_int): Remove macro.
* double-int.h (tree_to_double_int): Remove macro.
(double_int_to_tree, double_int_fits_to_tree_p): Move prototypes ...
* tree.h (double_int_to_tree, double_int_fits_to_tree_p): ... here.
(tree_to_double_int): New function.
* double-int.c (double_int_to_tree, double_int_fits_to_tree_p):
Move ...
* tree.c (double_int_to_tree, double_int_fits_to_tree_p): ... here.
From-SVN: r158993
Richard Guenther [Mon, 3 May 2010 16:12:12 +0000 (16:12 +0000)]
re PR tree-optimization/43971 (index domain error in tree-ssa-structalias.c:3450)
2010-05-03 Richard Guenther <rguenther@suse.de>
PR tree-optimization/43971
* tree-ssa-structalias.c (get_constraint_for_1): Fix
constraints in the !flag_delete_null_pointer_checks case.
* gcc.dg/pr43971.c: New testcase.
From-SVN: r158991
Jakub Jelinek [Mon, 3 May 2010 15:42:43 +0000 (17:42 +0200)]
re PR debug/43972 (ICE in loc_cmp)
PR debug/43972
* config/i386/i386.c (ix86_delegitimize_address): Make sure the
result mode matches original rtl mode.
* gcc.dg/debug/pr43972.c: New test.
From-SVN: r158989
GCC Administrator [Mon, 3 May 2010 00:16:58 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r158988
Dave Korn [Sun, 2 May 2010 23:54:21 +0000 (23:54 +0000)]
ChangeLog: Added missing PR reference from last commit.
* gcc/ChangeLog: Added missing PR reference from last commit.
From-SVN: r158984
Dave Korn [Sun, 2 May 2010 23:51:59 +0000 (23:51 +0000)]
winnt.c (i386_pe_binds_local_p): Handle weak decls.
* config/i386/winnt.c (i386_pe_binds_local_p): Handle weak decls.
From-SVN: r158983
Uros Bizjak [Sun, 2 May 2010 20:45:20 +0000 (22:45 +0200)]
re PR testsuite/43963 (FAIL: g++.dg/debug/dwarf2/icf.C scan-assembler 0x0.*Vtable slot)
PR testsuite/43963
* g++.dg/debug/dwarf2/icf.C: Update scan regexp for Vtable slot 0.
From-SVN: r158982
Uros Bizjak [Sun, 2 May 2010 19:57:13 +0000 (21:57 +0200)]
i386.c (ix86_target_string): Output 'flags', not 'isa', when processing flag options.
* config/i386/i386.c (ix86_target_string): Output 'flags', not 'isa',
when processing flag options.
From-SVN: r158979
Uros Bizjak [Sun, 2 May 2010 19:39:31 +0000 (21:39 +0200)]
vmsdbgout.c (ASM_OUTPUT_DEBUG_DATA1): Change format string placeholder from 0x%x to %#x.
* vmsdbgout.c (ASM_OUTPUT_DEBUG_DATA1): Change format string
placeholder from 0x%x to %#x.
(ASM_OUTPUT_DEBUG_DATA1): Ditto.
(ASM_OUTPUT_DEBUG_DATA4): Ditto.
(ASM_OUTPUT_DEBUG_DATA): Ditto.
(ASM_OUTPUT_DEBUG_ADDR_DATA): Ditto.
(ASM_OUTPUT_DEBUG_DATA8): Ditto.
* optc-gen.awk: Ditto.
* hwint.h (HOST_WIDE_INT_PRINT_DOUBLE_HEX): Ditto.
(HOST_WIDE_INT_PRINT_HEX): Ditto.
(HOST_WIDEST_INT_PRINT_HEX): Ditto.
(HOST_WIDEST_INT_PRINT_DOUBLE_HEX): Ditto.
* gcov-dump.c (tag_function): Ditto.
(tag_summary): Ditto.
From-SVN: r158978
Richard Guenther [Sun, 2 May 2010 18:10:53 +0000 (18:10 +0000)]
re PR tree-optimization/43879 (-fipa-pta causes various miscompilations)
2010-05-02 Richard Guenther <rguenther@suse.de>
PR tree-optimization/43879
* tree-tailcall.c (find_tail_calls): Clobbers also prevent
tail calls.
* gcc.dg/torture/pr43879-3.c: New testcase.
From-SVN: r158977
Giuseppe Scrivano [Sun, 2 May 2010 16:56:05 +0000 (16:56 +0000)]
* gnathtml.pl: Use 755 as mask for new directories.
From-SVN: r158976
Bruno Haible [Sun, 2 May 2010 15:25:21 +0000 (15:25 +0000)]
* doc/extend.texi (Function Attributes): Fix a typo.
From-SVN: r158975
Tobias Burnus [Sun, 2 May 2010 15:13:03 +0000 (17:13 +0200)]
re PR fortran/18918 (Eventually support Fortran 2008's coarrays [co-arrays])
2010-05-02 Tobias Burnus <burnus@net-b.de>
PR fortran/18918
* intrinsic.c (add_functions): Fix GFC_STD and add gfc_resolve_*
calls for lcobound, ucobound, image_index and this_image.
* intrinsic.h (gfc_resolve_lcobound, gfc_resolve_this_image,
gfc_resolve_image_index, gfc_resolve_ucobound): New prototypes.
* iresolve.c (gfc_resolve_lcobound, gfc_resolve_this_image,
gfc_resolve_image_index, gfc_resolve_ucobound, resolve_bound): New
functions.
(gfc_resolve_lbound, gfc_resolve_ubound): Use resolve_bound.
From-SVN: r158974
Uros Bizjak [Sun, 2 May 2010 13:10:40 +0000 (15:10 +0200)]
revert: hwint.h (HOST_WIDE_INT_PRINT_DOUBLE_HEX): Change format string placeholder from 0x%x to %#x.
Revert:
* hwint.h (HOST_WIDE_INT_PRINT_DOUBLE_HEX): Change format string
placeholder from 0x%x to %#x.
(HOST_WIDEST_INT_PRINT_DOUBLE_HEX): Ditto.
* config/i386/i386.c (output_pic_addr_const): Ditto.
From-SVN: r158972
Uros Bizjak [Sun, 2 May 2010 12:31:18 +0000 (14:31 +0200)]
vmsdbgout.c (ASM_OUTPUT_DEBUG_DATA1): Change format string placeholder from 0x%x to %#x.
* vmsdbgout.c (ASM_OUTPUT_DEBUG_DATA1): Change format string
placeholder from 0x%x to %#x.
(ASM_OUTPUT_DEBUG_DATA1): Ditto.
(ASM_OUTPUT_DEBUG_DATA4): Ditto.
(ASM_OUTPUT_DEBUG_DATA): Ditto.
(ASM_OUTPUT_DEBUG_ADDR_DATA): Ditto.
(ASM_OUTPUT_DEBUG_DATA8): Ditto.
* optc-gen.awk: Ditto.
* hwint.h (HOST_WIDE_INT_PRINT_DOUBLE_HEX): Ditto.
(HOST_WIDE_INT_PRINT_HEX): Ditto.
(HOST_WIDEST_INT_PRINT_HEX): Ditto.
(HOST_WIDEST_INT_PRINT_DOUBLE_HEX): Ditto.
* gcov-dump.c (tag_function): Ditto.
(tag_summary): Ditto.
From-SVN: r158971
Anatoly Sokolov [Sun, 2 May 2010 10:49:10 +0000 (14:49 +0400)]
target.h (struct calls): Add function_value_regno_p field.
* target.h (struct calls): Add function_value_regno_p field.
* target-def.h (TARGET_FUNCTION_VALUE_REGNO_P): Define.
(TARGET_INITIALIZER): Use TARGET_FUNCTION_VALUE_REGNO_P.
* targhooks.c (default_function_value_regno_p): New function.
* targhooks.h (default_function_value_regno_p): Declare function.
* rtlanal.c (keep_with_call_p): Use function_value_regno_p hook.
* builtins.c. (apply_result_size): (Ditto.).
* combine.c. (likely_spilled_retval_p): (Ditto.).
* mode-switching.c. Include 'target.h'.
(create_pre_exit): Use function_value_regno_p hook.
* Makefile.in (mode-switching.o): Add dependency on TARGET_H.
* doc/tm.texi (FUNCTION_VALUE_REGNO_P,
TARGET_FUNCTION_VALUE_REGNO_P): Revise documentation.
* config/i386/i386.h (TARGET_FUNCTION_VALUE_REGNO_P): Remove macro.
* config/i386/i386.c (TARGET_FUNCTION_VALUE_REGNO_P): Define macro.
(ix86_function_value_regno_p): Declare as static, change argument
type to const unsigned int.
* config/i386/i386-protos.h (ix86_function_value_regno_p): Remove.
From-SVN: r158970
GCC Administrator [Sun, 2 May 2010 00:17:07 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r158969
Richard Guenther [Sat, 1 May 2010 21:30:26 +0000 (21:30 +0000)]
re PR tree-optimization/43949 (bogus warning: array subscript is above array bounds)
2010-05-01 Richard Guenther <rguenther@suse.de>
PR tree-optimization/43949
* tree-vrp.c (ssa_name_nonnegative_p): Return true for unsigned
types.
(extract_range_from_binary_expr): Handle *_MOD_EXPR.
* g++.dg/warn/Warray-bounds-5.C: New testcase.
From-SVN: r158965
Jonathan Wakely [Sat, 1 May 2010 20:03:19 +0000 (21:03 +0100)]
faq.xml: Fix anachronisms.
2010-05-01 Jonathan Wakely <jwakely.gcc@gmail.com>
* doc/xml/faq.xml: Fix anachronisms.
* doc/xml/manual/intro.xml (Make): Tweak grammar and whitespace.
* doc/xml/manual/support.xml (NULL): Use inline <code> element
instead of <programlisting> block.
* doc/html/*: Regenerate.
From-SVN: r158964
Anatoly Sokolov [Sat, 1 May 2010 17:52:02 +0000 (21:52 +0400)]
rtl.h (CONST_DOUBLE_P): Define.
* rtl.h (CONST_DOUBLE_P): Define.
(rtx_to_double_int): Declare.
* emit-rtl.c (rtx_to_double_int): New function.
* dwarf2out.c (insert_double): New function.
(loc_descriptor, add_const_value_attribute): Clean up, use
rtx_to_double_int and insert_double functions.
From-SVN: r158963
Jonathan Wakely [Sat, 1 May 2010 16:31:17 +0000 (16:31 +0000)]
extend.texi (Inline): Add missing return keyword to examples.
* doc/extend.texi (Inline): Add missing return keyword to examples.
(Function Attributes, Variable Attributes, Pragmas): Hyphenate
"command-line".
From-SVN: r158962
Joseph Myers [Sat, 1 May 2010 15:23:59 +0000 (16:23 +0100)]
* sv.po: Update.
From-SVN: r158960
H.J. Lu [Sat, 1 May 2010 13:52:52 +0000 (13:52 +0000)]
Revert the accidental checkin in revision 158918.
gcc/cp/
2010-05-01 H.J. Lu <hongjiu.lu@intel.com>
PR c++/43951
* init.c (build_new_1): Revert the accidental checkin in
revision 158918.
gcc/testsuite/
2010-05-01 H.J. Lu <hongjiu.lu@intel.com>
PR c++/43951
* g++.dg/init/new28.C: New.
From-SVN: r158959
Iain Sandoe [Sat, 1 May 2010 00:32:13 +0000 (00:32 +0000)]
[multiple changes]
2010-04-30 Iain Sandoe <iains@gcc.gnu.org>
PR objc++/32052
* objc-act.c (encode_aggregate_within): Encode structure tags
with template args for ObjC++.
2010-04-30 Iain Sandoe <iains@gcc.gnu.org>
PR objc++/32052
* obj-c++.dg/encode-2.mm: Remove XFAIL. Add test for anonymous
structure and nested declarations.
* obj-c++.dg/encode-3.mm: Remove XFAIL. Add test for anonymous
structure and nested declarations. Reduce header clutter and
use _exit() rather than abort().
* objc.dg/encode-10.m: New.
* objc.dg/encode-11.m: New.
From-SVN: r158958
GCC Administrator [Sat, 1 May 2010 00:17:01 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r158957