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.
Andreas Schwab [Sat, 17 May 2003 20:04:09 +0000 (20:04 +0000)]
m68k.c (m68k_output_function_prologue): Use HOST_WIDE_INT_PRINT_DEC for fprintf and %wd for asm_fprintf when...
* config/m68k/m68k.c (m68k_output_function_prologue): Use
HOST_WIDE_INT_PRINT_DEC for fprintf and %wd for asm_fprintf when
formatting a HOST_WIDE_INT.
(m68k_output_function_epilogue): Likewise.
cp:
* ptree.c (cxx_print_type, cxx_print_xnode): Use string
concatentation on HOST_WIDE_INT_PRINT_* format specifier to
collapse multiple function calls into one.
* tree.c (debug_binfo): Likewise.
java:
* parse.y (print_int_node): Use string concatentation on
HOST_WIDE_INT_PRINT_* format specifier to collapse multiple
function calls into one.
Geoffrey Keating [Fri, 16 May 2003 23:38:42 +0000 (23:38 +0000)]
cppopts.texi (-undef): Fix texinfo warning.
* doc/cppopts.texi (-undef): Fix texinfo warning.
* doc/cppopts.texi (-H): Document that -H works for PCH files too.
* cppfiles.c (validate_pch): When -H is used, print some information
about PCH files found.
Janis Johnson [Fri, 16 May 2003 23:01:38 +0000 (23:01 +0000)]
struct-by-value-4_main.c: Split into multiple tests.
2003-05-16 Janis Johnson <janis187@us.ibm.com>
* gcc.dg/compat/struct-by-value-4_main.c: Split into multiple tests.
* gcc.dg/compat/struct-by-value-4_x.c: Split into multiple tests.
* gcc.dg/compat/struct-by-value-4_y.c: Split into multiple tests.
* gcc.dg/compat/struct-by-value-5_main.c: Split into multiple tests.
* gcc.dg/compat/struct-by-value-5_x.c: Split into multiple tests.
* gcc.dg/compat/struct-by-value-5_y.c: Split into multiple tests.
* gcc.dg/compat/struct-by-value-6_main.c: New file.
* gcc.dg/compat/struct-by-value-6_x.c: New file.
* gcc.dg/compat/struct-by-value-6_y.c: New file.
* gcc.dg/compat/struct-by-value-7_main.c: New file.
* gcc.dg/compat/struct-by-value-7_x.c: New file.
* gcc.dg/compat/struct-by-value-7_y.c: New file.
* gcc.dg/compat/struct-by-value-8_main.c: New file.
* gcc.dg/compat/struct-by-value-8_x.c: New file.
* gcc.dg/compat/struct-by-value-8_y.c: New file.
* gcc.dg/compat/struct-by-value-9_main.c: New file.
* gcc.dg/compat/struct-by-value-9_x.c: New file.
* gcc.dg/compat/struct-by-value-9_y.c: New file.
Jakub Jelinek [Fri, 16 May 2003 22:09:22 +0000 (00:09 +0200)]
configure.in (HAVE_RO_EH_FRAME): Check whether .eh_frame section should be read-only.
* configure.in (HAVE_RO_EH_FRAME): Check whether .eh_frame section
should be read-only.
* configure: Rebuilt.
* fficonfig.h.in: Rebuilt.
* include/ffi.h.in (EH_FRAME_FLAGS): Define.
* src/alpha/osf.S: Use EH_FRAME_FLAGS.
* src/powerpc/linux64.S: Likewise.
* src/powerpc/linux64_closure.S: Likewise. Include ffi.h.
* src/powerpc/sysv.S: Use EH_FRAME_FLAGS. Use pcrel encoding
if -fpic/-fPIC/-mrelocatable.
* src/powerpc/powerpc_closure.S: Likewise.
* src/sparc/v8.S: If HAVE_RO_EH_FRAME is defined, don't include
#write in .eh_frame flags.
* src/sparc/v9.S: Likewise.
* src/x86/unix64.S: Use EH_FRAME_FLAGS.
* src/x86/sysv.S: Likewise. Use pcrel encoding if -fpic/-fPIC.
* src/s390/sysv.S: Use EH_FRAME_FLAGS. Include ffi.h.
Paolo Carlini [Thu, 15 May 2003 23:43:15 +0000 (01:43 +0200)]
fstream.tcc (_M_overflow): Rewrote to call _M_convert_to_external only once (_M_buf_size is now the size...
2003-05-15 Paolo Carlini <pcarlini@unitus.it>
Nathan Myers <ncm@cantrip.org>
* include/bits/fstream.tcc (_M_overflow): Rewrote to call
_M_convert_to_external only once (_M_buf_size is now the size of
the put area + 1 for the overflow char of a full area); call
_M_set_buffer instead of _M_set_indeterminate.
(setbuf): Don't accept a buffer smaller than 2 chars.
(_M_underflow): Refill _M_buf_size - 1 chars; call _M_set_buffer,
instead of _M_set_determinate.
(open): Call _M_set_buffer, instead of _M_set_indeterminate.
(seekoff): Likewise.
* include/ext/stdio_filebuf.h (stdio_filebuf(int,
std::ios_base::openmode, bool, size_t),
stdio_filebuf(std::__c_file*, std::ios_base::openmode, size_t):
Likewise.
* include/std/std_fstream.h (_M_set_indeterminate): Remove.
(_M_set_determinate): Rename as _M_set_buffer, _M_buf_size ->
_M_buf_size - 1.
* include/std/std_streambuf.h: Tweak _M_out_lim comment.
* testsuite/27_io/basic_filebuf/sgetn/char/1.cc: Tweak, taking
into account that, for _M_buf_size == BUFSIZ == 8192, the size of
the put area is now BUFSIZ - 1.
* testsuite/ext/stdio_filebuf_2.cc: Tweak, taking into account
that now the smallest _M_buf_size is 2 (still fails, for the same
reason, with 3.2.3)