Daniel Franke [Sat, 28 Jul 2007 08:59:47 +0000 (04:59 -0400)]
Fixed overly long lines in my last ChangeLog entry.
From-SVN: r127015
Daniel Franke [Sat, 28 Jul 2007 08:51:06 +0000 (04:51 -0400)]
re PR fortran/31818 (Wrongly accepts namelists with assumed-shape arrays)
gcc/fortran:
2007-07-28 Daniel Franke <franke.daniel@gmail.com>
PR fortran/31818
PR fortran/32876
PR fortran/32905
* gfortran.h (symbol_attribute): Added bits for pointer_comp, private_comp.
* parse.c (parse_derived): Set pointer_comp/private_comp bits if the derived
type ultimately contains pointer components or private components.
* module.c (ab_attribute): New values AB_POINTER_COMP, AB_PRIVATE_COMP.
(attr_bits): Added names for new ab_attributes.
(mio_symbol_attribute): Save/restore new attribute bits in modules.
* match.c (gfc_match_namelist): Removed check for namelist objects of assumed
shape.
* resolve.c (resolve_fl_namelist): Added check for pointer or private
components in nested types. Added check for namelist objects of assumed
shape.
gcc/testsuite:
2007-07-28 Daniel Franke <franke.daniel@gmail.com>
* gfortran.dg/namelist_5.f90: Adjusted error message.
* gfortran.dg/assumed_shape_nml.f90: Renamed to ...
* gfortran.dg/namelist_31.f90: ... this. Removed dg-warning directive.
* gfortran.dg/assumed_size_nml.f90: Renamed to ...
* gfortran.dg/namelist_32.f90: ... this.
PR fortran/32876
* gfortran.dg/namelist_33.f90: New test.
PR fortran/32905
* gfortran.dg/namelist_34.f90: New test.
PR fortran/31818
* gfortran.dg/namelist_35.f90: New test.
From-SVN: r127014
Daniel Berlin [Sat, 28 Jul 2007 07:55:10 +0000 (07:55 +0000)]
timevar.def: Add TV_CALL_CLOBBER, TV_FLOW_SENSITIVE, TV_FLOW_INSENSITIVE.
2007-07-28 Daniel Berlin <dberlin@dberlin.org>
* timevar.def: Add TV_CALL_CLOBBER, TV_FLOW_SENSITIVE,
TV_FLOW_INSENSITIVE.
* tree-ssa-alias.c (compute_call_clobbered): Push/pop
TV_CALL_CLOBBER.
(compute_flow_sensitive_aliasing): Ditto for TV_FLOW_SENSITIVE.
(compute_flow_insensitive_aliasing): Ditto for
TV_FLOW_INSENSITIVE.
From-SVN: r127013
Paul Thomas [Sat, 28 Jul 2007 05:29:06 +0000 (05:29 +0000)]
re PR fortran/32880 (User operator & allocatable TYPE components: wrong deallocate)
2007-07-28 Paul Thomas <pault@gcc.gnu.org>
PR fortran/32880
* trans-expr.c (gfc_trans_scalar_assign): Revert to fixed order
for lse and rse pre expressions, for derived types with
allocatable components. Instead, assign the lhs to a temporary
and deallocate after the assignment.
2007-07-28 Paul Thomas <pault@gcc.gnu.org>
PR fortran/32880
* gfortran.dg/alloc_comp_assign_6.f90: New test.
From-SVN: r127011
GCC Administrator [Sat, 28 Jul 2007 00:17:10 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r127008
Rask Ingemann Lambertsen [Fri, 27 Jul 2007 23:03:01 +0000 (01:03 +0200)]
re PR testsuite/32471 (Testcases which always fail on targets where an int is 16 bits)
PR testsuite/32471
* gcc.dg/torture/pr30364-1.c (f)(main): Use INT_MAX instead of
assuming it is 0x7ffffffff.
* gcc.dg/torture/pr30364-2.c (f)(main): Likewise.
* gcc.dg/torture/pr30364-3.c (f)(main): Likewise.
From-SVN: r127005
Janne Blomqvist [Fri, 27 Jul 2007 22:32:20 +0000 (01:32 +0300)]
re PR fortran/32909 (Replace gfc_c_int_type_node with integer_type_node)
2007-07-28 Janne Blomqvist <jb@gcc.gnu.org>
PR fortran/32909
* trans-stmt.c (gfc_trans_character_select): Replace occurrences
of gfc_c_int_type_node with integer_type_node.
* trans-decl.c (gfc_build_intrinsic_function_decls): Likewise.
(gfc_build_builtin_function_decls): Likewise.
(gfc_generate_function_code): Likewise.
* trans-io.c (gfc_build_io_library_fndecls): Likewise.
From-SVN: r127003
Dominique d'Humieres [Fri, 27 Jul 2007 21:55:46 +0000 (23:55 +0200)]
operator_3.f90: Fix dg directive.
* gfortran.dg/operator_3.f90: Fix dg directive.
* gfortran.dg/min_max_conformance.f90: Fix dg directive.
* gfortran.dg/compliant_elemental_intrinsics_2.f90: Fix dg directive.
* gfortran.dg/c_ptr_tests_10.f03: Fix dg directive.
From-SVN: r127001
Tom Tromey [Fri, 27 Jul 2007 21:14:19 +0000 (21:14 +0000)]
* Rebuild .class files with new ecj.
From-SVN: r126998
Jan Hubicka [Fri, 27 Jul 2007 20:40:00 +0000 (22:40 +0200)]
i386.c (register_move_cost): Remove accidentally comitted #if 0 block.
* config/i386/i386.c (register_move_cost): Remove accidentally comitted
#if 0 block.
From-SVN: r126997
Jan Hubicka [Fri, 27 Jul 2007 20:27:17 +0000 (22:27 +0200)]
attribs.c: Include hashtab.h
* attribs.c: Include hashtab.h
(attribute_hash): New.
(substring): New structure.
(extract_attribute_substring, substring_hash, hash_attr, eq_attr):
New function.
(init_attributes): Initialize attribute hash.
(decl_attributes): Use attribute hash.
* Makefile.in (attribs.c): Depend on hashtab.h.
From-SVN: r126996
Steve Ellcey [Fri, 27 Jul 2007 20:07:19 +0000 (20:07 +0000)]
* config/ia64/vect.md (vec_initv2si): Remove bad BIG_ENDIAN test.
From-SVN: r126995
Richard Sandiford [Fri, 27 Jul 2007 19:27:28 +0000 (19:27 +0000)]
invoke.texi (mdsp, mdspr2): Document the __mips_dsp, __mips_dspr2 and __mips_dsp_rev macros.
gcc/
* doc/invoke.texi (mdsp, mdspr2): Document the __mips_dsp,
__mips_dspr2 and __mips_dsp_rev macros.
* config/mips/mips.h (TARGET_CPU_CPP_BUILTINS): Define __mips_dsp_rev.
From-SVN: r126994
Janne Blomqvist [Fri, 27 Jul 2007 18:16:06 +0000 (21:16 +0300)]
trans-decl.c (gfc_build_builtin_function_decls): Use existing gfc_array_index_type rather than creating another typenode for...
2007-07-27 Janne Blomqvist <jb@gcc.gnu.org>
* trans-decl.c (gfc_build_builtin_function_decls): Use existing
gfc_array_index_type rather than creating another typenode for
gfc_index_integer_kind.
From-SVN: r126993
Janne Blomqvist [Fri, 27 Jul 2007 18:13:37 +0000 (21:13 +0300)]
Fortran frontend changelog:
2007-07-27 Janne Blomqvist <jb@gcc.gnu.org>
* trans-io.c (gfc_build_io_library_fndecls): Change to use
gfc_array_index_type for array descriptor triplets instead of
gfc_int4_type_node.
libgfortran ChangeLog:
2007-07-27 Janne Blomqvist <jb@gcc.gnu.org>
* io/transfer.c (st_set_nml_var_dim): Use index_type instead of
GFC_INTEGER_4 for array descriptor triplets.
From-SVN: r126992
Douglas Gregor [Fri, 27 Jul 2007 17:43:05 +0000 (17:43 +0000)]
typeck.c (structural_comptypes): Compare DECLTYPE_TYPE nodes.
2007-07-27 Douglas Gregor <doug.gregor@gmail.com>
* typeck.c (structural_comptypes): Compare DECLTYPE_TYPE nodes.
* cp-tree.def (DECLTYPE_TYPE): New.
* error.c (dump_type): Dump DECLTYPE_TYPE nodes.
(dump_type_prefix): Ditto.
(dump_type_suffix): Ditto.
* tree.c (DECLTYPE_TYPE): Walk DECLTYPE_TYPE nodes.
* mangle.c (write_type): Handle DECLTYPE_TYPE.
* cp-tree.h (IS_AGGR_TYPE): DECLTYPE_TYPE nodes can be aggregate
types.
(DECLTYPE_TYPE_EXPR): New.
(DECLTYPE_TYPE_ID_EXPR_OR_MEMBER_ACCESS_P): New.
(finish_declared_type): Declare.
* cxx-pretty-print.c (pp_cxx_type_specifier_seq): Print
DECLTYPE_TYPE nodes.
(pp_cxx_type_id): Ditto.
* pt.c (for_each_template_parm_r): Walk DECLTYPE_TYPE children.
(tsubst): Substitute into a DECLTYPE_TYPE node.
(tsubst_copy): Ditto.
(unify): Cannot deduce anything from TYPEOF_TYPE or DECLTYPE_TYPE
nodes.
(dependent_type_p_r): DECLTYPE_TYPE types are always dependent.
* semantics.c (finish_typeof): TYPEOF_TYPE types need to use
structural equality (because we can't hash the expressions).
(finish_declared_type): New.
* lex.c (reswords): Add "decltype" keyword.
* parser.c cp_lexer_next_token_is_decl_specifier_keyword
(cp_parser_postfix_expression): Add member_access_only_p to
restrict postfix expression to member access expressions.
(cp_parser_unary_expression): Update call to
cp_parser_postfix_expression to reflect new parameter.
(cp_parser_declared_type): New.
(cp_parser_simple_type_specifier): Parse decltype types.
2007-07-27 Douglas Gregor <doug.gregor@gmail.com>
* c-common.h (enum rid): Add RID_DECLTYPE, update RID_LAST_CXX0X.
2007-07-27 Douglas Gregor <doug.gregor@gmail.com>
* g++.dg/cpp0x/decltype1.C: New.
* g++.dg/cpp0x/decltype2.C: New.
* g++.dg/cpp0x/decltype3.C: New.
* g++.dg/cpp0x/decltype4.C: New.
* g++.dg/cpp0x/decltype5.C: New.
* g++.dg/cpp0x/decltype6.C: New.
From-SVN: r126991
Rask Ingemann Lambertsen [Fri, 27 Jul 2007 17:35:01 +0000 (19:35 +0200)]
pr27743.c (bar): Use an integer of exactly 32 bits because the test relies on bit 31 to be the...
* gcc.dg/torture/pr27743.c (bar): Use an integer of exactly 32 bits
because the test relies on bit 31 to be the sign bit.
From-SVN: r126990
Rask Ingemann Lambertsen [Fri, 27 Jul 2007 17:27:57 +0000 (19:27 +0200)]
pr28651.c (main): Use INT_MAX instead of assuming it is 0x7fffffff.
* gcc.c-torture/execute/pr28651.c (main): Use INT_MAX instead of
assuming it is 0x7fffffff.
* gcc.dg/tree-ssa/vrp29.c (decCompare)(main): Likewise.
* gcc.dg/Wconversion-integer-no-sign.c (h): Likewise.
From-SVN: r126989
Paolo Carlini [Fri, 27 Jul 2007 17:25:04 +0000 (17:25 +0000)]
re PR libstdc++/32907 (Inefficient operator== in std::string)
2007-07-27 Paolo Carlini <pcarlini@suse.de>
PR libstdc++/32907
* include/bits/basic_string.h (operator==(const basic_string<_CharT>&,
const basic_string<_CharT>&)): Add.
(operator!=): Forward to operator==.
* include/ext/vstring.h(operator==(const __versa_string<_CharT,
std::char_traits<_CharT>, std::allocator<_CharT>, _Base>&,
const __versa_string<_CharT, std::char_traits<_CharT>,
std::allocator<_CharT>, _Base>&)): Add.
(operator!=): Forward to operator==.
* include/ext/sso_string_base.h (_M_compare): Remove.
From-SVN: r126988
Kenneth Zadeck [Fri, 27 Jul 2007 17:22:14 +0000 (17:22 +0000)]
re PR middle-end/32749 (gfortran.dg/auto_array_1.f90)
2007-07-26 Kenneth Zadeck <zadeck@naturalbridge.com>
PR middle-end/32749
* df-problems.c (df_create_unused_note): Removed do_not_gen parm
and the updating of the live and do_not_gen sets.
(df_note_bb_compute): Added updating of live and do_not_gen sets
for regular defs so that the case of clobber inside conditional
call is processed correctly.
From-SVN: r126987
Mark Mitchell [Fri, 27 Jul 2007 17:13:29 +0000 (17:13 +0000)]
re PR c++/32346 (long long bitfield passed to int argument incorrectly)
PR c++/32346
* call.c (convert_for_arg_passing): Only widen bitfields to their
declared types if necessary.
PR c++/32346
* g++.dg/expr/bitfield9.C: New test.
From-SVN: r126986
Steven G. Kargl [Fri, 27 Jul 2007 16:59:32 +0000 (16:59 +0000)]
re PR fortran/32899 (Broken diagnostic for invalid use of .eq. for logicals)
2007-07-26 Steven G. Kargl <kargl@gcc.gnu.org>
PR fortran/32899
* resolve.c (resolve_operator): Add INTRINSIC_EQ_OS comparison.
2007-07-26 Steven G. Kargl <kargl@gcc.gnu.org>
PR fortran/32899
* gfortran.dg/logical_comp.f90: Update dg-error strings.
From-SVN: r126985
Francois-Xavier Coudert [Fri, 27 Jul 2007 16:42:12 +0000 (16:42 +0000)]
* io/unix.c (stream_ttyname): Mark argument as potentialy unused.
From-SVN: r126983
Jerry DeLisle [Fri, 27 Jul 2007 16:33:50 +0000 (16:33 +0000)]
re PR fortran/32760 (Error defining subroutine named PRINT)
2007-07-27 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR fortran/32760
* gfortran.dg/private_type_7.f90: New test.
From-SVN: r126982
Jerry DeLisle [Fri, 27 Jul 2007 16:30:10 +0000 (16:30 +0000)]
re PR fortran/32760 (Error defining subroutine named PRINT)
2007-07-27 Jerry DeLisle <jvdelisle@gcc.gnu.org>
Daniel Franke <franke.daniel@gmail.com>
PR fortran/32760
* primary.c (match_variable): Do not call gfc_add_flavor if symbol has
attribute of ACCESS_PUBLIC or ACCESS_PRIVATE already marked.
Co-Authored-By: Daniel Franke <franke.daniel@gmail.com>
From-SVN: r126981
Kaveh R. Ghazi [Fri, 27 Jul 2007 15:39:30 +0000 (15:39 +0000)]
mangle.c (set_type_package_list): Constify.
* mangle.c (set_type_package_list): Constify.
* verify-glue.c (vfy_make_string): Delete.
* verify.h (vfy_make_string): Likewise.
From-SVN: r126980
Francois-Xavier Coudert [Fri, 27 Jul 2007 14:26:43 +0000 (14:26 +0000)]
re PR fortran/32035 ('<anonymous>' may be used uninitialized in this function)
PR fortran/32035
* trans-stmt.c (gfc_trans_character_select): Replace the
mechanism with labels by a SWITCH_EXPR.
* trans-decl.c (gfc_build_builtin_function_decls): Change
return type for select_string.
* runtime/select.c (select_string): Adjust prototype and function
so that the return value is an integer, not a pointer.
* gfortran.dg/select_char_1.f90: New test.
From-SVN: r126978
Zdenek Dvorak [Fri, 27 Jul 2007 12:05:13 +0000 (14:05 +0200)]
rs6000.c (rs6000_gimplify_va_arg): Generate the operands with compatible type.
* config/rs6000/rs6000.c (rs6000_gimplify_va_arg): Generate the
operands with compatible type.
From-SVN: r126976
Tobias Burnus [Fri, 27 Jul 2007 09:49:55 +0000 (11:49 +0200)]
re PR fortran/32903 (Default initializer and intent(OUT): default initializer not used)
2007-07-27 Tobias Burnus <burnus@net-b.de>
PR fortran/32903
* gfortran.dg/initialization_11.f90: New test.
From-SVN: r126975
Paul Thomas [Fri, 27 Jul 2007 09:03:41 +0000 (09:03 +0000)]
re PR fortran/32903 (Default initializer and intent(OUT): default initializer not used)
2007-07-27 Paul Thomas <pault@gcc.gnu.org>
PR fortran/32903
* trans-decl.c (gfc_trans_deferred_vars): Set intent(out)
derived types as referenced, if they have the the default
initializer set.
From-SVN: r126974
Kaveh R. Ghazi [Fri, 27 Jul 2007 08:12:35 +0000 (08:12 +0000)]
lex.l (update_yylval): Constify.
* lex.l (update_yylval): Constify.
* treelang.h (struct token_part, struct parameter_part):
Likewise.
* treetree.c (tree_code_create_function_prototype,
tree_code_create_variable, tree_code_get_integer_value):
Likewise.
* treetree.h (tree_code_get_integer_value,
tree_code_create_function_prototype, tree_code_create_variable):
Likewise.
From-SVN: r126973
Richard Sandiford [Fri, 27 Jul 2007 07:39:09 +0000 (07:39 +0000)]
expr.h (store_bit_field): Don't return a value.
gcc/
* expr.h (store_bit_field): Don't return a value.
* expmed.c (check_predicate_volatile_ok): New function.
(store_bit_field_1): New function, extracted from store_bit_field.
Take a fallback_p argument and return true if the operation succeeded.
Only use store_fixed_bit_field if fallback_p. Don't recompute
mode_for_extraction; use op_mode instead. Try forcing memories
into registers if the insv expander fails.
(store_bit_field): Use store_bit_field_1 with fallback_p true.
Don't return a value.
(convert_extracted_bit_field): New function, extracted from
store_bit_field.
(extract_bit_field_1): Likewise. Take a fallback_p argument
and return NULL if the operation succeeded. Only use
extract_fixed_bit_field if fallback_p. Only calculate one
extraction mode. Combine code for extv and extzv. Try forcing
memories into registers if the ext(z)v expander fails.
(extract_bit_field): Use extract_bit_field_1 with fallback_p true.
gcc/testsuite/
* gcc.target/mips/ins-1.c: New test.
From-SVN: r126972
Richard Sandiford [Fri, 27 Jul 2007 07:16:15 +0000 (07:16 +0000)]
2007-xx-xx Richard Sandiford <rsandifo@nildram.co.uk>
Richard Guenther <rguenther@suse.de>
gcc/
* df.h (df_mw_hardreg): Turn df_ref_type and df_ref_flags
into bitfields.
(df_ref): Likewise. Put regno with other integer fields.
From-SVN: r126971
Richard Sandiford [Fri, 27 Jul 2007 07:15:45 +0000 (07:15 +0000)]
df.h (df_mw_hardreg): Remove "loc" field.
gcc/
* df.h (df_mw_hardreg): Remove "loc" field.
* df-scan.c (df_ref_record): Don't set it. Remove redundant
local variable.
* df-problems.c (df_whole_mw_reg_unused_p): New function,
split out from df_set_unused_notes_for_mw. Return false for
partial references. Assert that mw_reg is a REG when returning true.
(df_set_unused_notes_for_mw): Use it. Use mw_reg instead of *loc.
(df_whole_mw_reg_dead_p): New function, split out from
df_set_dead_notes_for_mw. Return false for partial references.
Assert that mw_reg is a REG when returning true.
(df_set_dead_notes_for_mw): Use it. Use mw_reg instead of *loc.
Remove redundant bitmap check.
From-SVN: r126970
H.J. Lu [Fri, 27 Jul 2007 04:29:43 +0000 (04:29 +0000)]
t-ia64 ($(T)crtbegin.o): Removed.
2007-07-26 H.J. Lu <hongjiu.lu@intel.com>
* config/ia64/t-ia64 ($(T)crtbegin.o): Removed.
($(T)crtend.o): Likwise.
($(T)crtbeginS.o): Likwise.
($(T)crtendS.o): Likwise.
($(T)crtfastmath.o): Likwise.
From-SVN: r126969
GCC Administrator [Fri, 27 Jul 2007 00:16:52 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r126967
Tom Tromey [Fri, 27 Jul 2007 00:16:35 +0000 (00:16 +0000)]
Makefile.in: Rebuilt.
* Makefile.in: Rebuilt.
* Makefile.am (clean-local): Removed.
(pth/mf-runtime.lo, pth/mf-heuristics.lo, pth/mf-hooks1.lo,
pth/mf-hooks2.lo, pth/mf-hooks3.lo): Likewise.
(libmudflapth_la_SOURCES): List sources.
(libmudflapth_la_LIBADD): Clear.
(libmudflapth_la_CFLAGS): New variable.
From-SVN: r126965
Tom Tromey [Thu, 26 Jul 2007 19:07:32 +0000 (19:07 +0000)]
java-tree.h (push_labeled_block, [...]): Remove.
* java-tree.h (push_labeled_block, pop_labeled_block): Remove.
(LABELED_BLOCK_LABEL, LABELED_BLOCK_BODY,
EXIT_BLOCK_LABELED_BLOCK): Likewise.
* lang.c (java_tree_inlining_walk_subtrees): Update.
(java_dump_tree): Likewise.
* java-tree.def (LABELED_BLOCK_EXPR, EXIT_BLOCK_EXPR, TRY_EXPR):
Remove.
* decl.c (push_labeled_block, pop_labeled_block): Remove.
* java-gimplify.c (java_gimplify_labeled_block_expr,
java_gimplify_exit_block_expr, java_gimplify_try_expr): Remove.
(java_gimplify_expr): Update.
From-SVN: r126962
Zdenek Dvorak [Thu, 26 Jul 2007 18:06:38 +0000 (20:06 +0200)]
dominance.c (dom_computed, [...]): Removed.
* dominance.c (dom_computed, n_bbs_in_dom_tree): Removed.
* function.h (dom_computed, n_bbs_in_dom_tree): New macros.
* basic-block.h (struct control_flow_graph): Added x_dom_computed
and x_n_bbs_in_dom_tree fields.
From-SVN: r126960
Steve Ellcey [Thu, 26 Jul 2007 17:11:24 +0000 (17:11 +0000)]
re PR tree-optimization/32087 (ICE with FORTRAN and -fprefetch-loop-arrays)
PR tree-optimization/32087
* tree-ssa-loop-manip.c (tree_transform_and_unroll_loop):
Do not call scale_bbs_frequencies_int with prob of zero.
From-SVN: r126959
Julian Brown [Thu, 26 Jul 2007 13:59:57 +0000 (13:59 +0000)]
gcc/
* config/arm/arm-protos.h (neon_lane_bounds, neon_const_bounds)
(neon_element_bits): Add prototypes.
* config/arm/arm.c (bounds_check, neon_lane_bounds)
(neon_const_bounds, neon_element_bits): New functions.
* config/arm/neon.md (neon_vget_lane<mode>, neon_vget_lanedi)
(neon_vget_lanev2di, neon_vset_lane<mode>, neon_vset_lanedi)
(neon_vset_lanev2di, neon_vdup_lane<mode>, neon_vdup_lanedi)
(neon_vdup_lanev2di, neon_vcvt_n<mode>, neon_vmul_lane<mode>)
(neon_vmull_lane<mode>, neon_vqdmull_lane<mode>)
(neon_vqdmulh_lane<mode>, neon_vmla_lane<mode>)
(neon_vmlal_lane<mode>, neon_vqdmlal_lane<mode>)
(neon_vmls_lane<mode>, neon_vmlsl_lane<mode>)
(neon_vqdmlsl_lane<mode>, neon_vext<mode>, neon_vshr_n<mode>)
(neon_vshrn_n<mode>, neon_vqshrn_n<mode>, neon_vqshrun_n<mode>)
(neon_vshl_n<mode>, neon_vshl_n<mode>, neon_vqshl_n<mode>)
(neon_vqshlu_n<mode>, neon_vshll_n<mode>, neon_vsra_n<mode>)
(neon_vsri_n<mode>, neon_vsli_n<mode>): Add bounds checks.
From-SVN: r126958
Stephen M. Webb [Thu, 26 Jul 2007 12:45:06 +0000 (12:45 +0000)]
Fixed abi_check for missing symbol size changes.
2007-07-25 Stephen M. Webb <stephenw@xandros.com>
Fixed abi_check for missing symbol size changes.
* testsuite/util/testsuite_abi.cc: Changed local variable name to prevent
member variable hiding.
From-SVN: r126956
Nathan Froyd [Thu, 26 Jul 2007 12:36:39 +0000 (12:36 +0000)]
assign-warn-3.c (f0): Declare as inline.
PR/19232
* gcc.dg/assign-warn-3.c (f0): Declare as inline.
(f1): Likewise.
From-SVN: r126955
Nathan Froyd [Thu, 26 Jul 2007 12:29:12 +0000 (12:29 +0000)]
vxworks.h (VXWORKS_LINK_SPEC): Fix typo.
* config/vxworks.h (VXWORKS_LINK_SPEC): Fix typo.
(HAVE_AS_GNU_ATTRIBUTE): Undefine.
From-SVN: r126954
Mark Shinwell [Thu, 26 Jul 2007 12:04:02 +0000 (12:04 +0000)]
arm.c (arm_mac_accumulator_is_mul_result): New.
gcc/
* config/arm/arm.c (arm_mac_accumulator_is_mul_result): New.
* config/arm/arm-protos.h (arm_mac_accumulator_is_mul_result): New.
* config/arm/cortex-a8.md: New.
* config/arm/cortex-a8-neon.md: New.
* config/arm/neon-schedgen.ml: New.
* config/arm/neon.md (vqh_mnem): New.
(neon_type): New.
(Is_float_mode): New.
(Scalar_mul_8_16): New.
(Is_d_reg): New.
(V_mode_nunits): New.
(All instruction patterns): Annotate with neon_type attribute
values.
* config/arm/arm.md: Include cortex-a8.md.
(insn): Add smmla, umaal, smlald, smlsld, clz, mrs, msr and xtab
values.
Annotate instruction patterns accordingly.
(generic_sched): Do not use generic scheduling for Cortex-A8.
(generic_vfp): Do not use generic VFP scheduling for Cortex-A8.
Co-Authored-By: Julian Brown <julian@codesourcery.com>
From-SVN: r126953
Daniel Jacobowitz [Thu, 26 Jul 2007 11:52:19 +0000 (11:52 +0000)]
fold-const.c (fold_read_from_constant_string): Use build_int_cst_type.
* fold-const.c (fold_read_from_constant_string): Use
build_int_cst_type.
* tree-ssa-ccp.c (fold_const_aggregate_ref): Likewise.
From-SVN: r126952
Richard Guenther [Thu, 26 Jul 2007 10:27:50 +0000 (10:27 +0000)]
configure.ac: Add types checking to stage1 checking flags.
2007-07-26 Richard Guenther <rguenther@suse.de>
toplev/
* configure.ac: Add types checking to stage1 checking flags.
* configure: Regenerate.
gcc/
* tree-cfg.c (verify_gimple_unary_expr, verify_gimple_binary_expr,
verify_gimple_min_lval, verify_gimple_reference, verify_gimple_expr,
verify_gimple_modify_stmt, verify_gimple_stmt, verify_gimple_1,
verify_gimple): New functions.
* tree-flow.h (verify_gimple): Declare.
(verify_gimple_1): Declare.
* gimplify.c (cpt_same_type): Remove.
(gimplify_addr_expr): Remove checking code.
(check_pointer_types_r): Remove.
(gimplify_body): Call verify_gimple_1 instead of check_pointer_types_r.
Only verify if there were no errors.
* configure.ac: Add types checking flag.
* configure: Regenerate.
* config.in: Regenerate.
From-SVN: r126951
Richard Guenther [Thu, 26 Jul 2007 09:13:58 +0000 (09:13 +0000)]
re PR testsuite/32843 (libffi.call/return_sc.c)
2007-07-26 Richard Guenther <rguenther@suse.de>
PR testsuite/32843
* testsuite/libffi.call/return_sc.c (main): Verify call
result as signed char, not ffi_arg.
From-SVN: r126950
Andreas Krebbel [Thu, 26 Jul 2007 09:02:58 +0000 (09:02 +0000)]
20070725-1.c: Split the spare field in two to avoid: error: width of 'spare' exceeds its type.
2007-07-26 Andreas Krebbel <krebbel1@de.ibm.com>
* gcc.dg/
20070725-1.c: Split the spare field in two to avoid:
error: width of 'spare' exceeds its type.
From-SVN: r126949
Nick Clifton [Thu, 26 Jul 2007 08:37:01 +0000 (08:37 +0000)]
Change copyright header to refer to version 3 of the GNU General Public License and to point readers at the COPYING3 file and the FSF's license web page.
From-SVN: r126948
Jan Hubicka [Thu, 26 Jul 2007 03:43:40 +0000 (05:43 +0200)]
tree-ssa-live.c: Include debug.h and flags.h.
* tree-ssa-live.c: Include debug.h and flags.h.
(mark_scope_block_unused): New function.
(remove_unused_scope_block_p): New function.
(remove_unused_locals): Remove unused blocks too.
From-SVN: r126947
Nathan Froyd [Thu, 26 Jul 2007 00:40:00 +0000 (00:40 +0000)]
sibcall-3.c: Skip on PowerPC targets when -mlongcall.
* gcc.dg/sibcall-3.c: Skip on PowerPC targets when -mlongcall.
* gcc.dg/sibcall-4.c: Likewise.
From-SVN: r126943
Ian Lance Taylor [Thu, 26 Jul 2007 00:27:34 +0000 (00:27 +0000)]
combine.c (combine_max_regno): Remove.
* combine.c (combine_max_regno): Remove. Remove all uses.
(struct reg_stat_struct): Rename from struct reg_stat.
(reg_stat_type): Define, and declare VECs.
(reg_stat): Change from pointer to VEC. Change all uses.
(combine_split_insns): New static function.
(try_combine, find_split_point): Call it instead of split_insns.
From-SVN: r126942
GCC Administrator [Thu, 26 Jul 2007 00:17:15 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r126940
Krister Walfridsson [Wed, 25 Jul 2007 23:51:47 +0000 (01:51 +0200)]
re PR target/30058 (bootstrap broken on i386-unknown-netbsdelf2.0.2)
2007-07-24 Krister Walfridsson <cato@df.lth.se>
PR target/30058
* inclhack.def (netbsd_c99_inline_2): New.
* fixincl.x: Regenerate.
* tests/base/signal.h: Update.
From-SVN: r126937
Zdenek Dvorak [Wed, 25 Jul 2007 23:19:56 +0000 (01:19 +0200)]
cfghooks.c (split_block): Fix the information about loop latch.
* cfghooks.c (split_block): Fix the information about loop latch.
From-SVN: r126936
Zdenek Dvorak [Wed, 25 Jul 2007 23:08:06 +0000 (01:08 +0200)]
cfgloopmanip.c (fix_loop_structure): Call force_single_succ_latches.
* cfgloopmanip.c (fix_loop_structure): Call force_single_succ_latches.
From-SVN: r126935
Zdenek Dvorak [Wed, 25 Jul 2007 23:06:40 +0000 (01:06 +0200)]
tree-ssa-threadupdate.c (create_edge_and_update_destination_phis): Scan the new edge for loop exit info.
* tree-ssa-threadupdate.c (create_edge_and_update_destination_phis):
Scan the new edge for loop exit info.
From-SVN: r126934
Andreas Tobler [Wed, 25 Jul 2007 21:38:55 +0000 (21:38 +0000)]
darwin.c: Include debug.h.
2007-07-25 Andreas Tobler <a.tobler@schweiz.org>
* config/darwin.c: Include debug.h.
From-SVN: r126933
Steve Ellcey [Wed, 25 Jul 2007 20:24:15 +0000 (20:24 +0000)]
re PR target/32218 (segfault with -O1 -ftree-vectorize)
PR target/32218
* tree-vect-patterns.c (vect_pattern_recog_1): Check for valid type.
From-SVN: r126931
Steve Ellcey [Wed, 25 Jul 2007 20:09:07 +0000 (20:09 +0000)]
ia64.h (HARD_REGNO_NREGS): Handle RFmode.
* config/ia64/ia64.h (HARD_REGNO_NREGS): Handle RFmode.
(HARD_REGNO_MODE_OK): Ditto.
(MODES_TIEABLE_P): Ditto.
(HARD_REGNO_CALLER_SAVE_MODE): Ditto.
(CLASS_MAX_NREGS): Ditto.
* config/ia64/ia64.c (ia64_print_operand_address): Add R format.
* config/ia64/ia64.md (divsf3_internal_thr): Removed.
(divdf3_internal_thr): Removed.
* config/ia64/div.md: New file.
* config/ia64/constraints.md: Add H constraint.
From-SVN: r126930
Kaveh R. Ghazi [Wed, 25 Jul 2007 19:48:07 +0000 (19:48 +0000)]
sbitmap.c (sbitmap_verify_popcount, [...]): Constify.
* sbitmap.c (sbitmap_verify_popcount, sbitmap_alloc_with_popcount,
sbitmap_copy, sbitmap_copy_n, sbitmap_equal, sbitmap_empty_p,
sbitmap_union_of_diff_cg, sbitmap_union_of_diff, sbitmap_not,
sbitmap_difference, sbitmap_any_common_bits, sbitmap_a_and_b_cg,
sbitmap_a_and_b, sbitmap_a_xor_b_cg, sbitmap_a_xor_b,
sbitmap_a_or_b_cg, sbitmap_a_or_b, sbitmap_a_subset_b_p,
sbitmap_a_or_b_and_c_cg, sbitmap_a_or_b_and_c,
sbitmap_a_and_b_or_c_cg, sbitmap_a_and_b_or_c,
sbitmap_first_set_bit, sbitmap_last_set_bit, dump_sbitmap,
dump_sbitmap_file, debug_sbitmap, popcount_table,
sbitmap_popcount): Constify.
* sbitmap.h (const_sbitmap, const_sbitmap_ptr): New.
(sbitmap_iterator, sbitmap_iter_init, dump_sbitmap,
dump_sbitmap_file, sbitmap_copy, sbitmap_copy_n, sbitmap_equal,
sbitmap_empty_p, sbitmap_union_of_diff, sbitmap_union_of_diff_cg,
sbitmap_difference, sbitmap_not, sbitmap_a_or_b_and_c,
sbitmap_a_or_b_and_c_cg, sbitmap_a_and_b_or_c,
sbitmap_a_and_b_or_c_cg, sbitmap_any_common_bits, sbitmap_a_and_b,
sbitmap_a_and_b_cg, sbitmap_a_or_b, sbitmap_a_or_b_cg,
sbitmap_a_xor_b, sbitmap_a_xor_b_cg, sbitmap_a_subset_b_p,
sbitmap_first_set_bit, sbitmap_last_set_bit, debug_sbitmap,
sbitmap_popcount, sbitmap_verify_popcount): Constify.
From-SVN: r126929
Kaveh R. Ghazi [Wed, 25 Jul 2007 19:38:45 +0000 (19:38 +0000)]
bitmap.c (hash_descriptor, [...]): Constify.
* bitmap.c (hash_descriptor, eq_descriptor, bitmap_element_zerop,
bitmap_copy, bitmap_clear_bit, popcount_table, bitmap_count_bits,
bitmap_first_set_bit, bitmap_and, bitmap_and_into,
bitmap_elt_copy, bitmap_and_compl, bitmap_and_compl_into,
bitmap_compl_and_into, bitmap_elt_ior, bitmap_ior,
bitmap_ior_into, bitmap_xor, bitmap_xor_into, bitmap_equal_p,
bitmap_intersect_p, bitmap_intersect_compl_p,
bitmap_ior_and_compl, bitmap_ior_and_compl_into,
debug_bitmap_file, debug_bitmap, bitmap_print, bitmap_hash):
Constify.
* bitmap.h (bitmap_copy, bitmap_equal_p, bitmap_intersect_p,
bitmap_intersect_compl_p, bitmap_count_bits, bitmap_and,
bitmap_and_into, bitmap_and_compl, bitmap_and_compl_into,
bitmap_compl_and_into, bitmap_ior, bitmap_ior_into, bitmap_xor,
bitmap_xor_into, bitmap_ior_and_compl, bitmap_ior_and_compl_into,
debug_bitmap, debug_bitmap_file, bitmap_print,
bitmap_first_set_bit, bitmap_hash, bmp_iter_set_init,
bmp_iter_and_init, bmp_iter_and_compl_init): Likewise.
From-SVN: r126928
Daniel Berlin [Wed, 25 Jul 2007 19:24:16 +0000 (19:24 +0000)]
darwin.c (darwin_override_options): Additional fix for debug info formats that don't support var tracking.
2007-07-25 Daniel Berlin <dberlin@dberlin.org>
* config/darwin.c (darwin_override_options): Additional fix for
debug info formats that don't support var tracking.
From-SVN: r126927
Kaveh R. Ghazi [Wed, 25 Jul 2007 19:19:42 +0000 (19:19 +0000)]
cselib.c (entry_and_rtx_equal_p): Constify.
* cselib.c (entry_and_rtx_equal_p): Constify.
* gengtype.c (output_mangled_typename, write_types, write_local):
Likewise.
* gengtype.h (const_type_p): New.
* see.c (eq_descriptor_extension, hash_descriptor_extension):
Constify.
* tlink.c (scan_linker_output): De-constify.
* tree-ssa-loop-im.c (memref_eq): Constify.
* tree-ssa-structalias.c (const_shared_bitmap_info_t): New.
(shared_bitmap_hash, shared_bitmap_eq): Constify.
cp:
* parser.c (cp_parser_string_literal, cp_parser_sizeof_operand):
Constify.
From-SVN: r126926
Kaveh R. Ghazi [Wed, 25 Jul 2007 19:06:06 +0000 (19:06 +0000)]
c-common.c (fname_as_string, [...]): Constify.
* c-common.c (fname_as_string, c_type_hash): Constify.
* c-typeck.c (free_all_tagged_tu_seen_up_to): Likewise.
* cgraph.c (edge_hash, edge_eq): Likewise.
* dwarf2out.c (decl_die_table_eq, decl_loc_table_eq): Likewise.
* emit-rtl.c (mem_attrs_htab_eq, reg_attrs_htab_hash,
reg_attrs_htab_eq): Likewise.
* except.c (t2r_eq, t2r_hash, ttypes_filter_eq, ehl_hash, ehl_eq):
Likewise.
* genautomata.c (const_reserv_sets_t, const_unit_decl_t,
const_decl_t, const_state_t, const_automata_list_el_t): New.
(first_out_arc, DECL_UNIT, DECL_BYPASS, DECL_AUTOMATON, DECL_EXCL,
DECL_PRESENCE, DECL_ABSENCE, DECL_RESERV, DECL_INSN_RESERV,
automaton_decl_hash, automaton_decl_eq_p, insn_decl_hash,
insn_decl_eq_p, decl_hash, decl_eq_p, alt_state_cmp,
reserv_sets_cmp, reserv_sets_eq, state_hash, state_eq_p,
automata_list_hash, automata_list_eq_p, compare_states_for_equiv,
compare_max_occ_cycle_nums, out_state_arcs_num,
compare_transition_els_num, units_cmp, state_reservs_cmp):
Constify.
* genmodes.c (cmp_modes): Likewise.
* ggc-common.c (saving_htab_hash, saving_htab_eq): Likewise.
* gimplify.c (compare_case_labels): Likewise.
* ipa-type-escape.c (get_name_of_type, type_brand_s): Likewise.
* loop-unroll.c (si_info_hash, ve_info_hash): Likewise.
* matrix-reorg.c (mtt_info_hash): Likewise.
* postreload-gcse.c (hash_expr_for_htab, expr_equiv_p): Likewise.
* rtl-factoring.c (const_p_hash_bucket, const_p_hash_elem): New.
(htab_hash_bucket, htab_hash_elem): Constify.
* tree-browser.c (TB_parent_eq): Likewise.
* tree-scalar-evolution.c (hash_scev_info): Likewise.
* tree-ssa-alias.c (sort_tags_by_id): Likewise.
* tree-ssa-coalesce.c (const_coalesce_pair_p): New.
(coalesce_pair_map_hash, coalesce_pair_map_eq, compare_pairs):
Constify.
* tree-ssa-dom.c (avail_expr_hash, avail_expr_eq): Likewise.
* tree-ssa-pre.c (const_expr_pred_trans_t): New.
(expr_pred_trans_hash, expr_pred_trans_eq): Constify.
* tree-ssa-sccvn.c (const_vn_binary_op_t, const_vn_unary_op_t,
const_vn_phi_t, const_vn_reference_op_t, const_vn_reference_t):
New.
(vn_reference_op_eq, vn_reference_hash, vn_reference_eq,
vn_unary_op_hash, vn_unary_op_eq, vn_binary_op_hash,
vn_binary_op_eq, vn_phi_hash, vn_phi_eq): Constify.
* tree-ssa-threadupdate.c (redirection_data_hash,
redirection_data_eq): Likewise.
* tree-ssa-uncprop.c (equiv_hash, equiv_eq): Likewise.
* tree-ssa.c (var_ann_eq): Likewise.
* tree-vrp.c (compare_case_labels): Likewise.
* tree.c (int_cst_hash_hash, int_cst_hash_eq,
tree_map_base_marked_p, type_hash_marked_p, tree_check_failed,
tree_not_check_failed, tree_class_check_failed,
tree_range_check_failed, tree_not_class_check_failed,
omp_clause_check_failed, omp_clause_range_check_failed,
tree_contains_struct_check_failed, tree_operand_check_failed):
Likewise.
* tree.h (tree_contains_struct_check_failed, tree_check_failed,
tree_not_check_failed, tree_class_check_failed,
tree_range_check_failed, tree_not_class_check_failed,
tree_operand_check_failed, omp_clause_operand_check_failed,
tree_operand_length): Likewise.
* var-tracking.c (const_variable): New.
(variable_htab_hash, variable_htab_eq): Constify.
* varasm.c (const_desc_hash): Likewise.
cp:
* decl.c (typename_hash, typename_compare): Constify.
* mangle.c (hash_type, compare_type): Likewise.
* pt.c (eq_local_specializations, hash_local_specialization):
Likewise.
* tree.c (cplus_array_hash, cplus_array_compare, list_hash_eq,
list_hash): Likewise.
* typeck2.c (pat_compare): Likewise.
fortran:
* gfortran.h (generate_isocbinding_symbol): Constify.
* symbol.c (gen_special_c_interop_ptr, gen_cptr_param,
generate_isocbinding_symbol): Likewise.
java:
* class.c (java_treetreehash_hash, java_treetreehash_compare):
Constify.
* expr.c (type_assertion_eq): Likewise.
* jcf-io.c (compare_path): Likewise.
* jcf-parse.c (cmpstringp): Likewise.
* verify-impl.c (get_one_type, compute_argument_types,
compute_return_type): Likewise.
objc:
* objc-act.c (volatilized_hash, volatilized_eq, string_hash,
string_eq): Constify.
From-SVN: r126925
John David Anglin [Wed, 25 Jul 2007 18:49:13 +0000 (18:49 +0000)]
re PR rtl-optimization/31500 (FAIL: gcc.dg/Warray-bounds.c (internal compiler error))
PR rtl-optimization/31500
* gcc.dg/Warray-bounds.c: Remove hppa xfails.
* g++.dg/warn/Warray-bounds.C: Likewise.
From-SVN: r126924
Kaveh R. Ghazi [Wed, 25 Jul 2007 18:43:25 +0000 (18:43 +0000)]
expr.c (handled_component_p): Constify.
* expr.c (handled_component_p): Constify.
* fold-const.c (fit_double_type): Likewise.
* real.h (real_value_from_int_cst): Likewise.
* tree-flow-inline.h (gimple_in_ssa_p,
gimple_aliases_computed_p, gimple_addressable_vars,
gimple_call_clobbered_vars, gimple_referenced_vars,
gimple_global_var, gimple_nonlocal_all, gimple_var_anns,
end_htab_p, end_referenced_vars_p, var_ann, function_ann,
may_aliases, end_readonly_imm_use_p, has_zero_uses,
has_single_use, single_imm_use, num_imm_uses, is_exec_stmt,
is_label_stmt, is_global_var, phi_ssa_name_p,
factoring_name_p, is_call_clobbered, tree_common_ann,
op_iter_done, end_imm_use_stmt_p, end_imm_use_on_stmt_p,
unmodifiable_var_p, array_ref_contains_indirect_ref,
ref_contains_array_ref, lookup_subvars_for_var,
var_can_have_subvars, overlap_subvar, gimple_ssa_operands,
gimple_mem_ref_stats): Likewise.
* tree-flow.h (tree_common_ann, var_ann, function_ann,
may_aliases, is_exec_stmt, is_label_stmt,
ref_contains_array_ref, array_ref_contains_indirect_ref,
var_can_have_subvars, overlap_subvar, is_call_clobbered,
unmodifiable_var_p): Likewise.
* tree-gimple.c (is_gimple_min_invariant): Likewise.
* tree-gimple.h (is_gimple_min_invariant): Likewise.
* tree.c (type_hash_list, attribute_hash_list, tree_size,
cst_and_fits_in_hwi, real_value_from_int_cst,
build_real_from_int_cst, integer_zerop, integer_onep,
integer_all_onesp, integer_pow2p, integer_nonzerop, tree_log2,
tree_floor_log2, real_zerop, real_onep, real_twop,
real_minus_onep, really_constant_p, purpose_member, chain_member,
list_length, fields_length, int_size_in_bytes, bit_position,
int_bit_position, byte_position, int_byte_position, expr_align,
array_type_nelts, tree_node_structure,
type_contains_placeholder_1, iterative_hash_pointer,
is_attribute_with_length_p, is_attribute_p, check_qualified_type,
tree_map_base_eq, type_hash_list, type_hash_eq,
attribute_hash_list, type_num_arguments, tree_int_cst_equal,
tree_int_cst_lt, tree_int_cst_compare, host_integerp,
tree_low_cst, tree_int_cst_msb, tree_int_cst_sgn,
simple_cst_list_equal, compare_tree_int, iterative_hash_expr,
int_fits_type_p, get_containing_scope, decl_function_context,
decl_type_context, omp_clause_operand_check_failed,
initializer_zerop, int_cst_value, num_ending_zeros): Likewise.
* tree.h (omp_clause_operand_check_failed, tree_size,
build_real_from_int_cst, array_type_nelts, purpose_member,
tree_int_cst_equal, tree_int_cst_lt, tree_int_cst_compare,
host_integerp, tree_low_cst, tree_int_cst_msb, tree_int_cst_sgn,
is_attribute_p, check_qualified_type, expr_align,
int_size_in_bytes, bit_position, int_bit_position, byte_position,
int_byte_position, list_length, fields_length, initializer_zerop,
integer_zerop, integer_onep, integer_all_onesp, integer_pow2p,
integer_nonzerop, cst_and_fits_in_hwi, num_ending_zeros,
tree_node_structure, handled_component_p, get_containing_scope,
decl_function_context, decl_type_context, real_zerop,
type_num_arguments, fit_double_type, really_constant_p,
int_fits_type_p, tree_log2, tree_floor_log2, iterative_hash_expr,
compare_tree_int, chain_member, simple_cst_list_equal, real_onep,
real_twop, real_minus_onep, int_cst_value): Likewise.
From-SVN: r126923
Kaveh R. Ghazi [Wed, 25 Jul 2007 18:33:26 +0000 (18:33 +0000)]
cfglayout.c (insn_scope, insn_line): Constify.
* cfglayout.c (insn_scope, insn_line): Constify.
* emit-rtl.c (const_int_htab_hash, const_int_htab_eq,
const_double_htab_hash, const_double_htab_eq,
mem_attrs_htab_hash): Likewise.
* loop-iv.c (biv_eq): Likewise.
* print-rtl.c (print_rtx, print_decl_name, print_mem_expr,
print_inline_rtx, debug_rtx, debug_rtx_list, debug_rtx_range,
debug_rtx_find, print_rtl, print_rtl_single, print_simple_rtl):
Likewise.
* rtl-error.c (location_for_asm, diagnostic_for_asm,
error_for_asm, warning_for_asm, _fatal_insn,
_fatal_insn_not_found): Likewise.
* rtl.c (rtx_size, shared_const_p, shallow_copy_rtx_stat,
rtx_equal_p, rtl_check_failed_bounds, rtl_check_failed_type1,
rtl_check_failed_type2, rtl_check_failed_code1,
rtl_check_failed_code2, rtl_check_failed_code_mode,
rtvec_check_failed_bounds, rtl_check_failed_flag): Likewise.
* rtl.h (rtl_check_failed_bounds, rtl_check_failed_type1,
rtl_check_failed_type2, rtl_check_failed_code1,
rtl_check_failed_code2, rtl_check_failed_code_mode,
rtvec_check_failed_bounds, rtl_check_failed_flag, LABEL_KIND,
SET_LABEL_KIND, rhs_regno, subreg_lsb, subreg_regno, subreg_nregs,
shared_const_p, rtx_size, shallow_copy_rtx_stat, rtx_equal_p,
get_pool_mode, insn_line, insn_file, simplify_replace_rtx,
mode_signbit_p, rtx_addr_can_trap_p, nonzero_address_p,
rtx_unstable_p, get_integer_term, get_related_value,
offset_within_block_p, reg_mentioned_p, count_occurrences,
reg_referenced_p, reg_used_between_p, no_labels_between_p,
single_set_2, multiple_sets, set_noop_p, refers_to_regno_p,
reg_overlap_mentioned_p, dead_or_set_p, dead_or_set_regno_p,
find_reg_note, find_regno_note, find_reg_equal_equiv_note,
find_constant_src, find_reg_fusage, find_regno_fusage,
pure_call_p, remove_note, side_effects_p, volatile_refs_p,
volatile_insn_p, may_trap_p, may_trap_after_code_motion_p,
may_trap_or_fault_p, inequality_comparisons_p, tablejump_p,
computed_jump_p, auto_inc_p, in_expr_list_p,
remove_node_from_expr_list, loc_mentioned_in_p,
label_is_jump_target_p, reversed_comparison_code_parts,
debug_rtx, debug_rtx_list, debug_rtx_range, debug_rtx_find,
print_mem_expr, print_rtl, print_simple_rtl, print_rtl_single,
print_inline_rtx): Likewise.
* rtlanal.c (covers_regno_p, covers_regno_no_parallel_p,
computed_jump_p_1, nonzero_bits1, rtx_unstable_p,
rtx_addr_can_trap_p_1, rtx_addr_can_trap_p, nonzero_address_p,
get_integer_term, get_related_value, offset_within_block_p,
count_occurrences, reg_mentioned_p, no_labels_between_p,
reg_used_between_p, reg_referenced_p, single_set_2,
multiple_sets, set_noop_p, refers_to_regno_p,
reg_overlap_mentioned_p, dead_or_set_p,
covers_regno_no_parallel_p, covers_regno_p,
dead_or_set_regno_p, find_reg_note, find_regno_note,
find_reg_equal_equiv_note, find_constant_src, find_reg_fusage,
find_regno_fusage, pure_call_p, remove_note, in_expr_list_p,
remove_node_from_expr_list, volatile_insn_p, volatile_refs_p,
side_effects_p, may_trap_p_1, may_trap_p,
may_trap_after_code_motion_p, may_trap_or_fault_p,
inequality_comparisons_p, tablejump_p, computed_jump_p_1,
computed_jump_p, auto_inc_p, loc_mentioned_in_p, subreg_lsb,
subreg_regno, subreg_nregs, label_is_jump_target_p): Likewise.
* simplify-rtx.c (neg_const_int, plus_minus_operand_p,
mode_signbit_p, simplify_replace_rtx, plus_minus_operand_p):
Likewise.
* toplev.h (_fatal_insn_not_found, _fatal_insn, error_for_asm,
warning_for_asm): Likewise.
* tree.h (print_rtl): Likewise.
* varasm.c (get_pool_mode): Likewise.
From-SVN: r126922
Kaveh R. Ghazi [Wed, 25 Jul 2007 18:14:57 +0000 (18:14 +0000)]
c-lex.c (c_lex_with_flags, lex_string): Constify.
* c-lex.c (c_lex_with_flags, lex_string): Constify.
* c-ppoutput.c (print_line, pp_dir_change): Likewise.
* c-typeck.c (free_all_tagged_tu_seen_up_to): Likewise.
* cfg.c (bb_copy_original_hash, bb_copy_original_eq): Likewise.
* cfgloop.c (loop_exit_hash, loop_exit_eq): Likewise.
* ddg.c (compare_sccs): Likewise.
* df-scan.c (df_ref_compare, df_mw_compare): Likewise.
* dfp.c (decimal_real_from_string, decimal_to_decnumber,
decimal_to_binary, decimal_do_compare, decimal_real_to_decimal,
decimal_do_fix_trunc, decimal_real_to_integer,
decimal_real_to_integer2, decimal_real_maxval): Likewise.
* dse.c (const_group_info_t): New.
(invariant_group_base_eq, invariant_group_base_hash): Constify.
* dwarf2out.c (const_dw_die_ref): New.
(decl_die_table_hash, decl_die_table_eq, file_info_cmp): Constify.
* tree-browser.c (TB_parent_eq): Likewise.
* unwind-dw2-fde.c (__register_frame_info_bases,
__deregister_frame_info_bases, fde_unencoded_compare, fde_split,
add_fdes, linear_search_fdes, binary_search_unencoded_fdes):
Likewise.
* unwind-dw2-fde.h (get_cie, next_fde): Likewise.
* unwind-dw2.c (uw_frame_state_for): Likewise.
* value-prof.c (histogram_hash, histogram_eq): Likewise.
* value-prof.h (const_histogram_value): New.
From-SVN: r126920
Richard Sandiford [Wed, 25 Jul 2007 18:12:15 +0000 (18:12 +0000)]
mips.c (machine_function): Add initialized_mips16_gp_pseudo_p.
gcc/
* config/mips/mips.c (machine_function): Add
initialized_mips16_gp_pseudo_p.
(mips16_gp_pseudo_reg): Do not emit the initialization of
mips16_gp_pseudo_rtx when being called from the gimple cost-
calculation routines; emit it on the first use outside those
routines.
From-SVN: r126919
Kaveh R. Ghazi [Wed, 25 Jul 2007 18:00:08 +0000 (18:00 +0000)]
coretypes.h (const_bitmap, [...]): New.
* coretypes.h (const_bitmap, const_rtx, const_rtvec, const_tree):
New.
* rtl.h (RTL_CHECK1, RTL_CHECK2, RTL_CHECKC1, RTL_CHECKC2,
RTVEC_ELT, XWINT, XCWINT, XCMWINT, XCNMPRV, BLOCK_SYMBOL_CHECK,
RTL_FLAG_CHECK1, RTL_FLAG_CHECK2, RTL_FLAG_CHECK3,
RTL_FLAG_CHECK4, RTL_FLAG_CHECK5, RTL_FLAG_CHECK6,
RTL_FLAG_CHECK7, RTL_FLAG_CHECK8, LABEL_KIND, SET_LABEL_KIND):
Preserve const-ness of parameters through use of __typeof(),
also constify and tidy.
* tree.h (TREE_CHECK, TREE_NOT_CHECK, TREE_CHECK2,
TREE_NOT_CHECK2, TREE_CHECK3, TREE_NOT_CHECK3, TREE_CHECK4,
NON_TREE_CHECK4, TREE_CHECK5, TREE_NOT_CHECK5,
CONTAINS_STRUCT_CHECK, TREE_CLASS_CHECK, TREE_RANGE_CHECK,
OMP_CLAUSE_SUBCODE_CHECK, OMP_CLAUSE_RANGE_CHECK, EXPR_CHECK,
GIMPLE_STMT_CHECK, NON_TYPE_CHECK, TREE_VEC_ELT_CHECK,
PHI_NODE_ELT_CHECK, OMP_CLAUSE_ELT_CHECK, TREE_OPERAND_CHECK,
TREE_OPERAND_CHECK_CODE, GIMPLE_STMT_OPERAND_CHECK,
TREE_RTL_OPERAND_CHECK, TREE_CHAIN, TREE_TYPE): Likewise.
From-SVN: r126918
Julian Brown [Wed, 25 Jul 2007 15:43:04 +0000 (15:43 +0000)]
alpha.c (alpha_mangle_fundamental_type): Rename to...
gcc/
* config/alpha/alpha.c (alpha_mangle_fundamental_type): Rename to...
(alpha_mangle_type): This.
(TARGET_MANGLE_FUNDAMENTAL_TYPE): Don't define.
(TARGET_MANGLE_TYPE): Define this instead.
* config/arm/arm-protos.h (arm_mangle_type): Add prototype.
* config/arm/arm.c (TARGET_MANGLE_TYPE): Define target hook.
(arm_init_neon_builtins): Fix comment.
(arm_mangle_map_entry): New.
(arm_mangle_map): New.
(arm_mangle_type): New.
* config/i386/i386.c (ix86_mangle_fundamental_type): Rename to...
(ix86_mangle_type): This. Use TYPE_MAIN_VARIANT and restrict
mangled types to VOID_TYPE, BOOLEAN_TYPE, INTEGER_TYPE, REAL_TYPE.
(TARGET_MANGLE_FUNDAMENTAL_TYPE): Don't define.
(TARGET_MANGLE_TYPE): Define this instead.
* config/ia64/ia64.c (ia64_mangle_fundamental_type): Rename to...
(ia64_mangle_type): This. Use TYPE_MAIN_VARIANT and restrict
mangled types to VOID_TYPE, BOOLEAN_TYPE, INTEGER_TYPE, REAL_TYPE.
(TARGET_MANGLE_FUNDAMENTAL_TYPE): Don't define.
(TARGET_MANGLE_TYPE): Define this instead.
* config/rs6000/rs6000.c (rs6000_mangle_fundamental_type): Rename
to...
(rs6000_mangle_type): This. Use TYPE_MAIN_VARIANT.
(TARGET_MANGLE_FUNDAMENTAL_TYPE): Don't define.
(TARGET_MANGLE_TYPE): Define this instead.
* config/s390/s390.c (s390_mangle_fundamental_type): Rename to...
(s390_mangle_type): This.
(TARGET_MANGLE_FUNDAMENTAL_TYPE): Don't define.
(TARGET_MANGLE_TYPE): Define this instead.
* config/sparc/sparc.c (sparc_mangle_fundamental_type): Rename to...
(sparc_mangle_type): This.
(TARGET_MANGLE_FUNDAMENTAL_TYPE): Don't define.
(TARGET_MANGLE_TYPE): Define this instead.
* cp/mangle.c (write_type): Call mangle_type target hook on all
types before mangling. Use original type, not main variant, as
argument.
* target-def.h (TARGET_MANGLE_FUNDAMENTAL_TYPE): Rename hook to...
(TARGET_MANGLE_TYPE): This.
* target.h (gcc_target): Rename mangle_fundamental_type to
mangle_type.
* doc/tm.texi (TARGET_MANGLE_FUNDAMENTAL_TYPE): Rename section to...
(TARGET_MANGLE_TYPE): This. Note slightly different semantics.
Co-Authored-By: Mark Shinwell <shinwell@codesourcery.com>
From-SVN: r126917
John David Anglin [Wed, 25 Jul 2007 15:32:33 +0000 (15:32 +0000)]
re PR libstdc++/31836 (FAIL: 27_io/basic_istream/extractors_arithmetic/char/12.cc execution test)
PR libstdc++/31836
* config/locale/generic/c_locale.cc (__convert_to_v): Don't use
strtold if _GLIBCXX_HAVE_BROKEN_STRTOLD is defined.
* config/os/hpux/os_defines.h (_GLIBCXX_HAVE_BROKEN_STRTOLD): Define
if __hppa__ is defined.
From-SVN: r126914
H.J. Lu [Wed, 25 Jul 2007 13:09:02 +0000 (13:09 +0000)]
costmodel-vect-reduc-1char.c: Updated.
2007-07-25 H.J. Lu <hongjiu.lu@intel.com>
* gcc.dg/vect/costmodel/x86_64/costmodel-vect-reduc-1char.c: Updated.
From-SVN: r126913
Richard Guenther [Wed, 25 Jul 2007 12:46:42 +0000 (12:46 +0000)]
treetree.c (tree_code_generate_return): RETURN_EXPRs have volatile type.
2007-07-25 Richard Guenther <rguenther@suse.de>
* treetree.c (tree_code_generate_return): RETURN_EXPRs
have volatile type.
From-SVN: r126912
Julian Brown [Wed, 25 Jul 2007 12:28:31 +0000 (12:28 +0000)]
Makefile.in (TEXI_GCC_FILES): Add arm-neon-intrinsics.texi.
gcc/
* Makefile.in (TEXI_GCC_FILES): Add arm-neon-intrinsics.texi.
* config.gcc (arm*-*-*): Add arm_neon.h to extra headers.
(with_fpu): Allow --with-fpu=neon.
* config/arm/aof.h (ADDITIONAL_REGISTER_NAMES): Add Q0-Q15.
* config/arm/aout.h (ADDITIONAL_REGISTER_NAMES): Add Q0-Q15.
* config/arm/arm-modes.def (EI, OI, CI, XI): New modes.
* config/arm/arm-protos.h (neon_immediate_valid_for_move)
(neon_immediate_valid_for_logic, neon_output_logic_immediate)
(neon_pairwise_reduce, neon_expand_vector_init, neon_reinterpret)
(neon_emit_pair_result_insn, neon_disambiguate_copy)
(neon_vector_mem_operand, neon_struct_mem_operand, output_move_quad)
(output_move_neon): Add prototypes.
* config/arm/arm.c (FL_NEON): New flag for NEON processor capability.
(all_fpus): Add FPUTYPE_NEON.
(fp_model_for_fpu): Add NEON field.
(arm_return_in_memory): Return vectors <= 16 bytes in ARM registers.
(arm_arg_partial_bytes): Allow NEON vectors to be passed partially
in registers.
(arm_legitimate_address_p): Don't support fancy addressing for NEON
structure moves.
(thumb2_legitimate_address_p): Likewise.
(neon_valid_immediate): Recognize and prepare constants suitable for
NEON instructions.
(neon_immediate_valid_for_move): New function. Recognize and prepare
immediates for NEON move instructions.
(neon_immediate_valid_for_logic): New function. Recognize and
prepare immediates for NEON logic instructions.
(neon_output_logic_immediate): New function. Create asm string
suitable for outputting immediate logic instructions.
(neon_pairwise_reduce): New function. Implement reduction using
pairwise operations.
(neon_expand_vector_init): New function. Expand a (possibly
non-constant) vector initialization.
(neon_vector_mem_operand): New function. Memory operands supported
for quad-word loads/stores to/from ARM or NEON registers. Don't
allow base+offset addressing for core regs.
(neon_struct_mem_operand): New function. Valid mems for NEON
structure moves.
(coproc_secondary_reload_class): Enable NEON registers to be loaded
from neon_vector_mem_operand addresses without a secondary register.
(add_minipool_forward_ref): Handle >8-byte minipool entries.
(add_minipool_backward_ref): Likewise.
(dump_minipool): Likewise.
(push_minipool_fix): Likewise.
(output_move_quad): New function. Output quad-word moves, loads and
stores using ARM registers.
(output_move_vfp): Add support for vectors in VFP (NEON) D
registers.
(output_move_neon): Output a NEON load/store to/from a quadword
register.
(arm_print_operand): Implement new codes:
- 'c' for unadorned integers (without a # sign).
- 'J', 'K' for reg+2/reg+3, reg+3/reg+2 in little/big-endian
mode.
- 'e', 'f' for the low and high D parts of a NEON Q register.
- 'q' outputs a NEON Q register.
- 'h' outputs ranges of D registers for VLDM/VSTM etc.
- 'T' prints NEON opcode features from a coded bitmask.
- 'F' is similar to T, but signed/unsigned codes both print as
'i'.
- 't' is similar to T, but 'u' is printed instead of 'p'.
- 'O' prints 'r' if NEON instruction should perform rounding (as
specified by bitmask), else prints nothing.
- '#' is a punctuation character to stop operand numbers from
running together with following digits in the assembler
strings for instructions (when using mode attributes).
(arm_assemble_integer): Handle extra NEON vector modes. Permute
constant vectors in big-endian mode, where necessary.
(arm_hard_regno_mode_ok): Allow vectors in VFP/NEON registers.
Handle EI, OI, CI, XI modes.
(ashlv4hi3, ashlv2si3, lshrv4hi3, lshrv2si3, ashrv4hi3)
(ashrv2si3): Rename IWMMXT2_BUILTINs to...
(ashlv4hi3_iwmmxt, ashlv2si3_iwmmxt, lshrv4hi3_iwmmxt)
(lshrv2si3_iwmmxt, ashrv4hi3_iwmmxt, ashrv2si3_iwmmxt): New names.
(neon_builtin_type_bits): Add enumeration, one bit for each vector
type.
(v8qi_UP, v4hi_UP, v2si_UP, v2sf_UP, di_UP, v16qi_UP, v8hi_UP)
(v4si_UP, v4sf_UP, v2di_UP, ti_UP, ei_UP, oi_UP, UP): Define macros
to turn v8qi, etc. into bits defined above.
(neon_itype): New enumeration. Classifications of NEON builtins.
(neon_builtin_datum): Define struct. Contains information about
a single builtin (with multiple modes).
(CF): Define helper macro for...
(VAR1...VAR10): Define builtins with a type, name and 1-10 different
modes.
(neon_builtin_data): New array. Define information about builtins
for use during initialization/expansion.
(arm_init_neon_builtins): New function.
(arm_init_builtins): Call arm_init_neon_builtins if TARGET_NEON is
true.
(neon_builtin_compare): New function.
(locate_neon_builtin_icode): New function. Find an insn code for a
builtin given a function code for that builtin. Also return type of
builtin (NEON_BINOP, NEON_UNOP etc.).
(builtin_arg): New enumeration. Types of arguments for builtins.
(arm_expand_neon_args): New function. Expand a generic NEON builtin.
Takes a variable argument list of builtin_arg types, terminated by
NEON_ARG_STOP.
(arm_expand_neon_builtin): New function. Expand a NEON builtin.
(neon_reinterpret): New function. Expand NEON reinterpret intrinsic.
(neon_emit_pair_result_insn): New function. Support returning pairs
of vectors via a pointer.
(neon_disambiguate_copy): New function. Set up operands for a
multi-word copy such that registers do not get clobbered.
(arm_expand_builtin): Call arm_expand_neon_builtin if fcode >=
ARM_BUILTIN_NEON_BASE.
(arm_file_start): Set float-abi attribute for NEON.
(arm_vector_mode_supported_p): Enable NEON vector modes.
(arm_mangle_map_entry): New.
(arm_mangle_map): New.
(arm_mangle_vector_type): New.
* config/arm/arm.h (TARGET_CPU_CPP_BUILTINS): Define __ARM_NEON__
when appropriate.
(TARGET_NEON): New macro. Target supports NEON.
(fputype): Add FPUTYPE_NEON.
(UNITS_PER_SIMD_WORD): Define. Allow quad-word registers to be used
for vectorization based on command-line arg.
(NEON_REGNO_OK_FOR_NREGS): Define.
(VALID_NEON_DREG_MODE, VALID_NEON_QREG_MODE)
(VALID_NEON_STRUCT_MODE): Define.
(PRINT_OPERAND_PUNCT_VALID_P): '#' is valid punctuation.
(arm_builtins): Add ARM_BUILTIN_NEON_BASE.
* config/arm/arm.md (VUNSPEC_POOL_16): Insert constant for unspec.
(consttable_16): Add pattern for outputting 16-byte minipool
entries.
(movv2si, movv4hi, movv8qi): Remove blank expanders (redefined in
vec-common.md).
(vec-common.md, neon.md): Include md files.
* config/arm/arm.opt (mvectorize-with-neon-quad): Add option.
* config/arm/constraints.md (constraint "Dn", "Dl", "DL"): Define.
(memory_constraint "Ut", "Un", "Us"): Define.
* config/arm/iwmmxt.md (VMMX, VSHFT): New mode macros.
(MMX_char): New mode attribute.
(addv8qi3, addv4hi3, addv2si3): Remove. Replace with...
(*add<mode>3_iwmmxt): New insn pattern.
(subv8qi3, subv4hi3, subv2si3): Remove. Replace with...
(*sub<mode>3_iwmmxt): New insn pattern.
(mulv4hi3): Rename to...
(*mulv4hi3_iwmmxt): This.
(smaxv8qi3, smaxv4hi3, smaxv2si3, umaxv8qi3, umaxv4hi3)
(umaxv2si3, sminv8qi3, sminv4hi3, sminv2si3, uminv8qi3)
(uminv4hi3, uminv2si3): Remove. Replace with...
(*smax<mode>3_iwmmxt, *umax<mode>3_iwmmxt, *smin<mode>3_iwmmxt)
(*umin<mode>3_iwmmxt): These.
(ashrv4hi3, ashrv2si3, ashrdi3_iwmmxt): Replace with...
(ashr<mode>3_iwmmxt): This new pattern.
(lshrv4hi3, lshrv2si3, lshrdi3_iwmmxt): Replace with...
(lshr<mode>3_iwmmxt): This new pattern.
(ashlv4hi3, ashlv2si3, ashldi3_iwmmxt): Replace with...
(ashl<mode>3_iwmmxt): This new pattern.
* config/arm/neon-docgen.ml: New file. Generate documentation for
intrinsics.
* config/arm/neon-gen.ml: New file. Generate arm_neon.h header.
* config/arm/arm_neon.h: New (autogenerated).
* config/arm/neon-testgen.ml: New file. Generate NEON tests
automatically.
* config/arm/neon.md: New file. Define NEON instructions.
* config/arm/neon.ml: New file. Abstract description of NEON
instructions, used to generate arm_neon.h header, documentation and tests.
* config/arm/t-arm (MD_INCLUDES): Add vec-common.md, neon.md.
* vec-common.md: New file. Shared parts for iWMMXt and NEON vector
support.
* doc/extend.texi (ARM Built-in Functions): Rename and remove
extraneous comma.
(ARM NEON Intrinsics): New subsection.
* doc/arm-neon-intrinsics.texi: New (autogenerated).
gcc/testsuite/
* gcc.dg/vect/vect.exp: Check is-effective-target arm_neon_hw.
* gcc.dg/vect/tree-vect.h: Check for NEON SIMD support.
* lib/gcc-dg.exp (cleanup-saved-temps): Fix comment.
* lib/target-supports.exp (check_effective_target_arm_neon_ok)
(check_effective_target_arm_neon_hw): New.
* gcc.target/arm/neon/neon.exp: New file.
* gcc.target/arm/neon/polytypes.c: New file.
* gcc.target/arm/neon/v*.c (1870 files): New (autogenerated).
Co-Authored-By: Joseph Myers <joseph@codesourcery.com>
Co-Authored-By: Mark Shinwell <shinwell@codesourcery.com>
Co-Authored-By: Paul Brook <paul@codesourcery.com>
From-SVN: r126911
Janis Johnson [Wed, 25 Jul 2007 12:01:29 +0000 (12:01 +0000)]
dump-noaddr.c: Reduce string length for targets where an "int" is less than 32 bits wide.
2007-07-25 Janis Johnson <janis187@us.ibm.com>
* gcc.c-torture/unsorted/dump-noaddr.c: Reduce string length for
targets where an "int" is less than 32 bits wide.
From-SVN: r126910
Andreas Krebbel [Wed, 25 Jul 2007 11:18:16 +0000 (11:18 +0000)]
20070725-1.c: Testcase for revision 126876 added.
2007-07-25 Andreas Krebbel <krebbel1@de.ibm.com>
* gcc.dg/
20070725-1.c: Testcase for revision 126876 added.
From-SVN: r126909
Rask Ingemann Lambertsen [Wed, 25 Jul 2007 11:13:41 +0000 (13:13 +0200)]
predcom-1.c (count_averages): Avoid overflow during addition if an int is only 16 bits wide.
* gcc.dg/tree-ssa/predcom-1.c (count_averages): Avoid overflow
during addition if an int is only 16 bits wide.
* gcc.dg/tree-ssa/predcom-2.c (fib): Avoid overflow of 16-bit int.
From-SVN: r126908
Rask Ingemann Lambertsen [Wed, 25 Jul 2007 10:58:48 +0000 (12:58 +0200)]
pr29584.c: Only run test if pointers have the same size as "long int" and are 32 or 64...
* gcc.dg/torture/pr29584.c: Only run test if pointers have the same
size as "long int" and are 32 or 64 bits wide.
* gcc.dg/torture/pr28814.c: Likewise.
From-SVN: r126907
Rask Ingemann Lambertsen [Wed, 25 Jul 2007 10:54:52 +0000 (12:54 +0200)]
pr30313.c (struct S): Make sure the bit-field is exactly as wide as an int.
* gcc.dg/torture/pr30313.c (struct S): Make sure the bit-field is
exactly as wide as an int.
From-SVN: r126906
Danny Smith [Wed, 25 Jul 2007 09:55:24 +0000 (09:55 +0000)]
* config/i386/i386-protos.h (i386_pe_asm_file_end): Remove prototype.
From-SVN: r126905
Danny Smith [Wed, 25 Jul 2007 07:34:52 +0000 (07:34 +0000)]
struct-layout-1_generate.c (COMPAT_PRLL): Define and use throughout as long long printf format specifier.
* gcc.dg/compat/struct-layout-1_generate.c (COMPAT_PRLL):
Define and use throughout as long long printf format specifier.
* g++.dg/compat/struct-layout-1_generate.c (COMPAT_PRLL):
Likewise.
From-SVN: r126903
Ben Elliston [Wed, 25 Jul 2007 06:26:45 +0000 (06:26 +0000)]
ternary.h: Remove.
include/
* ternary.h: Remove.
libiberty/
* Makefile.in (CFILES): Remove ternary.c.
(REQUIRED_OFILES): Remove ./ternary.o.
(INSTALLED_HEADERS): Remove ternary.h.
(ternary.o): Remove.
* ternary.c: Remove.
From-SVN: r126902
Jan Hubicka [Wed, 25 Jul 2007 05:58:40 +0000 (07:58 +0200)]
regclass.c (move_table): New type.
* regclass.c (move_table): New type.
(move_cost, may_move_in_cost, may_move_out_cost): Use it.
(init_move_cost): Break out from ...
(init_reg_sets_1): ... here; simplify computation of
have_regs-of_mode and contains_reg_of_mode.
(record_reg_classes): Unswitch internal loops.
(copy_cost): Trigger lazy initialization of move cost
(record_address_regs): Likewise.
From-SVN: r126901
Daniel Berlin [Wed, 25 Jul 2007 04:12:12 +0000 (04:12 +0000)]
darwin.c (darwin_override_options): Don't force on flag_var_tracking_uninit when no debug info is requested.
2007-07-24 Daniel Berlin <dberlin@dberlin.org>
* config/darwin.c (darwin_override_options): Don't force on
flag_var_tracking_uninit when no debug info is requested.
From-SVN: r126900
H.J. Lu [Wed, 25 Jul 2007 01:17:11 +0000 (01:17 +0000)]
fe-convert-2.c: Unconditionally enable testing for converting from 1.0e-96 and 0.
00048828125 to...
2007-07-24 H.J. Lu <hongjiu.lu@intel.com>
* gcc.dg/dfp/fe-convert-2.c: Unconditionally enable testing
for converting from 1.0e-96 and 0.
00048828125 to _Decimal32.
From-SVN: r126898
GCC Administrator [Wed, 25 Jul 2007 00:16:57 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r126896
Ben Elliston [Tue, 24 Jul 2007 23:41:15 +0000 (23:41 +0000)]
* gcc.dg/dfp/fe-convert-1.c: Fix typo in comments.
From-SVN: r126892
Zdenek Dvorak [Tue, 24 Jul 2007 23:31:28 +0000 (01:31 +0200)]
cfgloop.c (init_loops_structure): New function.
* cfgloop.c (init_loops_structure): New function.
(flow_loops_find): Create root of the loop tree unconditionally.
From-SVN: r126891
Daniel Jacobowitz [Tue, 24 Jul 2007 19:44:17 +0000 (19:44 +0000)]
tree-ssa-ccp.c (fold_const_aggregate_ref): Use fold_convert.
* tree-ssa-ccp.c (fold_const_aggregate_ref): Use fold_convert.
* gcc.c-torture/execute/
20070724-1.c: New.
From-SVN: r126888
Paul Thomas [Tue, 24 Jul 2007 19:16:36 +0000 (19:16 +0000)]
re PR fortran/31205 (aliased operator assignment produces wrong result)
2007-07-24 Paul Thomas <pault@gcc.gnu.org>
PR fortran/31205
PR fortran/32842
* trans-expr.c (gfc_conv_function_call): Remove the default
initialization of intent(out) derived types.
* symbol.c (gfc_lval_expr_from_sym): New function.
* matchexp.c (gfc_get_parentheses): Return argument, if it is
character and posseses a ref.
* gfortran.h : Add prototype for gfc_lval_expr_from_sym.
* resolve.c (has_default_initializer): Move higher up in file.
(resolve_code): On detecting an interface assignment, check
if the rhs and the lhs are the same symbol. If this is so,
enclose the rhs in parenetheses to generate a temporary and
prevent any possible aliasing.
(apply_default_init): Remove code making the lval and call
gfc_lval_expr_from_sym instead.
(resolve_operator): Give a parentheses expression a type-
spec if it has no type.
* trans-decl.c (gfc_trans_deferred_vars): Apply the a default
initializer, if any, to an intent(out) derived type, using
gfc_lval_expr_from_sym and gfc_trans_assignment. Check if
the dummy is present.
2007-07-24 Paul Thomas <pault@gcc.gnu.org>
PR fortran/31205
* gfortran.dg/alloc_comp_basics_1.f90 : Restore number of
"deallocates" to 24, since patch has code rid of much spurious
code.
* gfortran.dg/interface_assignment_1.f90 : New test.
PR fortran/32842
* gfortran.dg/interface_assignment_2.f90 : New test.
From-SVN: r126886
Paul Thomas [Tue, 24 Jul 2007 19:15:27 +0000 (19:15 +0000)]
re PR fortran/31205 (aliased operator assignment produces wrong result)
2007-07-24 Paul Thomas <pault@gcc.gnu.org>
PR fortran/31205
PR fortran/32842
* trans-expr.c (gfc_conv_function_call): Remove the default
initialization of intent(out) derived types.
* symbol.c (gfc_lval_expr_from_sym): New function.
* matchexp.c (gfc_get_parentheses): Return argument, if it is
character and posseses a ref.
* gfortran.h : Add prototype for gfc_lval_expr_from_sym.
* resolve.c (has_default_initializer): Move higher up in file.
(resolve_code): On detecting an interface assignment, check
if the rhs and the lhs are the same symbol. If this is so,
enclose the rhs in parenetheses to generate a temporary and
prevent any possible aliasing.
(apply_default_init): Remove code making the lval and call
gfc_lval_expr_from_sym instead.
(resolve_operator): Give a parentheses expression a type-
spec if it has no type.
* trans-decl.c (gfc_trans_deferred_vars): Apply the a default
initializer, if any, to an intent(out) derived type, using
gfc_lval_expr_from_sym and gfc_trans_assignment. Check if
the dummy is present.
2007-07-24 Paul Thomas <pault@gcc.gnu.org>
PR fortran/31205
* gfortran.dg/alloc_comp_basics_1.f90 : Restore number of
"deallocates" to 24, since patch has code rid of much spurious
code.
* gfortran.dg/interface_assignment_1.f90 : New test.
PR fortran/32842
* gfortran.dg/interface_assignment_2.f90 : New test.
From-SVN: r126885
Nathan Sidwell [Tue, 24 Jul 2007 18:32:48 +0000 (18:32 +0000)]
method.c (implicitly_declare_fn): Increase alignment if member function pointer format requires it.
* method.c (implicitly_declare_fn): Increase alignment if member
function pointer format requires it.
From-SVN: r126884
Daniel Franke [Tue, 24 Jul 2007 16:57:02 +0000 (12:57 -0400)]
re PR fortran/32867 (ICE on nested initialization expressions)
gcc/fortran:
2007-07-24 Daniel Franke <franke.daniel@gmail.com>
PR fortran/32867
* expr.c (check_init_expr): Simplify matched functions.
gcc/testsuite:
2007-07-24 Daniel Franke <franke.daniel@gmail.com>
PR fortran/32867
* fortran.dg/initialization_10.f90: New test.
From-SVN: r126882
Daniel Franke [Tue, 24 Jul 2007 16:45:32 +0000 (12:45 -0400)]
re PR fortran/32778 (pedantic warning: intrinsics that are GNU extensions not part of -std=gnu)
gcc/fortran:
2007-07-24 Daniel Franke <franke.daniel@gmail.com>
PR fortran/32778
* intrinsic.c (add_sym): Do not exclude any symbols, even if not part
of the selected standard.
(make generic): Likewise.
(make alias): Likewise, set standard the alias belongs to.
(add_subroutines): Call make_noreturn unconditionally.
(check_intrinsic_standard): Change return value to try.
(gfc_intrinsic_func_interface): Check return value of above function.
(gfc_intrinsic_sub_interface): Likewise.
gcc/testsuite:
2007-07-24 Daniel Franke <franke.daniel@gmail.com>
PR fortran/32778
* gfortran.dg/imag_2.f: Removed
* gfortran.dg/warn_std_1.f90: New test.
* gfortran.dg/warn_std_2.f90: New test.
* gfortran.dg/warn_std_3.f90: New test.
From-SVN: r126881
Jan Hubicka [Tue, 24 Jul 2007 14:56:37 +0000 (16:56 +0200)]
caller-save.c: Include ggc.h, gt-caller-save.h
* caller-save.c: Include ggc.h, gt-caller-save.h
(reg_save_code, reg_restore_code): Rename to ...
(cached_reg_save_code, cached_reg_restore_code): ... those.
(savepat, restpat, test_reg, test_mem, saveinsn, restinsn): New.
(reg_save_code, reg_restore_code): New functions.
(init_caller_save): Do not intialize
reg_save_code/reg_restore_code tables.
* Makeifle.in: (gt-caller-save.h): New.
From-SVN: r126879
Tobias Burnus [Tue, 24 Jul 2007 12:58:20 +0000 (14:58 +0200)]
ChangeLog: Correct entry.
gcc/fortran/
2007-07-24 Tobias Burnus <burnus@net-b.de>
* ChangeLog: Correct entry.
libgfortran/
2007-07-24 Tobias Burnus <burnus@net-b.de>
* libgfortran.h: Add bounds_check to compile_options_t.
From-SVN: r126877
Andreas Krebbel [Tue, 24 Jul 2007 12:53:14 +0000 (12:53 +0000)]
tree-ssa-ifcombine.c (ifcombine_ifandif): Use a ONE operand with the mode of the original operand instead of integer_one_node.
2007-07-24 Andreas Krebbel <krebbel1@de.ibm.com>
* tree-ssa-ifcombine.c (ifcombine_ifandif): Use a ONE operand
with the mode of the original operand instead of
integer_one_node.
From-SVN: r126876