Jason Merrill [Wed, 21 May 2003 23:27:50 +0000 (19:27 -0400)]
init.c (build_vec_delete): Copy the address into a temporary variable before calling build_vec_delete_1.
* init.c (build_vec_delete): Copy the address into a temporary
variable before calling build_vec_delete_1.
* decl2.c (delete_sanity): Don't call stabilize_reference.
Janis Johnson [Wed, 21 May 2003 23:14:22 +0000 (23:14 +0000)]
scalar-return-1_main.c: New file.
2003-05-21 Janis Johnson <janis187@us.ibm.com>
* gcc.dg/compat/scalar-return-1_main.c: New file.
* gcc.dg/compat/scalar-return-1_x.c: New file.
* gcc.dg/compat/scalar-return-1_y.c: New file.
* gcc.dg/compat/scalar-return-2_main.c: New file.
* gcc.dg/compat/scalar-return-2_x.c: New file.
* gcc.dg/compat/scalar-return-2_y.c: New file.
* gcc.dg/compat/struct-return-3_main.c: New file.
* gcc.dg/compat/struct-return-3_y.c: New file.
* gcc.dg/compat/struct-return-3_x.c: New file.
* gcc.dg/compat/struct-return-2_main.c: New file.
* gcc.dg/compat/struct-return-2_x.c: New file.
* gcc.dg/compat/struct-return-2_y.c: New file.
Roger Sayle [Wed, 21 May 2003 01:16:33 +0000 (01:16 +0000)]
gcse.c (cprop_jump): Make use of REG_EQUAL notes on both setcc and jump, if they exist.
* gcse.c (cprop_jump): Make use of REG_EQUAL notes on both
setcc and jump, if they exist. If substituted instruction
fails to validate, store current effort in a REG_EQUAL note.
(cprop_insn): Don't attempt further substitutions if the
current instruction has been deleted.
(local_cprop_pass): Likewise.
* jump.c (redirect_jump): Also update REG_EQUAL note, if
one is attached to the jump instruction.
(invert_jump): Delete REG_EQUAL note on jump, if one exists.
Danny Smith [Wed, 21 May 2003 00:33:27 +0000 (00:33 +0000)]
re PR c++/9738 ([mingw] Internal compiler error in rest_of_compilation, at toplev.c: 3491)
PR c++/9738
* config/i386/winnt.c (i386_pe_encode_section_info): Enable
even if not first.
* cp/decl.c (duplicate_decls): Re-invoke make_decl_rtl
if the old decl had instantiated DECL_RTL.
(Base on Richard Henderson 2003-05-13 patch to c-decl.c).
* testsuite/g++.dg/ext/dllimport2.C: New file.
* testsuite/g++.dg/ext/dllimport3.C: New file.
Bob Wilson [Tue, 20 May 2003 23:39:09 +0000 (23:39 +0000)]
lib1funcs.asm: Avoid use of .Lfe* in .size directives.
* config/xtensa/lib1funcs.asm: Avoid use of .Lfe* in .size directives.
(do_abs, do_addx2, do_addx4, do_addx8): New assembler macros.
(__mulsi3): Use do_addx* instead of ADDX* instructions. Formatting.
(nsau): Rename to do_nsau. Provide alternate version for use when
the NSAU instruction is available.
(__udivsi3, __divsi3, __umodsi3, __modsi3): Use do_nsau macro.
(__divsi3, __modsi3): Use do_abs macro instead of ABS instruction.
* config/xtensa/xtensa-config.h: Update comments to match binutils.
(XCHAL_HAVE_ABS, XCHAL_HAVE_ADDX): Define.
* config/xtensa/xtensa.h (MASK_ABS, MASK_ADDX): Define.
(TARGET_ABS, TARGET_ADDX): Define.
(TARGET_DEFAULT): Conditionally add MASK_ABS and MASK_ADDX.
(TARGET_SWITCHES): Add "abs", "no-abs", "addx", and "no-addx".
* config/xtensa/xtensa.md (*addx2, *addx4, *addx8, *subx2, *subx4,
*subx8): Set predicate condition to TARGET_ADDX.
(abssi2): Set predicate condition to TARGET_ABS.
* doc/invoke.texi (Option Summary): Document new "-mabs", "-mno-abs",
"-maddx", and "-mno-addx" options.
(Xtensa Options): Likewise. Also tag some opcode names with @code.
Janis Johnson [Tue, 20 May 2003 22:15:45 +0000 (22:15 +0000)]
struct-by-value-3_x.c: Move common pieces to headers.
2003-05-20 Janis Johnson <janis187@us.ibm.com>
* gcc.dg/compat/struct-by-value-3_x.c: Move common pieces to headers.
* gcc.dg/compat/struct-by-value-3_y.c: Ditto.
* gcc.dg/compat/struct-by-value-5_x.c: Ditto.
* gcc.dg/compat/struct-by-value-5_y.c: Ditto.
* gcc.dg/compat/struct-by-value-6_x.c: Ditto.
* gcc.dg/compat/struct-by-value-6_y.c: Ditto.
* gcc.dg/compat/struct-by-value-7_x.c Ditto.
* gcc.dg/compat/struct-by-value-7_y.c Ditto.
* gcc.dg/compat/small-struct-defs.h: New file.
* gcc.dg/compat/small-struct-init.h: New file.
* gcc.dg/compat/small-struct-check.h: New file.
* gcc.dg/compat/fp-struct-defs.h: New file.
* gcc.dg/compat/fp-struct-check.h: New file.
* gcc.dg/compat/fp-struct-init.h: New file.
* gcc.dg/compat/fp-struct-test-by-value-y.h: New file.
* gcc.dg/compat/fp-struct-test-by-value-x.h: New file.
* gcc.dg/compat/scalar-return-1_main.c: New file.
* gcc.dg/compat/scalar-return-1_x.c: New file.
* gcc.dg/compat/scalar-return-1_y.c: New file.
* gcc.dg/compat/scalar-return-2_main.c: New file.
* gcc.dg/compat/scalar-return-2_x.c: New file.
* gcc.dg/compat/scalar-return-2_y.c: New file.
* gcc.dg/compat/struct-return-3_main.c: New file.
* gcc.dg/compat/struct-return-3_y.c: New file.
* gcc.dg/compat/struct-return-3_x.c: New file.
* gcc.dg/compat/struct-return-2_main.c: New file.
* gcc.dg/compat/struct-return-2_x.c: New file.
* gcc.dg/compat/struct-return-2_y.c: New file.
Michael Koch [Tue, 20 May 2003 11:53:11 +0000 (11:53 +0000)]
2003-05-20 Michael Koch <konqueror@gmx.de>
* java/io/DataInputStream.java
(convertFromUTF): Merged comment from classpath.
* java/io/PrintStream.java
(error_occured): Renamed from error, merged comment from classpath.
(PrintStream): No need to initialized error.
(checkError): Replace error with error_occurred.
(setError): Likewise.
Michael Koch [Tue, 20 May 2003 09:13:19 +0000 (09:13 +0000)]
DataInputStream.java: Reformatted, Replaced < and & with html entitites in documentation.
2003-05-20 Michael Koch <konqueror@gmx.de>
* java/io/DataInputStream.java:
Reformatted, Replaced < and & with html entitites in documentation.
* java/io/File.java:
Reformatted.
* java/io/PrintWriter.java:
Moved class documentation.
Nathanael Nerode [Tue, 20 May 2003 01:04:20 +0000 (01:04 +0000)]
configure.in: Switch more things to use maybe dependencies.
2003-05-19 Nathanael Nerode <neroden@gcc.gnu.org>
* configure.in: Switch more things to use maybe dependencies.
* Makefile.tpl: Switch more things to use maybe dependencies.
Factor out common code from autogen IF statements.
* configure: Regenerate.
* Makefile.in: Regenerate.
Matt Austern [Mon, 19 May 2003 19:19:46 +0000 (19:19 +0000)]
Add a new flag...
Add a new flag, -W(no-)invalid-offsetof, to control whether or
not the compiler warns about incorrect use of the offsetof macro
in C++. By default the warning is on.
rs6000.c (rs6000_alignment_string, [...]): New variables.
2003-05-18 Kevin B. Hendricks <kevin.hendricks@sympatico.ca>
David Edelsohn <edelsohn@gnu.org>
* config/rs6000/rs6000.c (rs6000_alignment_string,
rs6000_alignment_flags): New variables.
(rs6000_parse_alignment_option): New function.
(rs6000_override_options): Call it.
* config/rs6000/rs6000.h (TARGET_OPTIONS): Add -malign-XXX option.
(MASK_ALIGN_POWER, MASK_ALIGN_NATURAL, TARGET_ALIGN_NATURAL): New
macros.
* config/rs6000/aix.h (ADJUST_FIELD_ALIGN): Always use COMPUTED
natural alignment if TARGET_NATURAL_ALIGNMENT
(ROUND_TYPE_ALIGN): Always use default record alignment if
TAGET_NATURAL_ALIGNMENT.
* config/rs6000/darwin.h (ADJUST_FIELD_ALIGN): Same
(ROUND_TYPE_ALIGN): Same.
* config/rs6000/linux64.h (ADJUST_FIELD_ALIGN): Same
(ROUND_TYPE_ALIGN): Same.
Co-Authored-By: David Edelsohn <edelsohn@gnu.org>
From-SVN: r66967
Andrew MacLeod [Mon, 19 May 2003 08:48:20 +0000 (08:48 +0000)]
(xstormy16_expand_prologue): Do not mark assignments to the hard frame pointer as being stack frame related.
(xstormy16_expand_prologue): Do not mark assignments to the hard frame pointer
as being stack frame related.
(xstormy16_expand_epilogue): Mark adjustments to the stack pointer as being
stack frame related.
* config/mips/mips.h (ISA_HAS_LOAD_DELAY, ISA_HAS_XFER_DELAY,
ISA_HAS_FCMP_DELAY, ISA_HAS_HILO_INTERLOCKS): New macros.
(PREDICATE_CODES): Add hilo_operand.
* config/mips/mips.c (hilo_operand): New predicate.
(mips_adjust_insn_length): Account for the number nops that might
be needed to avoid hardware hazards.
* config/mips/mips.md (dslot): Remove attribute.
(hazard): New attribute.
(can_delay): Use it. Check for calls, branches & jumps.
(muldi3): Use the standard dmult pattern for mips16 code.
(muldi3_internal, muldi3_internal2): Adjust conditions accordingly.
Andrew Pinski [Mon, 19 May 2003 07:02:12 +0000 (07:02 +0000)]
name-lookup.c (free_binding_entry): fix where the GTY markers are.
* name-lookup.c (free_binding_entry): fix where the GTY markers are.
(binding_entry_make): Make entry->chain NULL after getting an entry.
fix the spelling of chain in a comment.
(binding_table_free): speed up by having temporary variable.
(binding_table_new): set table->chain to be NULL after allocating
a table.
(cxx_binding_make): use gcc_alloc instead of ggc_alloc_cleared and set
binding->previous to NULL after getting an binding for speed.
Nathanael Nerode [Sun, 18 May 2003 15:43:44 +0000 (15:43 +0000)]
<top level>
<top level>
* configure.in: Switch more things to use maybe dependencies.
Rearrange a little. Use GCC_TOPLEV_SUBDIRS.
* configure: Regenerate.
* Makefile.tpl: Switch more things to use maybe dependencies.
* Makefile.in: Regenerate.
Gabriel Dos Reis [Sun, 18 May 2003 13:40:54 +0000 (13:40 +0000)]
hashtable.h (struct ht_identifier): Add data member "hash_value".
* hashtable.h (struct ht_identifier): Add data member "hash_value".
* hashtable.c (ht_lookup): Use it when searching, remember.
(ht_expand): Do not recompute.
* tree.h (IDENTIFIER_HASH_VALUE): New macro.
cp/
* cp-tree.h (struct lang_type_class): Replace data member tags
with hash-table nested_udts.
(CLASSTYPE_NESTED_UTDS): Rename from CLASSTYPE_TAGS.
* class.c (unreverse_member_declarations): Don't touch
CLASSTYPE_TAGS.
(pushclass): Use cxx_remember_type_decls.
* decl.c (struct cp_binding_level): Replace data member tags with
hash-table type_decls.
(pop_binding_level): Handle level->type_decls.
(kept_level_p): Adjust.
(poplevel): Remove unused local variable.
(bt_print_entry): New function.
(print_binding_level): Use it.
(push_namespace): Build current_binding_level->type_decls.
(maybe_process_template_type_declaration): Adjust.
(pushtag): Likewise.
(clear_anon_tags): Use binding_table_remove_anonymous_types.
(gettags): Remove.
(cxx_remember_type_decls): Rename from storetags. Adjust.
(lookup_tag): Use binding_table_find_anon_type. Tidy.
(lookup_tag_reverse): Use binding_table_reverse_maybe_remap.
(cxx_init_decl_processing): Build global_binding_level->type_decls.
(store_parm_decls): Remove pointless code.
* name-lookup.c (free_binding_entry): New variable.
(ENTRY_INDEX): New macro.
(struct binding_table_s): New datatype.
(binding_entry_make): New function.
(binding_entry_free): Likewise.
(binding_table_construct): Likewise.
(binding_table_free): Likewise.
(binding_table_new): Likewise.
(binding_table_expand): Likewise.
(binding_table_insert): Likewise.
(binding_table_find): Likewise.
(binding_table_find_anon_type): Likewise.
(binding_table_reverse_maybe_remap): Likewise.
(binding_table_remove_anonymous_types): Likewise.
(binding_table_foreach): Likewise.
* name-lookup.h (binding_table): New type.
(binding_entry): Likewise.
(bt_foreach_proc): Likewise.
(struct binding_entry_s): New datatype.
(SCOPE_DEFAULT_HT_SIZE): New macro.
(CLASS_SCOPE_HT_SIZE): Likewise.
(NAMESPACE_ORDINARY_HT_SIZE): Likewise.
(NAMESPACE_STD_HT_SIZE): Likewise.
(GLOBAL_SCOPE_HT_SIZE): Likewise.
(binding_table_new): Declare.
(binding_table_free): Likewise.
(binding_table_insert): Likewise.
(binding_table_find_anon_type): Likewise.
(binding_table_reverse_maybe_remap): Likewise.
(binding_table_remove_anonymous_types): Likewise.
(binding_table_foreach): Likewise.
(binding_table_find): Likewise.
(cxx_remember_type_decls): Likewise.
* pt.c (bt_instantiate_type_proc): New function.
(do_type_instantiation): Use it.
* search.c (lookup_field_r): Use binding_table_find.