gcc/
2006-04-19 Carlos O'Donell <carlos@codesourcery.com>
Nathan Sidwell <nathan@codesourcery.com>
PR c/26774
* stor-layout.c (update_alignment_for_field): Do not align
ERROR_MARK nodes.
(place_union_field): Place union field at the start of the union.
(place_field): Move ERROR_MARK check later, and use the current
allocation position to maintain monotonicity.
gcc/testsuite/
2006-04-19 Carlos O'Donell <carlos@codesourcery.com>
PR c/26774
* gcc.dg/struct-parse-1.c: New test case.
Co-Authored-By: Nathan Sidwell <nathan@codesourcery.com>
From-SVN: r113107
PR c++/10385
* rtti.c (build_dynamic_cast_1): Check for invalid conversions
before calling convert_to_reference.
* cvt.c (convert_to_reference): Assert that reftype is a
REFERENCE_TYPE.
* g++.dg/conversion/dynamic1.C: New test.
From-SVN: r113084
PR c++/27102
* class.c (currently_open_class): Tidy.
* decl.c (grokdeclarator): If we encounter an erroneous
declarator, assume that we have already issued an error message
and return. Return error_mark_node instead of NULL_TREE in more
places. Issue errors about function definitions that do not have
a function declarator. Check for complete types for all function
definitions.
* cp-tree.h (cp_error_declarator): Remove.
(currently_open_class): Change return type.
* parser.c (cp_parser_id_expression): Add optional_p parameter.
(cp_parser_parse_diagnose_invalid_type_name): Adjust calls.
(cp_parser_id_expression): Likewise.
(cp_parser_unqualified_id): If the name is optional, return
NULL_TREE.
(cp_parser_postfix_dot_deref_expression): Adjust calls.
(cp_parser_type_parameter): Likewise.
(cp_parser_unqualified_id): Likewise.
(cp_parser_direct_declarator): Likewise.
(cp_parser_declarator_id): Add optional_p parameter.
(cp_parser_function_definition_from_specifiers_and_declarator):
Assume that start_function indicates failure only if it has issued
an error.
(cp_parser_omp_var_list_no_open): Adjust calls.
PR c++/27102
* g++.dg/template/crash35.C: Tweak error markers.
* g++.dg/template/crash46.C: New test.
* g++.old-deja/g++.brendan/friend4.C: Tweak error markers.
* g++.old-deja/g++.pt/incomplete1.C: Likewise.
From-SVN: r113081
2006-04-19 Andreas Krebbel <krebbel1@de.ibm.com>
* ifcvt.c (noce_emit_move_insn): Call store_bit_field if the resulting
move would be an INSV insn.
(noce_process_if_block): Don't optimize if the destination is a
ZERO_EXTRACT which can't be handled by noce_emit_move_insn.
2006-04-19 Andreas Krebbel <krebbel1@de.ibm.com>
* gcc.c-torture/compile/20060419-1.c: Added.
From-SVN: r113072
2006-04-19 Andreas Krebbel <krebbel1@de.ibm.com>
* config/s390/s390.md: Add comments with the instructions emitted
by an insn pattern if macros are used.
From-SVN: r113071
* configure.in (m32c): Build libstdc++-v3. Pass flags to
reference libgloss so that libssp can be built in a combined
tree.
* configure: Regenerate.
From-SVN: r113066
PR rtl-optimization/26026
* fold-const.c (fold_binary): Optimize div and mod where the divisor
is a known power of two shifted left a variable amount.
From-SVN: r113060
* dwarf2out.c (prune_unused_types_update_strings): Don't add strings
to hash table twice when the debug_str section has SECTION_MERGE.
From-SVN: r113057
fortran/
* parse.c (next_free): Use consistent error string between
free-form and fixed-form for illegal statement label of zero.
(next_fixed): Use consistent warning string between free-form
and fixed-form for statement labels for empty statements.
testsuite/
* gfortran.dg/label_1.f90: Adjust dg-error.
From-SVN: r113053
* config/sh/t-symbian: Add rule to build sh-c.o
* config/sh/symbian.c (sh_symbian_mark_dllexport): Replace use
of DECL_NON_ADDR_CONST_P with DECL_DLLIMPORT_P.
(sh_symbian_encode_section_info): Likewise.
From-SVN: r113042
2006-04-18 Paolo Carlini <pcarlini@suse.de>
* docs/html/faq/index.html ([5.5]): Adjust to mention function
objects and reference_wrapper; minor tweaks.
* docs/html/faq/index.txt: Regenerate.
From-SVN: r113031
* function.c (temp_slots_at_level, max_slot_level): Use VEC
instead of VARRAY.
* function.h (temp_slot_p): New.
(function): Change the type of x_used_temp_slots to
VEC(temp_slot_p,gc) *.
From-SVN: r113029
2006-04-18 Paolo Bonzini <bonzini@gnu.org>
PR target/27117
Partial revert of revision 112637
2006-04-03 Paolo Bonzini <bonzini@gnu.org>
Dale Johannesen <dalej@apple.com>
PR target/19653
* regclass.c (struct reg_pref): Update documentation.
(regclass): Set prefclass to NO_REGS if memory is the best option.
(record_reg_classes): Cope with a prefclass set to NO_REGS.
From-SVN: r113026
2006-04-18 Paolo Bonzini <bonzini@gnu.org>
PR tree-optimization/26821
* tree-ssa-math-opts.c (get_constant_one): New.
(insert_reciprocals): Use it.
From-SVN: r113025
PR libgcj/27171:
* testsuite/libjava.lang/pr27171.java: New file.
* testsuite/libjava.lang/pr27171.out: New file.
* gnu/gcj/convert/Output_UTF8.java (havePendingBytes): Return
true if we've seen a high surrogate.
(write): Handle high surrogates at the end of the stream.
Properly emit isolated low surrogates.
From-SVN: r113013
* alias.c (alias_sets): Change the type to
VEC(alias_set_entry,gc) *.
(get_alias_set_entry, new_alias_set, record_alias_subset): Use
VEC instead of VARRAY.
(last_alias_set): Remove.
From-SVN: r113005