Daniel Berlin [Sun, 6 Nov 2005 02:37:29 +0000 (02:37 +0000)]
gcc_release: Always determine revision number from date or tag...
2005-11-05 Daniel Berlin <dberlin@dberlin.org>
* gcc_release: Always determine revision number from date or tag,
and use that, instead of fragile date based export.
Put back setting of non-local CVSROOT.
Sebastian Pop [Sat, 5 Nov 2005 16:50:47 +0000 (17:50 +0100)]
lambda-code.c (lambda_transform_legal_p): Use DDR_NUM_DIST_VECTS for testing whether the data_dependence_relation...
* lambda-code.c (lambda_transform_legal_p): Use DDR_NUM_DIST_VECTS
for testing whether the data_dependence_relation contains distance
vectors. Iterate over all distance vectors of the ddr.
* lambda.h: Define a vec of lambda_vector pointers.
* tree-data-ref.c (dump_data_dependence_relation,
dump_data_dependence_direction): Iterate over all distance and
direction vectors of the ddr.
(initialize_data_dependence_relation): Initialize DDR_DIR_VECTS and
DDR_DIST_VECTS.
(build_classic_dist_vector, build_classic_dir_vector): Push a set
of distance/direction vectors instead of a single one.
* tree-data-ref.h (dir_vects, dist_vects): Replace dir/dist
lambda_vectors with a vec of lambda_vectors.
(DDR_DIR_VECT, DDR_DIST_VECT): Redefined as operations on vec.
(DDR_DIR_VECTS, DDR_DIST_VECTS, DDR_NUM_DIR_VECTS,
DDR_NUM_DIST_VECTS): New.
* tree-loop-linear.c (gather_interchange_stats): Test for the
existence of distance vectors only after having checked that there
is a dependence. Iterate over all distance vectors of the ddr.
(linear_transform_loops): Use dump_data_dependence_relation.
* tree-vect-analyze.c (vect_analyze_data_ref_dependence): Test for
distance vectors using DDR_NUM_DIST_VECTS. Iterate over all the
distance vectors of the ddr.
Bernd Schmidt [Sat, 5 Nov 2005 11:29:33 +0000 (11:29 +0000)]
bfin.c (n_dregs_to_save, [...]): New argument IS_INTHANDLER; all callers changed.
* config/bfin/bfin.c (n_dregs_to_save, n_pregs_to_save,
expand_prologue_reg_save, expand_epilogue_reg_restore): New argument
IS_INTHANDLER; all callers changed.
(n_regs_saved_by_prologue): Take interrupt handler attributes into
account.
(do_link, do_unlink): New argument ALL; all callers changed.
(expand_interrupt_handler_prologue, expand_interrupt_handler_epilogue):
If function isn't leaf, save and restore all registers.
(bfin_function_ok_for_sibcall): Only true if not an interrupt or
exception handler.
intrinsic.c (add_functions): Add function version of TTYNAM.
* intrinsic.c (add_functions): Add function version of TTYNAM.
* intrinsic.h: Add prototypes for gfc_check_ttynam and
gfc_resolve_ttynam.
* gfortran.h: Add case for GFC_ISYM_TTYNAM.
* iresolve.c (gfc_resolve_ttynam): New function.
* trans-decl.c (gfc_build_intrinsic_function_decls): Add a tree
for function call to library ttynam.
* check.c (gfc_check_ttynam): New function.
* trans-intrinsic.c (gfc_conv_intrinsic_ttynam): New function.
(): Call gfc_conv_intrinsic_ttynam.
* trans.h: Add prototype for gfor_fndecl_ttynam.
Jan Hubicka [Sat, 5 Nov 2005 00:54:05 +0000 (01:54 +0100)]
ipa-inline.c (cgraph_decide_inlining_of_small_function, [...]): Do not hold memory returned by cgraph_node_name across other call.
* ipa-inline.c (cgraph_decide_inlining_of_small_function,
cgraph_decide_inlining, cgraph_decide_inlining_incrementally):
Do not hold memory returned by cgraph_node_name across other call.
* doc/invoke.texi: Document max-jump-thread-duplication-stmts PARAM.
* tree-ssa-dom.c: Include params.h.
(thread_across_edge): If there are too many statements in the
target block, then do not thread through it.
* Makefile.in (tree-ssa-dom.o): Depend on $(PARAMS_H).
* params.def (PARAM_MAX_JUMP_THREAD_DUPLICATION_STMTS): New PARAM.
Sebastian Pop [Fri, 4 Nov 2005 19:10:04 +0000 (20:10 +0100)]
tree-scalar-evolution.c (instantiate_parameters_1, [...]): Compute the size of an expression to be instantiated and give up the...
PR/18595
* tree-scalar-evolution.c (instantiate_parameters_1,
instantiate_parameters, resolve_mixers): Compute the size of an
expression to be instantiated and give up the instantiation if the
size exceeds PARAM_SCEV_MAX_EXPR_SIZE.
tree-flow.h (ref_contains_indirect_ref): Rename to array_ref_contains_indirect_ref.
2005-11-04 Richard Guenther <rguenther@suse.de>
* tree-flow.h (ref_contains_indirect_ref): Rename to
array_ref_contains_indirect_ref.
* tree-flow-inline.h (ref_contains_indirect_ref): Likewise.
(array_ref_contains_indirect_ref): Make comment match the code
and vice-versa.
(ref_contains_array_ref): Likewise.
* tree-ssa-structalias.c (find_func_aliases): Remove call to
ref_contains_indirect_ref.
* tree-ssa-loop-niter.c (infer_loop_bounds_from_undefined):
Rename calls to ref_contains_indirect_ref.
Paul Brook [Fri, 4 Nov 2005 15:43:51 +0000 (15:43 +0000)]
arm.c (arm_load_pic_register): Pass extra reg to gen_pic_add_dot_plus_four and gen_pic_add_dot_plus_eight.
gcc/
* config/arm/arm.c (arm_load_pic_register): Pass extra reg to
gen_pic_add_dot_plus_four and gen_pic_add_dot_plus_eight.
(arm_call_tls_get_addr, legitimize_tls_address): Likewise.
* config/arm/arm.md: Use match_operand in peephole input templates
and match_dup in peephole output templates.
gcc/testsuite/
* gcc.dg/tls/opt-10.c: New test.
Tom Tromey [Fri, 4 Nov 2005 15:08:18 +0000 (15:08 +0000)]
PR libgcj/14358, libgcj/24552:
* gnu/gcj/convert/IOConverter.java: Regenerate aliases. Add
aliases for 'euc_jp' and 'eucjp'.
* scripts/encodings.pl: Recognize 'none', not 'NONE'. Include
canonical names in output.
(%map): Added UnicodeLittle and UnicodeBig.
re PR libfortran/22298 (libgfortran init() constructor isn't called if executable is statically linked)
PR libfortran/22298
* runtime/main.c (stupid_function_name_for_static_linking): New
function.
* runtime/error.c (internal_error): Call
stupid_function_name_for_static_linking.
* libgfortran.h: Add prototype for
stupid_function_name_for_static_linking.
* gcc/testsuite/lib/target-supports.exp
(check_effective_target_static_libgfortran): New
static_libgfortran effective target.
* gcc/testsuite/gfortran.dg/static_linking_1.f: New test.
* gcc/testsuite/gfortran.dg/static_linking_1.c: New file.
re PR fortran/18452 (Fortran options induces warning for fortran that needs preprocessing)
PR fortran/18452
* gcc/fortran/lang-specs.h: Pass -lang-fortran to the preprocessor.
* gcc/c.opt: Add a -lang-fortran option.
* gcc/c-opts.c: Add a lang_fortran flag.
(c_common_init_options): Handling the -lang-fortran option.
(c_common_handle_option): Add a case for Fortran options in
preprocessing. Remove cases for -ffixed-form and
-ffixed-line-length. Add a case for -lang-fortran.
Josh Conner [Fri, 4 Nov 2005 01:23:22 +0000 (01:23 +0000)]
re PR c++/19989 (Inconsistency with zero-sized arrays)
PR c++/19989
cp/pt.c (tsubst): Accept zero-length array if tf_error is set
in complain flags. Change error message for negative-
length array.
testsuite/g++.dg/ext/array2.C: New test.
testsuite/g++.dg/template/dependent-name3.C: New test.
testsuite/g++.dg/template/dependent-name4.C: New test.
testsuite/g++.dg/template/sfinae2.C: New test.
Eric Botcazou [Thu, 3 Nov 2005 19:57:55 +0000 (19:57 +0000)]
dwarf2asm.c (dw2_force_const_mem): Add new parameter 'public'.
* dwarf2asm.c (dw2_force_const_mem): Add new parameter 'public'.
On USE_LINKONCE_INDIRECT platforms, build a DECL_ONE_ONLY indirect
reference only if 'public' is true.
(dw2_output_indirect_constant_1): On USE_LINKONCE_INDIRECT platforms,
emit the .hidden directive only if the indirect reference is public.
(dw2_asm_output_encoded_addr_rtx): Add new parameter 'public'.
Pass it to dw2_force_const_mem.
* dwarf2asm.h (dw2_asm_output_encoded_addr_rtx): New param 'public'.
* dwarf2out.c (output_cfi): Adjust calls to above function.
(output_call_frame_info): Likewise.
* except.c (output_ttype): Pass TREE_PUBLIC of the type_info object
as 'public' argument to dw2_asm_output_encoded_addr_rtx.
Andrew Pinski [Thu, 3 Nov 2005 16:15:53 +0000 (16:15 +0000)]
re PR middle-end/23155 (Gimplification failed for union cast)
2005-11-03 Andrew Pinski <pinskia@physics.uc.edu>
PR middle-end/23155
* g++.dg/ext/c99struct1.C: New test.
* gcc.dg/union-cast-1.c: New test.
* gcc.dg/union-cast-2.c: New test.
* gcc.dg/union-cast-3.c: New test.
2005-11-03 Andrew Pinski <pinskia@physics.uc.edu>
PR middle-end/23155
* gimplifier.c (gimplify_expr): Create a temporary for lvalue
CONSTRUCTOR.
Daniel Berlin [Thu, 3 Nov 2005 15:39:48 +0000 (15:39 +0000)]
re PR tree-optimization/24351 (ICE in do_simple_structure_copy with some C++ code)
2005-11-03 Daniel Berlin <dberlin@dberlin.org>
Fix PR tree-optimization/24351
* tree-ssa-structalias.c (struct variable_info): Add
collapsed_into.
(get_varinfo_fc): New function to follow collapsing.
(new_var_info): Set collapsed_to to NULL.
(dump_constraint): Follow collapsing.
(build_constraint_graph): Handle collapsing.
(do_simple_structure_copy): Return false if something bad
happened.
(collapse_rest_of_var): New function.
(do_structure_copy): Collapse if do_simple_structure_copy returns
false.
Paolo Carlini [Thu, 3 Nov 2005 13:13:21 +0000 (13:13 +0000)]
sso_string_base.h (__sso_string_base<>::_M_swap): Change the various traits_type::copy call to always copy the entire local buffer...
2005-11-03 Paolo Carlini <pcarlini@suse.de>
* include/ext/sso_string_base.h (__sso_string_base<>::_M_swap):
Change the various traits_type::copy call to always copy the
entire local buffer; return early and don't do a full swap on
the lengths for two common cases; change two _S_copy to plain
traits_type::copy.
Eric Botcazou [Thu, 3 Nov 2005 11:31:46 +0000 (12:31 +0100)]
re PR rtl-optimization/23585 (mem_fun* code fine with -O1, bus error with -O2)
PR rtl-optimization/23585
* rtlanal.c (rtx_addr_can_trap_p_1) <PLUS>: Return 0 for an address
that can't trap plus a constant integer, if the mode has zero size.
Mark Mitchell [Wed, 2 Nov 2005 23:36:05 +0000 (23:36 +0000)]
re PR c++/24560 ("insufficient contextual information to determine type" is not a helpful error message)
PR c++/24560
* parser.c (cp_parser_postfix_dot_deref_expression): Improve error
message for use of overloaded functions on LHS of "." operator.
PR c++/24560
* g++.dg/parse/dot1.C: New test.
Ulrich Weigand [Wed, 2 Nov 2005 23:16:31 +0000 (23:16 +0000)]
re PR target/24615 (internal compiler error: in print_shift_count_operand, at config/s390/s390.c:4025)
ChangeLog:
PR target/24615
* config/s390/s390-protos.h (s390_decompose_shift_count): Declare.
* config/s390/s390.c (s390_decompose_shift_count): New function.
(s390_extra_constraint_str) ['Y']: Use s390_decompose_shift_count.
(print_shift_count_operand): Use s390_decompose_shift_count.
* config/s390/predicates.md ("setmem_operand", "shift_count_operand"):
Use s390_decompose_shift_count. Do not accept any non-base hard regs.
PR 22429
* fold-const.c (build_range_check): Use unsigned when signed
overflow is undefined also. If etype is subtype, make sure that
the subtraction is in the supertype.
Mark Mitchell [Wed, 2 Nov 2005 21:34:51 +0000 (21:34 +0000)]
re PR c++/19253 (bad error message / ICE for invalid template parameter)
PR c++/19253
* parser.c (cp_parser_postfix_expression): Use
cp_parser_elaborated_type_specifier to handle typename-types in
functional casts.
(cp_parser_enclosed_argument_list): Skip ahead to the end of the
template argument list if the closing ">" is not found.
PR c++/19253
* g++.dg/parse/typename8.C: Compile with -w -fpermissive.
* g++.dg/parse/typename9.C: New test.
* g++/dg/parse/typename10.C: Likewise.
Andrew Pinski [Wed, 2 Nov 2005 21:01:54 +0000 (21:01 +0000)]
re PR fortran/18157 (ice-on-valid code, pointer to user-defined type, fold-struct.c)
2005-11-02 Andrew Pinski <pinskia@physics.uc.edu>
PR fortran/18157
* gfortran.fortran-torture/compile/defined_type_1.f90: New test.
* gfortran.fortran-torture/compile/defined_type_2.f90: New
test.
* gfortran.fortran-torture/compile/defined_type_3.f90:
New test.
2005-11-02 Andrew Pinski <pinskia@physics.uc.edu>
PR fortran/18157
* trans-array.c (gfc_conv_resolve_dependencies): Use the correct
type for the temporary array.
* trans-expr.c (gfc_trans_assignment): Pass lss
instead of lss_section
to gfc_conv_resolve_dependencies to get the
correct type.
Tobias Schlüter [Wed, 2 Nov 2005 00:04:28 +0000 (01:04 +0100)]
decl.c (gfc_match_entry): Function entries don't need an argument list if there's no RESULT clause.
fortran/
* decl.c (gfc_match_entry): Function entries don't need an argument
list if there's no RESULT clause.
testsuite/
* gfortran.fortran-torture/execute/entry_9.f90: Revert previous
change (r106358).
Erik Edelmann [Tue, 1 Nov 2005 21:40:06 +0000 (21:40 +0000)]
re PR fortran/24245 (-fdump-parse-tree gives ICE for CONTAINED functions)
fortran/
2005-11-01 Erik Edelmann <eedelman@gcc.gnu.org>
PR 24245
* trans.c (gfc_generate_code): Move code to create a main
program symbol from here ...
* parse.c (main_program_symbol): ... to this new
function, setting the locus from gfc_current_locus
instead of ns->code->loc.
(gfc_parse_file): Call main_program_symbol for main programs.