Douglas Gregor [Tue, 2 Jan 2007 14:23:26 +0000 (14:23 +0000)]
c-common.c (c_common_nodes_and_builtins): Since variants of void_type_node get built before it is given a name...
2007-01-02 Douglas Gregor <doug.gregor@gmail.com>
* c-common.c(c_common_nodes_and_builtins): Since variants of
void_type_node get built before it is given a name, we need to
give those variants the name, too.
(complete_array_type): We need to work with the canonical main
type of the array, from which we will build the qualified version.
* params.def (PARAM_VERIFY_CANONICAL_TYPES): New.
* print-tree.c (print_node): Display canonical type information
for each type.
* stor-layout.c (layout_type): When we don't know the
alignment of a type for which we're building an array, we end up
guessing wrong, so make the type require structural equality.
* tree.c (make_node_stat): When we build a new type, it is its
own canonical type.
(build_type_attribute_qual_variant): When building an attribute
variant, its canonical type is the non-attribute variant. However,
if the attributes are target-dependent and they differ, we need to
use structural equality checks for this type.
(build_qualified_type): A qualified type is not equivalent to its
unqualified variant; set the canonical type appropriately.
(build_distinct_type_copy): When building a distinct type from
another type, the new type is its own canonical type.
(build_variant_type_copy): When building a new type variant, we
assume that it is equivalent to the original type.
(build_pointer_type_for_mode): When building a pointer type, also
build a canonical type pointer.
(build_reference_type_for_mode): When building a reference type,
also build a canonical type reference.
(build_index_type): When we can't hash an index type (e.g.,
because its maximum value is negative), the index type requires
structural equality tests.
(build_array_type): Build the canonical form of an array type.
(build_function_type): Function types require structural equality,
because they contain default arguments, attributes, etc.
(build_method_type_directly): Ditto for method types.
(build_offset_type): Build the canonical offset type.
(build_complex_type): Build the canonical vector type.
(make_vector_type): Build the canonical vector type.
* tree.h (TYPE_CANONICAL): New.
(TYPE_STRUCTURAL_EQUALITY_P): New.
(SET_TYPE_STRUCTURAL_EQUALITY): New.
(struct tree_type): Added "canonical" field.
* params.h (VERIFY_CANONICAL_TYPES): New.
* doc/c-tree.texi (TYPE_CANONICAL): Document.
(TYPE_STRUCTURAL_EQUALITY_P): Document.
(SET_TYPE_STRUCTURAL_EQUALITY): Document.
* doc/invoke.texi (verify-canonical-types): Document --param
parameter for verifying canonical types.
2007-01-02 Douglas Gregor <doug.gregor@gmail.com>
* typeck.c (structural_comptypes): Renamed from "comptypes".
(comptypes): Use canonical type information to perform fast type
comparison. When VERIFY_CANONICAL_TYPES, verify that the
canonical type comparison returns the same results as we would see
from the current, structural check. Support COMPARE_STRUCTURAL
when we need structural checks.
* decl.c (typename_compare): Fix comment.
(build_typename_type): TYPENAME_TYPE nodes require structural
equality checks, because they resolve different based on the
current class type.
(make_unbound_class_template): UNBOUND_CLASS_TEMPLATE nodes
require structural equality checks (for now).
(build_ptrmemfunc_type): Build the canonical pointer to member
function type.
(compute_array_index_type): Whenever we build a new index type
to represent the size of an array in a template, we need to mark
this index type as requiring structural equality. This goes for
arrays with value-dependent sizes with the current ABI, or all
arrays with ABI-1.
* tree.c (cplus_array_hash): New.
(struct cplus_array_info): New.
(cplus_array_compare): New.
(cplus_array_htab): New.
(build_cplus_array_type_1): Use a hash table to cache the array
types we build. Build the canonical array type for each array
type.
(cp_build_qualified_type_real): When building a cv-qualified array
type, use the hash table of array types and build canonical array
types as necessary.
(bind_template_template_parm): BOUND_TEMPLATE_TEMPLATE_PARM nodes
use structural equality (for now).
* cp-tree.h (COMPARE_STRUCTURAL): New.
* pt.c (canonical_template_parms): New.
(canonical_type_parameter): New.
(process_template_parm): Find the canonical type parameter.
(lookup_template_class): When we have named the primary template
type, set the canonical type for our template class to the primary
template type. If any of the template arguments need structural
equality checks, the template class needs structural equality
checks.
(tsubst): When reducing the level of a template template
parameter, we require structural equality tests for the resulting
parameter because its template parameters have not had their types
canonicalized. When reducing a template type parameter, find the
canonical reduced type parameter.
(any_template_arguments_need_structural_equality_p): New.
2007-01-02 Douglas Gregor <doug.gregor@gmail.com>
* objc-act.c (objc_build_volatilized_type): Keep track of
canonical types.
(objc_get_protocol_qualified_type): Ditto.
From-SVN: r120341
Joseph Myers [Tue, 2 Jan 2007 13:08:01 +0000 (13:08 +0000)]
config.gcc (powerpc-*-eabispe*, [...]): Add rs6000/e500.h to tm_file.
* config.gcc (powerpc-*-eabispe*, powerpc-*-eabisimaltivec*,
powerpc-*-eabisim*, powerpc-*-eabialtivec*, powerpc-*-eabi*,
powerpc-*-rtems*, powerpc-wrs-vxworks, powerpc-wrs-vxworksae,
powerpcle-*-eabisim*, powerpcle-*-eabi*): Add rs6000/e500.h to
tm_file.
* config/rs6000/e500.h: New.
* config/rs6000/eabi.h (TARGET_SPE_ABI, TARGET_SPE, TARGET_E500,
TARGET_ISEL, TARGET_FPRS, TARGET_E500_SINGLE, TARGET_E500_DOUBLE):
Remove.
* config/rs6000/linuxspe.h (TARGET_SPE_ABI, TARGET_SPE,
TARGET_E500, TARGET_ISEL, TARGET_FPRS, TARGET_E500_SINGLE,
TARGET_E500_DOUBLE): Remove.
* config/rs6000/vxworks.h (TARGET_SPE_ABI, TARGET_SPE,
TARGET_E500, TARGET_ISEL, TARGET_FPRS): Remove.
* config/rs6000/rs6000.h (CHECK_E500_OPTIONS): Define.
* config/rs6000/rs6000.c (rs6000_override_options): Use
CHECK_E500_OPTIONS.
From-SVN: r120340
Joseph Myers [Tue, 2 Jan 2007 13:03:59 +0000 (13:03 +0000)]
rs6000.c (print_operand): Check (TARGET_SPE || TARGET_E500_DOUBLE), not TARGET_E500, for %y.
* config/rs6000/rs6000.c (print_operand): Check (TARGET_SPE ||
TARGET_E500_DOUBLE), not TARGET_E500, for %y.
(rs6000_generate_compare, rs6000_emit_sCOND, output_cbranch,
rs6000_emit_cmove): Don't check TARGET_E500.
* config/rs6000/rs6000.md (bunordered, bordered, sunordered,
sordered): Don't check TARGET_E500.
From-SVN: r120339
Eric Christopher [Tue, 2 Jan 2007 06:34:09 +0000 (06:34 +0000)]
mips.c (mips_regno_mode_ok_for_base_p): Use HARD_REGISTER_NUM_P.
2007-01-01 Eric Christopher <echristo@apple.com>
* config/mips/mips.c (mips_regno_mode_ok_for_base_p): Use
HARD_REGISTER_NUM_P.
From-SVN: r120334
Roger Sayle [Tue, 2 Jan 2007 04:32:07 +0000 (04:32 +0000)]
fold-const.c (fold_binary): Fold "(X^C1) eq/ne C2" into "X eq/ne (C1^C2)".
* fold-const.c (fold_binary) <EQ_EXPR>: Fold "(X^C1) eq/ne C2" into
"X eq/ne (C1^C2)". Fold "(X^Z) eq/ne (Y^Z)" as "X eq/ne Y" when Z
has no side-effects. Fold "(X^C1) eq/ne (Y^C2)" as "(X^(C1^C2))
eq/ne Y".
* gcc.dg/fold-eqxor-4.c: New test case.
From-SVN: r120333
Mike Stump [Tue, 2 Jan 2007 03:35:17 +0000 (03:35 +0000)]
configure.ac: Remove support for building with Apple's gcc-3.1.
gcc:
* configure.ac: Remove support for building with Apple's gcc-3.1.
config:
* mh-ppc-darwin: Remove support for building with Apple's gcc-3.1.
From-SVN: r120331
Joseph Myers [Tue, 2 Jan 2007 00:38:21 +0000 (00:38 +0000)]
re PR middle-end/30311 (revision 120211 failed to compile perlbench)
gcc:
PR middle-end/30311
* caller-save.c (add_stored_regs): Only handle SUBREGs if inner
REG is a hard register. Do not modify REG before calling
subreg_nregs.
* rtlanal.c (subreg_get_info): Don't assert size of XMODE is a
multiple of the size of YMODE for certain lowpart cases.
gcc/testsuite:
* gcc.c-torture/compile/pr30311.c: New test.
From-SVN: r120329
GCC Administrator [Tue, 2 Jan 2007 00:17:34 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r120327
Andrew Pinski [Mon, 1 Jan 2007 22:27:27 +0000 (14:27 -0800)]
Fix misspelling of GIMPLE_MODIFY_STMT.
This is what I get for copying manually the patch.
From-SVN: r120322
Andrew Pinski [Mon, 1 Jan 2007 22:19:58 +0000 (14:19 -0800)]
re PR middle-end/30253 (ICE with statement expression inside a conditional)
2007-01-01 Andrew Pinski <pinskia@gmail.com>
PR middle-end/30253
* gimplify (voidify_wrapper_expr): Update for
GIMPLIFY_MODIFY_STMT.
2007-01-01 Andrew Pinski <pinskia@gmail.com>
PR middle-end/30253
* gcc.c-torture/compile/statement-expression-1.c: New test.
From-SVN: r120321
Andreas Schwab [Mon, 1 Jan 2007 22:03:23 +0000 (22:03 +0000)]
re PR target/29166 (broken unwind information for many life variables resulting in register corruption)
PR target/29166
* config/ia64/ia64.c (ia64_compute_frame_size): Account space for
save of BR0 in extra_spill_size instead of spill_size.
(ia64_expand_prologue): Save BR0 outside of the gr/br/fr spill
area.
(ia64_expand_epilogue): Restore BR0 from its new location.
testsuite/:
* g++.dg/eh/pr29166.C: New test.
From-SVN: r120319
Andrew Pinski [Mon, 1 Jan 2007 22:01:59 +0000 (14:01 -0800)]
gimplify.c (gimplify_init_constructor <case VECTOR_TYPE>): Use a temporary variable if the left hand side is not a gimple register.
2007-01-01 Andrew Pinski <pinskia@gmail.com>
* gimplify.c (gimplify_init_constructor <case VECTOR_TYPE>):
Use a temporary variable if the left hand side is not a gimple
register.
From-SVN: r120318
Andrew Pinski [Mon, 1 Jan 2007 21:58:19 +0000 (13:58 -0800)]
gimplify.c (gimplify_return_expr): Make the temporary variable for the return expression, a gimple register variable.
2007-01-01 Andrew Pinski <pinskia@gmail.com>
* gimplify.c (gimplify_return_expr): Make the temporary variable
for the return expression, a gimple register variable.
From-SVN: r120317
Jan Hubicka [Mon, 1 Jan 2007 21:53:31 +0000 (22:53 +0100)]
emit-rtl.c (emit_copy_of_insn_after): Do not call copy_insn_1 for INSN_LIST.
* emit-rtl.c (emit_copy_of_insn_after): Do not call copy_insn_1 for
INSN_LIST.
From-SVN: r120316
Mike Stump [Mon, 1 Jan 2007 20:58:38 +0000 (20:58 +0000)]
configure.ac (HAVE_GAS_LITERAL16): Add autoconf check for .literal16.
* configure.ac (HAVE_GAS_LITERAL16): Add autoconf check for
.literal16.
* config/darwin.c (machopic_select_rtx_section): Use
HAVE_GAS_LITERAL16.
(darwin_mergeable_constant_section): Likewise.
* configure: Regenerate.
* config.in: Regenerate.
From-SVN: r120315
Jan Hubicka [Mon, 1 Jan 2007 20:11:09 +0000 (21:11 +0100)]
cgraphunit.c (cgraph_optimize): Call cgraph_add_new_functions before starting IPA passes.
* cgraphunit.c (cgraph_optimize): Call cgraph_add_new_functions
before starting IPA passes.
Co-Authored-By: Andrew Pinski <pinskia@gmail.com>
From-SVN: r120314
Mike Stump [Mon, 1 Jan 2007 19:54:50 +0000 (19:54 +0000)]
Rotate ChangeLog file.
From-SVN: r120313
Steven G. Kargl [Mon, 1 Jan 2007 19:22:09 +0000 (19:22 +0000)]
Rotate ChangeLog.
From-SVN: r120312
Steven G. Kargl [Mon, 1 Jan 2007 19:17:50 +0000 (19:17 +0000)]
Rotate ChangeLog
From-SVN: r120311
Joseph Myers [Mon, 1 Jan 2007 12:56:08 +0000 (12:56 +0000)]
target-supports.exp (check_effective_target_powerpc_spe): New.
* lib/target-supports.exp (check_effective_target_powerpc_spe):
New.
(check_effective_target_vect_cmdline_needed): Use it.
From-SVN: r120308
GCC Administrator [Mon, 1 Jan 2007 00:17:27 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r120306
Richard Guenther [Sun, 31 Dec 2006 17:27:35 +0000 (17:27 +0000)]
re PR tree-optimization/30137 (Missed folding of pointer comparison)
2006-12-31 Richard Guenther <rguenther@suse.de>
PR middle-end/30137
* fold-const.c (fold_comparison): Fold comparison of addresses
of components.
* testsuite/gcc.dg/pr30137-1.c: New testcase.
* testsuite/gcc.dg/pr30137-2.c: Likewise.
From-SVN: r120301
Roger Sayle [Sun, 31 Dec 2006 16:17:49 +0000 (16:17 +0000)]
re PR middle-end/30322 (((-i-1) + i) +1) is turned into ~i + (i+1) and never into 0 on the tree level)
PR middle-end/30322
* fold-const.c (fold_binary): Fold X + ~X and ~X + X into -1 when
we don't care about trapping overflow. Only convert -A - 1 into ~A
when we don't care about trapping overflow.
* gcc.dg/fold-plusnot-1.c: New test case.
From-SVN: r120300
Simon Martin [Sun, 31 Dec 2006 16:09:07 +0000 (16:09 +0000)]
re PR c++/29731 (ICE with statement expression as template parameter)
2006-12-31 Simon Martin <simartin@users.sourceforge.net>
PR c++/29731
* parser.c (cp_parser_primary_expression): Return error_mark_node when
a statement-expression is found outside of a function body.
From-SVN: r120299
Richard Guenther [Sun, 31 Dec 2006 14:01:19 +0000 (14:01 +0000)]
re PR middle-end/30338 (infinite loop in maybe_canonicalize_comparison)
2006-12-31 Richard Guenther <rguenther@suse.de>
PR middle-end/30338
* fold-const.c (fold_binary): Fix type-mismatch in folding
of -1 - A to ~A.
* gcc.c-torture/compile/pr30338.c: New testcase.
From-SVN: r120297
Paul Thomas [Sun, 31 Dec 2006 07:51:47 +0000 (07:51 +0000)]
re PR fortran/27900 ([4.1 only] ICE using intrinsics as arguments)
2006-12-31 Paul Thomas <pault@gcc.gnu.org>
PR fortran/27900
* resolve.c (resolve_actual_arglist): If all else fails and a
procedure actual argument has no type, see if a specific
intrinsic matches.
PR fortran/24325
* resolve.c (resolve_function): If the function reference is
FL_VARIABLE this is an error.
2006-12-31 Paul Thomas <pault@gcc.gnu.org>
PR fortran/27900
* gfortran.dg/intrinsic_actual_4.f90: New test.
PR fortran/24325
* gfortran.dg/func_decl_3.f90: New test.
From-SVN: r120296
Paul Thomas [Sun, 31 Dec 2006 06:55:16 +0000 (06:55 +0000)]
re PR fortran/23060 (%VAL, %REF and %DESCR constructs not implemented)
2006-12-31 Paul Thomas <pault@gcc.gnu.org>
PR fortran/23060
* intrinsic.c (compare_actual_formal ): Distinguish argument
list functions from keywords.
* intrinsic.c (sort_actual): If formal is NULL, the presence of
an argument list function actual is an error.
* trans-expr.c (conv_arglist_function) : New function to
implement argument list functions %VAL, %REF and %LOC.
(gfc_conv_function_call): Call it.
* resolve.c (resolve_actual_arglist): Add arg ptype and check
argument list functions.
(resolve_function, resolve_call): Set value of ptype before
calls to resolve_actual_arglist.
* primary.c (match_arg_list_function): New function.
(gfc_match_actual_arglist): Call it before trying for a
keyword argument.
2006-12-31 Paul Thomas <pault@gcc.gnu.org>
PR fortran/23060
* gfortran.dg/c_by_val.c: Called by c_by_val_1.f.
* gfortran.dg/c_by_val_1.f: New test.
* gfortran.dg/c_by_val_2.f: New test.
* gfortran.dg/c_by_val_3.f: New test.
From-SVN: r120295
GCC Administrator [Sun, 31 Dec 2006 00:17:28 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r120293
Kazu Hirata [Sat, 30 Dec 2006 21:17:30 +0000 (21:17 +0000)]
* tree-inline.c: Fix a comment typo.
From-SVN: r120288
Thomas Koenig [Sat, 30 Dec 2006 13:16:36 +0000 (13:16 +0000)]
re PR fortran/30321 (program crash for SUM applied to zero-size array)
2006-12-30 Thomas Koenig <Thomas.Koenig@online.de>
PR libfortran/30321
* m4/ifunction.m4 (name`'rtype_qual`_'atype_code):
Check for extents < 0 for zero-sized arrays. If
no retarray has been specified and the size is zero,
return early.
(`m'name`'rtype_qual`_'atype_code): Likewise.
* generated/all_l16.c: Regenerated.
* generated/all_l4.c: Regenerated.
* generated/all_l8.c: Regenerated.
* generated/any_l16.c: Regenerated.
* generated/any_l4.c: Regenerated.
* generated/any_l8.c: Regenerated.
* generated/count_16_l16.c: Regenerated.
* generated/count_16_l4.c: Regenerated.
* generated/count_16_l8.c: Regenerated.
* generated/count_4_l16.c: Regenerated.
* generated/count_4_l4.c: Regenerated.
* generated/count_4_l8.c: Regenerated.
* generated/count_8_l16.c: Regenerated.
* generated/count_8_l4.c: Regenerated.
* generated/count_8_l8.c: Regenerated.
* generated/cshift1_16.c: Regenerated.
* generated/cshift1_4.c: Regenerated.
* generated/cshift1_8.c: Regenerated.
* generated/maxloc1_16_i16.c: Regenerated.
* generated/maxloc1_16_i4.c: Regenerated.
* generated/maxloc1_16_i8.c: Regenerated.
* generated/maxloc1_16_r10.c: Regenerated.
* generated/maxloc1_16_r16.c: Regenerated.
* generated/maxloc1_16_r4.c: Regenerated.
* generated/maxloc1_16_r8.c: Regenerated.
* generated/maxloc1_4_i16.c: Regenerated.
* generated/maxloc1_4_i4.c: Regenerated.
* generated/maxloc1_4_i8.c: Regenerated.
* generated/maxloc1_4_r10.c: Regenerated.
* generated/maxloc1_4_r16.c: Regenerated.
* generated/maxloc1_4_r4.c: Regenerated.
* generated/maxloc1_4_r8.c: Regenerated.
* generated/maxloc1_8_i16.c: Regenerated.
* generated/maxloc1_8_i4.c: Regenerated.
* generated/maxloc1_8_i8.c: Regenerated.
* generated/maxloc1_8_r10.c: Regenerated.
* generated/maxloc1_8_r16.c: Regenerated.
* generated/maxloc1_8_r4.c: Regenerated.
* generated/maxloc1_8_r8.c: Regenerated.
* generated/maxval_i16.c: Regenerated.
* generated/maxval_i4.c: Regenerated.
* generated/maxval_i8.c: Regenerated.
* generated/maxval_r10.c: Regenerated.
* generated/maxval_r16.c: Regenerated.
* generated/maxval_r4.c: Regenerated.
* generated/maxval_r8.c: Regenerated.
* generated/minloc1_16_i16.c: Regenerated.
* generated/minloc1_16_i4.c: Regenerated.
* generated/minloc1_16_i8.c: Regenerated.
* generated/minloc1_16_r10.c: Regenerated.
* generated/minloc1_16_r16.c: Regenerated.
* generated/minloc1_16_r4.c: Regenerated.
* generated/minloc1_16_r8.c: Regenerated.
* generated/minloc1_4_i16.c: Regenerated.
* generated/minloc1_4_i4.c: Regenerated.
* generated/minloc1_4_i8.c: Regenerated.
* generated/minloc1_4_r10.c: Regenerated.
* generated/minloc1_4_r16.c: Regenerated.
* generated/minloc1_4_r4.c: Regenerated.
* generated/minloc1_4_r8.c: Regenerated.
* generated/minloc1_8_i16.c: Regenerated.
* generated/minloc1_8_i4.c: Regenerated.
* generated/minloc1_8_i8.c: Regenerated.
* generated/minloc1_8_r10.c: Regenerated.
* generated/minloc1_8_r16.c: Regenerated.
* generated/minloc1_8_r4.c: Regenerated.
* generated/minloc1_8_r8.c: Regenerated.
* generated/minval_i16.c: Regenerated.
* generated/minval_i4.c: Regenerated.
* generated/minval_i8.c: Regenerated.
* generated/minval_r10.c: Regenerated.
* generated/minval_r16.c: Regenerated.
* generated/minval_r4.c: Regenerated.
* generated/minval_r8.c: Regenerated.
* generated/product_c10.c: Regenerated.
* generated/product_c16.c: Regenerated.
* generated/product_c4.c: Regenerated.
* generated/product_c8.c: Regenerated.
* generated/product_i16.c: Regenerated.
* generated/product_i4.c: Regenerated.
* generated/product_i8.c: Regenerated.
* generated/product_r10.c: Regenerated.
* generated/product_r16.c: Regenerated.
* generated/product_r4.c: Regenerated.
* generated/product_r8.c: Regenerated.
* generated/sum_c10.c: Regenerated.
* generated/sum_c16.c: Regenerated.
* generated/sum_c4.c: Regenerated.
* generated/sum_c8.c: Regenerated.
* generated/sum_i16.c: Regenerated.
* generated/sum_i4.c: Regenerated.
* generated/sum_i8.c: Regenerated.
* generated/sum_r10.c: Regenerated.
* generated/sum_r16.c: Regenerated.
* generated/sum_r4.c: Regenerated.
* generated/sum_r8.c: Regenerated.
2006-12-30 Thomas Koenig <Thomas.Koenig@online.de>
PR libfortran/30321
* gfortran.dg/sum_zero_array_1.f90: New test.
From-SVN: r120287
Jan Hubicka [Sat, 30 Dec 2006 12:15:16 +0000 (13:15 +0100)]
ipa-pure-const.c (check_operand): SSA_NAME is safe.
* ipa-pure-const.c (check_operand): SSA_NAME is safe.
* ipa-type-escape.c (scan_for_refs): Look into SSA_NAMEs.
From-SVN: r120286
Jan Hubicka [Sat, 30 Dec 2006 12:03:47 +0000 (13:03 +0100)]
tree.h (DECL_CALL_CLOBBERED): Remove.
* tree.h (DECL_CALL_CLOBBERED): Remove.
(tree_decl_common): Remove call_clobbered flag.
* tree-flow.h (struct var_ann_d): Add call_clobbered flag.
* tree-ssa-alias.c (mark_non_addressable, reset_cc_flags): Update.
* tree-flow-inline.h (is_call_clobbered, mark_call_clobbered,
clear_call_clobbered): Update.
* tree-ssa.c (verify_call_clobbering): Update.
From-SVN: r120285
Jan Hubicka [Sat, 30 Dec 2006 12:02:09 +0000 (13:02 +0100)]
tree-ssa-alias.c (create_structure_vars): When in SSA, update operand caches.
* tree-ssa-alias.c (create_structure_vars): When in SSA, update operand
caches.
* tree-ssa-operands.c (build_ssa_operands): Recompute addresses_taken
bitmap.
From-SVN: r120284
Jan Hubicka [Sat, 30 Dec 2006 12:00:45 +0000 (13:00 +0100)]
emit-rt.c (emit_copy_of_insn_after): Fix bug causing exponential amount of copies of INSN_NOTEs list.
* emit-rt.c (emit_copy_of_insn_after): Fix bug causing exponential
amount of copies of INSN_NOTEs list.
Co-Authored-By: Vladimir Yanovsky <volodyan@gmail.com>
From-SVN: r120283
Jan Hubicka [Sat, 30 Dec 2006 11:58:01 +0000 (12:58 +0100)]
cgraph.c (cgraph_exapnd_queue): Rename to...
* cgraph.c (cgraph_exapnd_queue): Rename to...
(cgraph_new_nodes): ... this one.
(cgraph_state): New global variable.
(cgraph_add_new_function): Work in more cases.
* cgraph.h (cgraph_expand_queue): Rename to ...
(cgraph_new_nodes): ... this one.
(cgraph_state): New enum and static variable.
(cgraph_add_new_function): Update prototype.
(cgraph_process_new_functions): New.
* omp-low.c (expand_omp_parallel): Update.
* cgraphunit.c (initialize_inline_failed): Declare early.
(cgraph_process_new_functions): New function.
(cgraph_assemble_pending_functions): Use it.
(cgraph_expand_all_functions): Use it.
(cgraph_optimize): Use it; set cgraph_state.
* passes.c (execute_one_pass, execute_ipa_pass_list): Process new
functions
From-SVN: r120282
GCC Administrator [Sat, 30 Dec 2006 00:17:56 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r120279
Paolo Bonzini [Fri, 29 Dec 2006 16:58:48 +0000 (16:58 +0000)]
configure.in: Reorganize recognition of languages.
2006-12-29 Paolo Bonzini <bonzini@gnu.org>
* configure.in: Reorganize recognition of languages. Add
--enable-stage1-languages. Show supported languages for the chosen
target rather than all recognized languages.
* configure: Regenerate.
From-SVN: r120271
Paolo Bonzini [Fri, 29 Dec 2006 16:42:51 +0000 (16:42 +0000)]
Makefile.tpl (GCC_STRAP_TARGETS, [...]): Remove.
2006-12-29 Paolo Bonzini <bonzini@gnu.org>
* Makefile.tpl (GCC_STRAP_TARGETS, all-prebootstrap): Remove.
* Makefile.in: Regenerate.
From-SVN: r120270
Kazu Hirata [Fri, 29 Dec 2006 16:07:37 +0000 (16:07 +0000)]
i386.h (NON_QI_REG_P): Remove.
* config/i386/i386.h (NON_QI_REG_P): Remove.
* config/i386/predicates.md (non_q_regs_operand): Remove.
From-SVN: r120267
Kazu Hirata [Fri, 29 Dec 2006 16:05:57 +0000 (16:05 +0000)]
tree-cfg.c (last_stmt_ptr): Remove.
* tree-cfg.c (last_stmt_ptr): Remove.
* tree-flow.h: Remove the prototype for last_stmt_ptr.
From-SVN: r120266
Ian Lance Taylor [Fri, 29 Dec 2006 15:48:26 +0000 (15:48 +0000)]
c-common.c (c_define_builtins): New static function broken out of c_common_nodes_and_builtins.
* c-common.c (c_define_builtins): New static function broken out
of c_common_nodes_and_builtins.
(c_common_nodes_and_builtins): Call c_define_builtins unless only
doing preprocessing.
From-SVN: r120264
Ian Lance Taylor [Fri, 29 Dec 2006 15:43:55 +0000 (15:43 +0000)]
lex.c (_cpp_clean_line): Add uses of __builtin_expect.
* lex.c (_cpp_clean_line): Add uses of __builtin_expect. Don't
look backward at the end of the line unless we saw a backslash.
From-SVN: r120263
Kaveh R. Ghazi [Fri, 29 Dec 2006 15:06:55 +0000 (15:06 +0000)]
configure.in: Warn that MPFR 2.2.0 is buggy.
* configure.in: Warn that MPFR 2.2.0 is buggy.
* configure: Regenerate.
From-SVN: r120262
Paolo Carlini [Fri, 29 Dec 2006 12:52:14 +0000 (12:52 +0000)]
re PR libstdc++/30226 (FAIL: abi_check)
2006-12-29 Paolo Carlini <pcarlini@suse.de>
PR libstdc++/30226
* config/abi/pre/gnu.ver: Do not export ctype<char>::widen.
From-SVN: r120261
Jan Hubicka [Fri, 29 Dec 2006 11:10:31 +0000 (12:10 +0100)]
tree-inline.c (remap_ssa_name): New function.
* tree-inline.c (remap_ssa_name): New function.
(remap_decl): Update SSA datastructures for DECLs.
(copy_body_r): Deal with SSA_NAMEs; add referenced global vars.
(copy_bb): Set SSA_NAME def stmts.
(update_ssa_acorss_eh_edges): New function.
(copy_edge_for_bb): Call it; mark new vars for renaming.
(copy_phis_for_bb): New function.
(initialize_cfun): Break out from ...
(copy_cfg_body): ... here; maintain AUX map for both directions;
call SSA updating workers; do not produce copy of cfun to be copied.
(setup_one_parameter): Do propagation across SSA form.
(declare_return_variable): Work on SSA; use return_slot instead of
address of return slot of argument to avoid folding back and forth.
(expand_call_inline): Update SSA from on return values.
(optimize_inline_calls): Do sanity checking, dead blocks removal,
update SSA form.
(tree_function_verioning): Update initialize_cfun.
From-SVN: r120260
Jakub Jelinek [Fri, 29 Dec 2006 08:15:08 +0000 (09:15 +0100)]
re PR preprocessor/29612 (gcc --save-temps does not give "multi-character character constant" error)
PR preprocessor/29612
* directives.c (do_linemarker): Set pfile->buffer->sysp always, not
only when new_sysp is non-zero.
* gcc.dg/cpp/pr29612-1.c: New test.
* gcc.dg/cpp/pr29612-2.c: New test.
From-SVN: r120257
Marcin Dalecki [Fri, 29 Dec 2006 01:39:32 +0000 (02:39 +0100)]
invoke.texi: Replace no longer supported -fno-strength-reduce with -fmerge-constants in...
2006-12-29 Marcin Dalecki <martin@dalecki.de>
* doc/invoke.texi: Replace no longer supported -fno-strength-reduce
with -fmerge-constants in sample code.
From-SVN: r120253
GCC Administrator [Fri, 29 Dec 2006 00:17:55 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r120251
Tom Tromey [Thu, 28 Dec 2006 18:45:48 +0000 (18:45 +0000)]
re PR preprocessor/30001 (out-of-bounds access when processing empty file)
PR preprocessor/30001:
* charset.c (_cpp_convert_input): Check that to.len is greater
than zero.
From-SVN: r120245
Paul Thomas [Thu, 28 Dec 2006 18:41:25 +0000 (18:41 +0000)]
re PR fortran/30034 ([4.1 only] pure subroutine requires intent for procedure argument)
2006-12-28 Paul Thomas <pault@gcc.gnu.org>
PR fortran/30034
* resolve.c (resolve_formal_arglist): Exclude the test for
pointers and procedures for subroutine arguments as well as
functions.
PR fortran/30237
* intrinsic.c (remove_nullargs): Do not pass up arguments with
a label. If the actual has a label and the formal has a type
then emit an error.
2006-12-28 Paul Thomas <pault@gcc.gnu.org>
PR fortran/30034
* gfortran.dg/pure_formal_proc_1.f90: New test.
PR fortran/30237
* gfortran.dg/intrinsic_actual_3.f90: New test.
From-SVN: r120244
Paolo Carlini [Thu, 28 Dec 2006 10:54:56 +0000 (10:54 +0000)]
array (array<>::_M_at): Remove.
2006-12-28 Paolo Carlini <pcarlini@suse.de>
* include/tr1/array (array<>::_M_at): Remove.
(array<>::_M_check): Add.
(array<>::at): Use the latter.
From-SVN: r120242
Kazu Hirata [Thu, 28 Dec 2006 06:51:24 +0000 (06:51 +0000)]
cp-tree.h (TYPE_NAMESPACE_SCOPE_P, [...]): Remove.
* cp-tree.h (TYPE_NAMESPACE_SCOPE_P, TYPE_FUNCTION_SCOPE_P):
Remove.
From-SVN: r120241
Kazu Hirata [Thu, 28 Dec 2006 06:48:38 +0000 (06:48 +0000)]
* decl2.c: Fix a comment typo.
From-SVN: r120240
Kazu Hirata [Thu, 28 Dec 2006 06:46:16 +0000 (06:46 +0000)]
cp-tree.h (TYPE_NAMESPACE_SCOPE_P, [...]): Remove.
* cp/cp-tree.h (TYPE_NAMESPACE_SCOPE_P,
TYPE_FUNCTION_SCOPE_P): Remove.
From-SVN: r120239
Kazu Hirata [Thu, 28 Dec 2006 06:44:53 +0000 (06:44 +0000)]
Makefile.in (OBJS-common): Remove conflict.o
* Makefile.in (OBJS-common): Remove conflict.o
(conflict.o): Remove.
* basic-block.h: Remove the prototypes for conflict.c.
* conflict.c: Remove.
From-SVN: r120238
Daniel Berlin [Thu, 28 Dec 2006 06:23:06 +0000 (06:23 +0000)]
sbitmap.c (BITMAP_DEBUGGING): New macro.
2006-12-27 Daniel Berlin <dberlin@dberlin.org>
* sbitmap.c (BITMAP_DEBUGGING): New macro.
(do_popcount): Ditto.
(sbitmap_verify_popcount): New function.
(sbitmap_alloc): Set popcount to NULL, remove set of bytes
member.
(sbitmap_alloc_with_popcount): New function.
(sbitmap_resize): Remove uses of bytes member and update
popcount.
(sbitmap_realloc): Remove uses of bytes member.
(sbitmap_copy): Copy popcount.
(sbitmap_copy_n): New function.
(sbitmap_zero): Update popcount cache.
(sbitmap_ones): Ditto.
(sbitmap_a_and_b): Ditto.
(sbitmap_a_or_b): Ditto.
(sbitmap_a_xor_b): Ditto.
(sbitmap_union_of_diff_cg): Assert non-existence of popcount
cache.
(sbitmap_union_of_diff): Ditto.
(sbitmap_not): Ditto.
(sbitmap_difference): Ditto.
(sbitmap_a_and_b_cg): Ditto.
(sbitmap_a_xor_b_cg): Ditto.
(sbitmap_a_or_b_cg): Ditto.
(sbitmap_a_or_b_and_c_cg): Ditto.
(sbitmap_a_and_b_or_c_cg): Ditto.
(sbitmap_intersection_of_succs): Ditto.
(sbitmap_intersection_of_preds): Ditto.
(sbitmap_union_of_succs): Ditto.
(sbitmap_union_of_preds): Ditto.
(popcount_table): New.
(sbitmap_elt_popcount): New function.
(sbitmap_popcount): Ditto.
* sbitmap.h (sbitmap): Remove bytes member.
Add popcount member.
(SET_BIT): Macro turned into function.
(RESET_BIT): Ditto.
(SBITMAP_SIZE_BYTES): New macro.
(sbitmap_free): Free popcount too.
(sbitmap_alloc_with_popcount): New prototype.
(sbitmap_copy_n): Ditto.
(sbitmap_verify_popcount): Ditto.
From-SVN: r120237
Jerry DeLisle [Thu, 28 Dec 2006 01:43:29 +0000 (01:43 +0000)]
2006-12-27 Jerry DeLisle <jvdelisle@gcc.gnu.org>
Fix typo in ChangeLog.
From-SVN: r120236
Jerry DeLisle [Thu, 28 Dec 2006 01:41:57 +0000 (01:41 +0000)]
re PR libfortran/30014 (INQUIRE (iolength = xx) limited to kind=4)
2006-12-27 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR fortran/30014
* gfortran.dg/io_constraints_1.f90: Update test.
* gfortran.dg/io_constraints_2.f90: Update test.
* gfortran.dg/inquire_iolength.f90: Ne test.
From-SVN: r120235
Jerry DeLisle [Thu, 28 Dec 2006 01:40:23 +0000 (01:40 +0000)]
re PR libfortran/30014 (INQUIRE (iolength = xx) limited to kind=4)
2006-12-27 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR libgfortran/30014
*io/io.h (st_parameter_dt): Change *size and *iolength type to
GFC_IO_INT.
*io/transfer.c (finalize_transfer): Cast dtp->u.p.size_used to
GFC_IO_INT. (iolength_transfer): Cast size * nelems to GFC_IO_INT.
From-SVN: r120234
Jerry DeLisle [Thu, 28 Dec 2006 01:39:15 +0000 (01:39 +0000)]
re PR libfortran/30014 (INQUIRE (iolength = xx) limited to kind=4)
2006-12-27 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR fortran/30014
*io.c (resolve_tag): Don't issue error for tag_size type not being
default integer size for -std=F2003. Add similar check for
tag_iolength.
*ioparm.def: Change size and iolength parameters to ioint pointer, which
corresponds to GFC_IO_INT on the library side.
From-SVN: r120233
GCC Administrator [Thu, 28 Dec 2006 00:17:28 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r120231
Ian Lance Taylor [Wed, 27 Dec 2006 23:44:13 +0000 (23:44 +0000)]
configure.in: When removing Makefiles to force a reconfigure, also remove prev-DIR*/Makefile.
* configure.in: When removing Makefiles to force a reconfigure, also
remove prev-DIR*/Makefile.
* configure: Regenerate.
From-SVN: r120226
Ian Lance Taylor [Wed, 27 Dec 2006 21:48:05 +0000 (21:48 +0000)]
re PR debug/26964 (Duplicate debug info for enums in namespaces)
PR debug/26964
* dwarf2out.c (gen_type_die): Don't write out a DIE for
ENUMERAL_TYPE if it was already written out.
From-SVN: r120221
Gerald Pfeifer [Wed, 27 Dec 2006 16:30:11 +0000 (16:30 +0000)]
interface.c (compare_actual_formal): Remove unused variable gsym.
* interface.c (compare_actual_formal): Remove unused variable
gsym.
From-SVN: r120219
Paul Thomas [Wed, 27 Dec 2006 13:46:47 +0000 (13:46 +0000)]
re PR fortran/20896 (ambiguous interface not detected)
2006-12-27 Paul Thomas <pault@gcc.gnu.org>
PR fortran/20896
* interface.c (check_sym_interfaces): Try to resolve interface
reference as a global symbol, if it is not a nodule procedure.
(compare_actual_formal): Remove call to gfc_find_symbol; if
the expression is already a variable it is locally declared
and this has precedence.
gfortran.h : Add prototype for resolve_global_procedure.
resolve.c (resolve_global_procedure): Remove static attribute
from function declaration.
(resolve_fl_procedure): Remove symtree declaration and the
redundant check for an ambiguous procedure.
PR fortran/25135
* module.c (load_generic_interfaces): If the symbol is present
and is not generic it is ambiguous.
2006-12-27 Paul Thomas <pault@gcc.gnu.org>
PR fortran/20896
* gfortran.dg/interface_10.f90: New test.
* gfortran.dg/dummy_procedure_1.f90: Add error for call s1(z),
since z is already, locally a variable.
PR fortran/25135
* gfortran.dg/generic_11.f90: New test.
* gfortran.dg/interface_7.f90: Remove name clash between module
name and procedure 'x' referenced in the interface.
From-SVN: r120218
GCC Administrator [Wed, 27 Dec 2006 00:17:48 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r120216
Kaveh R. Ghazi [Tue, 26 Dec 2006 19:03:17 +0000 (19:03 +0000)]
re PR middle-end/29335 (transcendental functions with constant arguments should be resolved at compile-time)
PR middle-end/29335
* builtins.c (do_mpfr_arg1, do_mpfr_arg2, do_mpfr_arg3,
do_mpfr_sincos): Ensure target base equals two.
From-SVN: r120211
Kazu Hirata [Tue, 26 Dec 2006 15:44:54 +0000 (15:44 +0000)]
* tree-ssa-operands.c: Fix a comment typo.
From-SVN: r120210
GCC Administrator [Tue, 26 Dec 2006 00:17:54 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r120207
Kazu Hirata [Mon, 25 Dec 2006 23:36:53 +0000 (23:36 +0000)]
* tree-vectorizer.h (VECT_SMODULO): Remove.
From-SVN: r120202
GCC Administrator [Mon, 25 Dec 2006 00:17:53 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r120196
Andreas Tobler [Sun, 24 Dec 2006 20:57:35 +0000 (20:57 +0000)]
pa.c: Remove heap vector type defines.
2006-12-24 Andreas Tobler <a.tobler@schweiz.org>
* config/pa/pa.c: Remove heap vector type defines.
From-SVN: r120191
Jan Hubicka [Sun, 24 Dec 2006 10:23:25 +0000 (11:23 +0100)]
tree-ssa-operands.h (struct ssa_operand_memory_d): add ssa_operand_mem_size.
* tree-ssa-operands.h (struct ssa_operand_memory_d):
add ssa_operand_mem_size.
* tree-ssa-operands.c (operands_bitmap_obstack): New.
(ssa_operand_mem_size): Remove.
(init_ssa_operands): Initialize obstack; use it.
(fini_ssa_operands): Release obstack.
(ssa_operand_alloc): Update.
(finalize_ssa_vdefs, finalize_ssa_vuse_ops, copy_virtual_operands,
get_mpt_for): Use obstack.
* tree-ssa.c (delete_tree_ssa): Call fini_ssa_operands.
* tree-outof-ssa.c: (remove_ssa_form): Don't call it here.
From-SVN: r120189
Jan Hubicka [Sun, 24 Dec 2006 10:17:15 +0000 (11:17 +0100)]
tree-mudflap.c (ml_decl_cache_locals, [...]): add newly referenced vars.
* tree-mudflap.c (ml_decl_cache_locals, md_build_check_statement_for):
add newly referenced vars.
From-SVN: r120188
Kazu Hirata [Sun, 24 Dec 2006 01:47:56 +0000 (01:47 +0000)]
basic-block.h: Remove the prototype for expected_value_to_br_prob.
* basic-block.h: Remove the prototype for
expected_value_to_br_prob.
* rtl.h: Remove the prototypes for expand_builtin_expect_jump
and purge_line_number_notes.
From-SVN: r120186
GCC Administrator [Sun, 24 Dec 2006 00:17:39 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r120184
Zdenek Dvorak [Sat, 23 Dec 2006 23:05:52 +0000 (00:05 +0100)]
tree-ssa-loop-niter.c (number_of_iterations_lt_to_ne, [...]): Use integer_zerop/integer_nonzerop instead of...
* tree-ssa-loop-niter.c (number_of_iterations_lt_to_ne,
assert_no_overflow_lt, assert_loop_rolls_lt,
number_of_iterations_lt, number_of_iterations_le,
number_of_iterations_cond, number_of_iterations_exit):
Use integer_zerop/integer_nonzerop instead of
null_or_integer_zerop/nonnull_and_integer_nonzerop.
* tree.h (null_or_integer_zerop, nonnull_and_integer_nonzerop):
Removed.
* tree-scalar-evolution.c (simple_iv): Return zero for step of
an invariant.
* tree-ssa-loop-ivopts.c (alloc_iv): Do not set step of invariants
to zero.
(get_iv): Return NULL for non-scalar types. Use zero as a step
of an invariant.
(determine_biv_step, find_interesting_uses_op,
find_interesting_uses_cond, find_interesting_uses_stmt,
add_old_ivs_candidates, determine_use_iv_cost_condition,
rewrite_use_compare, remove_unused_ivs):
Use integer_zerop instead of null_or_integer_zerop.
(struct ifs_ivopts_data): Replace step_p field with step field.
(idx_find_step): Use zero as a step of an invariant. Modify
step instead of *step_p.
(find_interesting_uses_address): Use zero as a step of an invariant.
Use integer_zerop instead of null_or_integer_zerop.
(find_interesting_uses_outside): Call find_interesting_uses_op only
for phi nodes for real operands.
(add_candidate_1): Expect step to be non-NULL.
* tree-ssa-loop-prefetch.c (idx_analyze_ref): Expect step to be
non-NULL.
From-SVN: r120179
Andrew Pinski [Sat, 23 Dec 2006 22:38:34 +0000 (14:38 -0800)]
vec.c: Don't include tree.h.
2006-12-23 Andrew Pinski <pinskia@gmail.com>
* vec.c: Don't include tree.h.
* Makefile.in (vec.o): Update dependencies.
(build/vec.o): Likewise.
From-SVN: r120178
Kazu Hirata [Sat, 23 Dec 2006 22:10:10 +0000 (22:10 +0000)]
Makefile.in (final.o): Depend on vecprim.h.
* Makefile.in (final.o): Depend on vecprim.h.
* final.c: Include vecprim.h.
(insn_addresses_): Change the type to VEC(int,heap)*.
* insn-addr.h (INSN_ADDRESSES_DEFN): Remove.
(INSN_ADDRESSES, INSN_ADDRESSES_ALLOC, INSN_ADDRESSES_SIZE,
INSN_ADDRESSES_NEW): Use VEC instead of VARRAY.
From-SVN: r120177
Kazu Hirata [Sat, 23 Dec 2006 21:54:59 +0000 (21:54 +0000)]
common.opt (flag_force_mem): Remove.
* common.opt (flag_force_mem): Remove.
* doc/invoke.texi (-fforce-mem): Remove.
* opts.c (common_handle_option): Don't handle OPT_fforce_mem.
From-SVN: r120176
Marcin Dalecki [Sat, 23 Dec 2006 18:10:48 +0000 (19:10 +0100)]
cgraphunit.c (cgraph_optimize): Fixed obvious thinko in memory consumption reporting.
2006-12-23 Marcin Dalecki <martin@dalecki.de>
* cgraphunit.c (cgraph_optimize): Fixed obvious thinko in memory
consumption reporting.
From-SVN: r120174
Manuel López-Ibáñez [Sat, 23 Dec 2006 17:45:33 +0000 (17:45 +0000)]
re PR middle-end/7651 (Define -Wextra strictly in terms of other warning flags)
2006-12-23 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
PR middle-end/7651
* c.opt (Wmissing-parameter-type): New.
* doc/invoke.texi (Wmissing-parameter-type): Document it.
(Wextra): Enabled by -Wextra.
* c-opts.c (c_common_post_options): Enabled by -Wextra.
* c-decl.c (store_parm_decls_oldstyle): Replace Wextra with
Wmissing-parameter-type.
testsuite/
* gcc.dg/Wmissing-parameter-type.c: New.
* gcc.dg/Wmissing-parameter-type-Wextra.c: New.
* gcc.dg/Wmissing-parameter-type-no.c: New.
From-SVN: r120173
Eric Botcazou [Sat, 23 Dec 2006 17:18:38 +0000 (17:18 +0000)]
dwarf2out.c (dbx_reg_number): Do leaf register remapping only if the function is leaf.
* dwarf2out.c (dbx_reg_number): Do leaf register remapping
only if the function is leaf.
(multiple_reg_loc_descriptor): Likewise.
From-SVN: r120170
Kazu Hirata [Sat, 23 Dec 2006 16:01:47 +0000 (16:01 +0000)]
* rtl.h (NOTE_EXPECTED_VALUE): Remove.
From-SVN: r120169
Jan Hubicka [Sat, 23 Dec 2006 14:30:36 +0000 (15:30 +0100)]
toplev.c (dump_memory_report): Break out from...
* toplev.c (dump_memory_report): Break out from...
(finalize): Here.
* toplev.h (dump_memory_report): Declare.
(cmp_statistic): Rename to ...
(final_cmp_statistic): ... this one
(cmp_statistic): New.
(dump_ggc_loc_staitsitcs): New FINAL parpameter.
* common.opt (-fpre-ipa-mem-report, -fpost-ipa-mem-report): Declare.
* varray.c (dump_varray_staitiscs): Do not segfault when no varray was
allocated so far.
From-SVN: r120168
Mike Stump [Sat, 23 Dec 2006 05:54:19 +0000 (05:54 +0000)]
t-darwin (DARWIN_EXTRA_CRT_BUILD_CFLAGS): Add -mmacosx-version-min=10.4.
* config/rs6000/t-darwin (DARWIN_EXTRA_CRT_BUILD_CFLAGS): Add
-mmacosx-version-min=10.4.
(crt2.o): Add $(DARWIN_EXTRA_CRT_BUILD_CFLAGS).
From-SVN: r120167
Jan Hubicka [Sat, 23 Dec 2006 00:27:44 +0000 (01:27 +0100)]
tree-flow-inline.h (var_ann): External variable annotations are unshared too.
* tree-flow-inline.h (var_ann): External variable annotations are
unshared too.
(tree_common_ann): Handle correctly unshared variables annotations.
* tree-dfa.c (create_var_ann): External variable annotations are
unshared too.
From-SVN: r120164
GCC Administrator [Sat, 23 Dec 2006 00:17:51 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r120162
Kazu Hirata [Fri, 22 Dec 2006 23:59:34 +0000 (23:59 +0000)]
basic-block.h: Remove the prototype for commit_edge_insertions_watch_calls.
* basic-block.h: Remove the prototype for
commit_edge_insertions_watch_calls.
* cfgrtl.c (commit_edge_insertion): Drop the last argument.
Simplify.
(commit_edge_insertions_watch_calls): Remove.
(commit_edge_insertions): Adjust the call to
commit_one_edge_insertion.
From-SVN: r120157
Zdenek Dvorak [Fri, 22 Dec 2006 21:38:52 +0000 (22:38 +0100)]
tree-ssa-loop-niter.c (zero_p, nonzero_p): Removed.
* tree-ssa-loop-niter.c (zero_p, nonzero_p): Removed.
(number_of_iterations_ne, number_of_iterations_lt_to_ne,
assert_no_overflow_lt, assert_loop_rolls_lt,
number_of_iterations_lt, number_of_iterations_le,
number_of_iterations_cond, tree_simplify_using_condition_1,
number_of_iterations_exit, find_loop_niter, loop_niter_by_eval,
implies_nonnegative_p, implies_ge_p, record_nonwrapping_iv,
idx_infer_loop_bounds, n_of_executions_at_most, scev_probably_wraps_p):
Do not use zero_p/nonzero_p.
* tree-ssa-loop-manip.c (determine_exit_conditions): Ditto.
* tree-ssa-loop-ivopts.c (niter_for_exit, determine_biv_step,
find_interesting_uses_op, find_interesting_uses_cond,
find_interesting_uses_address, find_interesting_uses_stmt,
strip_offset_1, add_candidate_1, add_old_ivs_candidates,
difference_cost, determine_use_iv_cost_condition,
rewrite_use_compare, remove_unused_ivs): Ditto.
* tree-ssa-address.c (tree_mem_ref_addr, create_mem_ref_raw): Ditto.
* tree-ssa-loop-prefetch.c (idx_analyze_ref): Ditto.
* tree-cfg.c (find_taken_edge_cond_expr): Ditto.
* tree.h (zero_p): Declaration removed.
(null_or_integer_zerop, nonnull_and_integer_nonzerop): New.
From-SVN: r120156
Paul Thomas [Fri, 22 Dec 2006 20:49:00 +0000 (20:49 +0000)]
re PR fortran/25818 ([4.1 only] Problem with handling optional and entry master arguments)
2006-12-22 Paul Thomas <pault@gcc.gnu.org>
PR fortran/25818
* trans-array.c (gfc_trans_g77_array): If the variable is
optional or not always present, make the statement conditional
on presence of the argument.
* gfortran.h : Add symbol_attribute not_always_present.
* resolve.c (check_argument_lists): New function to check if
arguments are not present in all entries.
PR fortran/30084
* module.c (mio_component_ref): Move treatment of unique name
variables, during output, to fix_mio_expr.
(fix_mio_expr): New function that fixes defective expressions
before they are written to the module file.
(mio_expr): Call the new function.
(resolve_entries): Call check_argument_lists.
2006-12-22 Paul Thomas <pault@gcc.gnu.org>
PR fortran/25818
* gfortran.dg/entry_array_specs_2.f: New test.
PR fortran/30084
* gfortran.dg/nested_modules_6.f90: New test.
From-SVN: r120155
Manuel López-Ibáñez [Fri, 22 Dec 2006 15:54:05 +0000 (15:54 +0000)]
re PR middle-end/7651 (Define -Wextra strictly in terms of other warning flags)
2006-12-22 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
PR middle-end/7651
* c.opt (Wclobbered): New.
* doc/invoke.texi (Wclobbered): Document it.
(Wextra): Enabled by -Wextra.
* c-opts.c (c_common_post_options): Enabled by -Wextra.
* flow.c (rest_of_handle_life): Replace Wextra with Wclobbered.
* function.c (setjmp_vars_warning): Only warn for Wclobbered.
(setjmp_args_warning): Likewise.
testsuite/
* gcc.dg/attr-returns_twice-1.c: Replace Wextra with Wclobbered.
* gcc.dg/setjmp-1.c: Add explicit Wclobbered.
From-SVN: r120151
Kazu Hirata [Fri, 22 Dec 2006 12:50:00 +0000 (12:50 +0000)]
elfos.h, [...]: Fix comment typos.
* config/elfos.h, config/spu/spu.c, tree-ssa-operands.h,
tree-ssa-ter.c: Fix comment typos.
From-SVN: r120149
Paolo Carlini [Fri, 22 Dec 2006 12:49:48 +0000 (12:49 +0000)]
DR 541, [WP].
2006-12-22 Paolo Carlini <pcarlini@suse.de>
DR 541, [WP].
* include/std/memory (auto_ptr<void>): Add specialization.
* testsuite/tr1/2_general_utilities/memory/shared_ptr/
assign/dr541.cc: New.
* testsuite/20_util/memory/auto_ptr/assign_neg.cc: Adjust
dg-error markers.
* docs/html/ext/howto.html: Add an entry for DR 541.
From-SVN: r120148
Paolo Bonzini [Fri, 22 Dec 2006 12:28:52 +0000 (12:28 +0000)]
re PR rtl-optimization/29840 (build/genconditions ../../gcc/gcc/config/pa/pa.md > tmp-condmd.c: /bin/sh: 13354 Memory fault(coredump))
2006-12-22 Paolo Bonzini <bonzini@gnu.org>
PR rtl-optimization/29840
* fwprop.c (forward_propagate_into): Reject artificial uses/defs.
(fwprop_init): Add DF_HARD_REGS to df_init call.
From-SVN: r120147
Andreas Schwab [Fri, 22 Dec 2006 10:53:13 +0000 (10:53 +0000)]
* configure: Regenerate with correct autoconf version.
From-SVN: r120146
Andrew Pinski [Fri, 22 Dec 2006 08:31:03 +0000 (00:31 -0800)]
re PR c++/30225 (builtins's decl is copied in some cases where it is not needed to be copied)
2006-12-21 Andrew Pinski <pinskia@gmail.com>
PR C++/30225
* decl.c (cxx_builtin_function): Only copy the decl if adding
it to the std namespace
From-SVN: r120145
Andrew Pinski [Fri, 22 Dec 2006 07:30:55 +0000 (23:30 -0800)]
re PR c++/30168 (C++ constructors can cause invalid gimple to happen with complex typed variables)
2006-12-21 Andrew Pinski <pinskia@gmail.com>
PR C++/30168
* optimize.c (update_cloned_parm): Copy DECL_GIMPLE_REG_P also.
2006-12-21 Andrew Pinski <pinskia@gmail.com>
PR C++/30168
* g++.dg/opt/complex6.C: New test.
From-SVN: r120144
Andrew Pinski [Fri, 22 Dec 2006 07:25:00 +0000 (23:25 -0800)]
tree-nested.c (create_tmp_var_for): Check for vector type when setting DECL_GIMPLE_REG_P.
2006-12-21 Andrew Pinski <pinskia@gmail.com>
* tree-nested.c (create_tmp_var_for): Check for vector type
when setting DECL_GIMPLE_REG_P.
From-SVN: r120143
Adam Megacz [Fri, 22 Dec 2006 07:06:29 +0000 (07:06 +0000)]
configure.in: add AC_SUBST for *_FOR_TARGET.
2006-12-20 Adam Megacz <megacz@cs.berkeley.edu>
* configure.in: add AC_SUBST for *_FOR_TARGET.
* configure: Regenerate.
From-SVN: r120142