cp:
* class.c (dfs_unshared_virtual_bases): Add ATTRIBUTE_UNUSED.
(layout_empty_base): Return at end flag.
(build_base_field): Likewise.
(build_base_fields): Likewise.
(layout_virtual_bases): Don't add 1 to eoc value.
(end_of_class): Use full size for empty bases.
(layout_class_type): Clear CLASSNEARLY_EMPTY_P if we appended
empty bases. Don't add 1 to eoc value. Only add trailing padding
if we're an empty class with no empty bases.
(dump_class_hierarchy): Dump size and alignment.
testsuite:
* g++.old-deja/g++.abi/empty2.C: New test.
* g++.old-deja/g++.abi/empty3.C: New test.
rs6000.md (ctrsi_internal1, [...]): In the short-branch case, this insn is only 4 instructions long.
* config/rs6000/rs6000.md (ctrsi_internal1, ctrsi_internal2,
ctrsi_internal3, ctrsi_internal4, ctrsi_internal5,
ctrsi_internal6, ctrdi_internal1, ctrdi_internal2,
ctrdi_internal3, ctrdi_internal4, ctrdi_internal5,
ctrdi_internal6): In the short-branch case, this insn is only 4
instructions long. Reported by Reza Yazdani <reza@apple.com>.
fold-const.c (fold): Use first_rtl_op rather than TREE_CODE_LENGTH when...
* fold-const.c (fold): Use first_rtl_op rather than
TREE_CODE_LENGTH when looping over parameters of a tree.
Correct strange grouping in test for evaluated SAVE_EXPR.
* config/pa/som.h (ASM_OUTPUT_FUNCTION_PREFIX): Truncate subspace
name at 32 total characters.
(ASM_OUTPUT_SECTION_NAME): Similarly. Also, only support placing
functions in named sections -- data items can still go into unique
sections, but they have normal names (ie $LIT$ and $DATA$).
* config/pa/som.h (SUPPORTS_INIT_PRIORITY): SOM does not support
INIT_PRIORITY.
Mark Mitchell [Thu, 19 Apr 2001 22:49:48 +0000 (22:49 +0000)]
cp-tree.h (DECL_LANGUAGE): Don't assume DECL_LANG_SPECIFIC is set.
* cp-tree.h (DECL_LANGUAGE): Don't assume DECL_LANG_SPECIFIC is
set.
(SET_DECL_LANGUAGE): New macro.
* decl.c (duplicate_decls): Use SET_DECL_LANGUAGE.
(pushdecl): Likewise.
(build_library_fn_1): Likewise.
(build_cp_library_fn): Likewise.
(grokfndecl): Likewise.
(grokvardecl): Mark `extern "C"' variables as having C linkage.
* decl2.c (grokclassfn): Use SET_DECL_LANGUAGE.
* lex.c (retrofit_lang_decl): Likewise.
* mangle.c (mangle_decl_string): Don't mangle the names of
variables declared with C language linkage.
* semantics.c (finish_member_declaration): Use SET_DECL_LANGUAGE.
DJ Delorie [Thu, 19 Apr 2001 20:28:05 +0000 (16:28 -0400)]
vms.h: Change OBJECT_SUFFIX and EXECUTABLE_SUFFIX to TARGET_OBJECT_SUFFIX and...
* config/alpha/vms.h: Change OBJECT_SUFFIX and EXECUTABLE_SUFFIX
to TARGET_OBJECT_SUFFIX and TARGET_EXECUTABLE_SUFFIX.
* config/i386/cygwin.h: Likewise.
* config/i386/mingw32.h: Likewise.
* config/vax/vms.h: Likewise.
* config/i386/djgpp.h: Remove NO_AUTO_EXE_SUFFIX.
* config/alpha/xm-vms.h: Change OBJECT_SUFFIX and EXECUTABLE_SUFFIX
to HOST_OBJECT_SUFFIX and HOST_EXECUTABLE_SUFFIX.
* config/i386/xm-cygwin.h: Likewise.
* config/i386/xm-djgpp.h: Likewise.
* config/i386/xm-mingw32.h: Likewise.
* config/vax/xm-vms.h: Likewise.
* mkdeps.c (deps_add_default_target): Use TARGET_OBJECT_SUFFIX
instead of OBJECT_SUFFIX.
* collect2.c (find_a_file): Look for files matching the extension
HOST_EXECUTABLE_SUFFIX instead of EXECUTABLE_SUFFIX.
* gcc.c (DEFAULT_SWITCH_CURTAILS_COMPILATION): Depend on
TARGET_EXECUTABLE_SUFFIX.
(find_a_file): Use HOST_EXECUTABLE_SUFFIX.
(make_relative_prefix): Likewise.
(convert_filename): Use TARGET_ suffixes throughout. Remove
NO_AUTO_EXE_SUFFIX.
(process_command): Likewise.
(do_spec_1): Likewise.
* java/lang.c (init_parse): Likewise.
* gcc.texi : Document four new options matching the pattern
(HOST|TARGET)_(OBJECT|EXECUTABLE)_SUFFIX. Remove documentation
for deleted macros OBJECT_SUFFIX and EXECUTABLE_SUFFIX. Remove
documentation for NO_AUTO_EXE_SUFFIX.
Mark Mitchell [Thu, 19 Apr 2001 19:52:17 +0000 (19:52 +0000)]
toplev.h (struct lang_hooks): Allow decode_option to indicate that language-independent processing should not...
* toplev.h (struct lang_hooks): Allow decode_option to indicate
that language-independent processing should not be done.
* toplev.c (main): Adjust accordingly.
* top.c (ffe_decode_option): Do not permit language-independent
processing for -ffixed-line-length.
dbxout.c (dbxout_init): If DBX_OUTPUT_GCC_MARKER is defined, use it instead of blindly generating a .stabs.
* dbxout.c (dbxout_init): If DBX_OUTPUT_GCC_MARKER is defined,
use it instead of blindly generating a .stabs.
* xcoffout.h: Define DBX_OUTPUT_GCC_MARKER so we put the type
in the right place.
* xcoffout.c: Don't bother defining default for N_CATCH.
(UNKNOWN_STAB): Use internal_error.
(stab_to_sclass): Remove now-unnecessary aborts.
Remove #if 0'ed case N_BROWS. Add #ifdef N_OPT block.
* include/bits/c++config: Add _GLIBCPP_CONCEPT_CHECKS. Disable by
default.
(__GLIBCPP__): Bump from value of last release.
* include/bits/concept_check.h: Default to off, edit comments.
* src/stl-inst.cc: Use _GLIBCPP_CONCEPT_CHECKS.
* src/Makefile.am (AM_CXXFLAGS): Remove _GLIBCPP_NO_CONCEPT_CHECKS.
* src/Makefile.in: Regenerate.
* toplev.c (output_lang_identify): Delete.
(compile_file): Don't call ASM_IDENTIFY_GCC or ASM_IDENTIFY_LANGUAGE.
Don't generate gcc2_compiled. label. Don't emit a nop if profiling.
If IDENT_ASM_OP is defined, emit an .ident "GCC (GNU) <version>"
after calling ASM_FILE_END.
* dbxout.c (dbxout_init): Don't call ASM_IDENTIFY_GCC_AFTER_SOURCE.
Instead, unconditionally emit an N_OPT stab with string equal
to STABS_GCC_MARKER, which defaults to "gcc2_compiled."
* defaults.h: Don't provide default for ASM_IDENTIFY_LANGUAGE.
* config/dbxelf.h, config/freebsd.h, config/nextstep.h,
config/psos.h, config/ptx4.h, config/1750a/1750a.h,
config/alpha/alpha.h, config/alpha/elf.h, config/arc/arc.h,
config/arm/aof.h, config/arm/coff.h, config/arm/elf.h,
config/arm/linux-elf.h, config/avr/avr.h, config/d30v/d30v.h,
config/dsp16xx/dsp16xx.h, config/h8300/h8300.h,
config/i370/i370.h, config/i386/beos-elf.h,
config/i386/osf1elf.h, config/i386/osfrose.h,
config/ia64/sysv4.h, config/m68k/3b1.h, config/m68k/auxgas.h,
config/m68k/crds.h, config/m68k/hp320.h, config/m68k/m68kv4.h,
config/m68k/mot3300.h, config/m68k/news.h, config/m68k/sgs.h,
config/m68k/tower-as.h, config/mcore/mcore-elf.h,
config/mips/iris6.h, config/mips/osfrose.h,
config/mips/sni-svr4.h, config/pa/som.h, config/pdp11/pdp11.h,
config/sparc/sp64-elf.h:
Delete definitions of any or all of: ASM_IDENTIFY_GCC,
ASM_IDENTIFY_GCC_AFTER_SOURCE, and ASM_IDENTIFY_LANGUAGE.
* config/elfos.h, config/freebsd.h, config/linux.h,
config/alpha/elf.h, config/arm/linux-elf.h, config/i386/i386elf.h,
config/i386/ptx4-i.h, config/mips/gnu.h, config/mips/linux.h,
config/sparc/linux.h, config/sparc/linux64.h: Delete definitions
of ASM_FILE_START which merely emit a .version directive. Delete
definitions of ASM_FILE_END which merely emit an .ident directive.
* config/avr/avr.h, config/vax/vax.h: Delete definition of
ASM_IDENTIFY_GCC and move part of its logic into
ASM_FILE_START.
Jeffrey A Law [Mon, 16 Apr 2001 14:02:50 +0000 (14:02 +0000)]
install.texi (mips-mips-bsd): Update list of functions required to include memmove.
* install.texi (mips-mips-bsd): Update list of functions
required to include memmove.
* tm.texi (TARGET_MEM_FUNCTIONS): Update list of implicitly
used functions to include memmove.
* cp-tree.h (TYPE_PTRMEM_CLASS_TYPE): Improve documentation.
* mangle.c (write_pointer_to_member_type): Fix mangling of
pointers to cv-qualified member function types.
Jim Wilson [Sat, 14 Apr 2001 03:49:46 +0000 (03:49 +0000)]
Fix linux kernel -foptimize-sibling-calls miscompilation
Fix linux kernel -foptimize-sibling-calls miscompilation
* config/ia64/ia64.c (ia64_expand_epilogue): Emit alloc if sibcall_p.
(first_instruction): New static variable.
(rtx_needs_barrier): Return 1 for alloc.
(init_insn_group_barriers): Set first_instruction.
(rws_sum): Delete duplicate definition.
(group_barrier_needed_p): Return 0 when first_instruction true.
(safe_group_barrier_needed_p): Save and restore first_instruction
around group_barrier_needed_p call.
Mark Mitchell [Fri, 13 Apr 2001 21:16:42 +0000 (21:16 +0000)]
cp-tree.h (DELTA2_FROM_PTRMEMFUNC): Remove.
* cp-tree.h (DELTA2_FROM_PTRMEMFUNC): Remove.
(expand_ptremfunc_cst): Change prototype.
(delta2_from_ptrmemfunc): Remove.
* expr.c (cplus_expand_constant): Adjust call to
expand_ptrmemfunc_cst.
* typeck.c (build_ptrmemfunc1): Simplify.
(build_ptrmemfunc): Make sure that casting a PTRMEM_CST still
results in a constant.
(expand_ptrmemfunc_cst): Remove idx and delta2 parameters.
(delta2_from_ptrmemfunc): Remove.
(pfn_from_ptrmemfunc): Adjust call to expand_ptrmemfunc_cst.
Alan Modra [Fri, 13 Apr 2001 05:48:20 +0000 (05:48 +0000)]
pa.c (uint32_operand): Don't use long constant >= 2^32.
* pa.c (uint32_operand): Don't use long constant >= 2^32.
(emit_move_sequence): Use HOST_WIDE_INT constants. Don't worry
about 32->64 bit sign extension if 32 bit HOST_WIDE_INTs.
(compute_movstrsi_length): Make `align' unsigned to avoid warning.
(output_64bit_and): Use plain `int's for shift counts.
(output_64bit_ior): Likewise.
(function_arg_partial_nregs): Use unsigned vars to avoid warnings.
* pa.h (CONST_OK_FOR_LETTER_P): Use HOST_WIDE_INT constants for case
`N', and simplify.
Alan Modra [Fri, 13 Apr 2001 05:41:45 +0000 (05:41 +0000)]
config.guess: Add hppa64-linux support.
* config.guess: Add hppa64-linux support. Note for next import that
this is already in the master file.
* configure.in: Likewise. Accept `parisc' alias for `hppa'.
Alan Modra [Fri, 13 Apr 2001 05:27:47 +0000 (05:27 +0000)]
pa-gas.h: Delete file.
* pa-gas.h: Delete file.
* config.gcc: Match `parisc' as well as `hppa' for cpu_type=pa.
Add new targets hppa*64*-*-linux* and parisc*64*-*-linux*. Update
hppa*-*-linux*. For all pa targets, remove pa/gas.h from tm_file,
instead setting MASK_GAS | MASK_JUMP_IN_DELAY in target_cpu_default2.
Stan Shebs [Fri, 13 Apr 2001 01:42:39 +0000 (01:42 +0000)]
objc-act.c: Remove all code ifdefed with the never-used macro OBJC_INT_SELECTORS.
* objc/objc-act.c: Remove all code ifdefed with the never-used
macro OBJC_INT_SELECTORS.
* config/d30v/d30v.h: Remove commented-out ref to OBJC_INT_SELECTORS.
* tm.texi: Remove doc for OBJC_INT_SELECTORS.
Jason Merrill [Fri, 13 Apr 2001 00:49:43 +0000 (20:49 -0400)]
cp-tree.h (decl_namespace_list): New macro.
* cp-tree.h (decl_namespace_list): New macro.
(struct saved_scope): Add decl_ns_list.
* decl.c (mark_saved_scope): Mark it.
* decl2.c: Lose static decl_namespace_list.
(init_decl2): Don't save it.