2005-11-03 James E Wilson <wilson@specifix.com>
PR ada/23427
* trans.c (gnat_to_gnu): Use TYPE_SIZE_UNIT not TYPE_SIZE in
TREE_OVERFLOW check.
From-SVN: r106452
* 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.
From-SVN: r106445
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.
From-SVN: r106438
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.
From-SVN: r106437
2005-11-03 Andrew Pinski <pinskia@physics.uc.edu>
PR middle-end/24589
* gimplify.c (gimplify_expr) <case CONSTRUCTOR>: Add the
expressions to a statement list instead of gimplifying them.
2005-11-03 Andrew Pinski <pinskia@physics.uc.edu>
PR middle-end/24589
* gcc.c-torture/execute/zero-struct-2.c: New test.
From-SVN: r106436
2005-11-03 Andrew Pinski <pinskia@physics.uc.edu>
PR c++/24582
* g++.dg/init/switch1.C: New test.
2005-11-03 Andrew Pinski <pinskia@physics.uc.edu>
PR c++/24582
* decl.c (declare_local_label): Return 0 for variables
with error_mark_node as their types.
From-SVN: r106434
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.
From-SVN: r106431
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.
From-SVN: r106427
PR c/24329
* c-pretty-print.c (pp_c_type_specifier): Do not recurse if
c_common_type_for_mode returns an unnamed type.
testsuite:
* gcc.dg/format/unnamed-1.c: New test.
From-SVN: r106421
PR c++/22434
* call.c (build_conditional_expr): Do bad conversions, if there's
no other choice.
PR c++/22434
* g++.dg/expr/cond8.C: New test.
From-SVN: r106418
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.
From-SVN: r106408
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.
testsuite/ChangeLog:
PR target/24615
* gcc.dg/pr24615.c: New test.
From-SVN: r106405
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.
From-SVN: r106400
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.
From-SVN: r106398
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.
From-SVN: r106396
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).
From-SVN: r106361
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.
From-SVN: r106353
* config/xtensa/xtensa.h (TRAMPOLINE_TEMPLATE): Add a byte of padding.
(TRAMPOLINE_SIZE): Round up to 60.
* config/xtensa/lib2funcs.S (TRAMPOLINE_SIZE): Likewise.
From-SVN: r106336