* aclocal.m4 (GCC_HEADER_STRING): New macro to detect if it is
safe to include both string.h and strings.h together.
(GCC_NEED_DECLARATION): Test STRING_WITH_STRINGS when deciding
which headers to search for function declarations. Continue to
prefer string.h over strings.h when both are not acceptable.
* acconfig.h (STRING_WITH_STRINGS): Add stub.
* configure.in: Call GCC_HEADER_STRING.
* system.h: Test STRING_WITH_STRINGS when deciding which headers
to include. Continue to prefer string.h over strings.h when both
are not acceptable.
From-SVN: r22204
* configure.in: Use xm-netbsd.h as the NetBSD xm file (not xm-siglist).
Accept arm32 as arm, m68k4k as m68k, mipsle as mips-dec, and any
manufacturer id for ns32k.
* configure: Regenerated.
* config/netbsd.h: When using ASM_WEAKEN_LABEL, make it global too.
* config/t-netbsd: Don't compile libgcc1-test as the fns are in libc.
* config/i386/netbsd.h: Undefine DWARF2_UNWIND_INFO, not define as 0.
* config/m68k/netbsd.h: Same.
* config/ns32k/netbsd.h: Same.
* config/sparc/netbsd.h: Same.
From-SVN: r21480
Mon Jul 20 16:16:38 1998 Dave Brolley <brolley@cygnus.com>
* configure.in (enable_c_mbchar): New configure option.
(extra_cpp_objs): Always available now.
* cexp.y (mbchar.h): #include it.
(yylex): Handle Multibyte characters in character literals.
* cccp.c (mbchar.h): #include it.
(main): Set character set based on LANG environment variable.
(rescan): Handle multibyte characters in comments.
(skip_if_group): See above.
(validate_else): See above.
(skip_to_end_of_comment): See above.
(macarg1): See above.
(discard_comments): See above.
(rescan): Handle multibyte characters in string and character literals.
(collect_expansion): See above.
(skip_quoted_string): See above.
(macroexpand): See above.
(macarg1): See above.
(discard_comments): See above.
(change_newlines): See above.
* c-lex.c (mbchar.h): #include it.
(GET_ENVIRONMENT): New macro.
(init_lex): Set character set based on LANG environment variable.
(yylex): Handle multibyte characters in character literals.
(yylex): Handle multibyte characters in string literals.
* Makefile.in (mbchar.o): New target.
(cccp$(exeext)): @extra_cpp_objs@ is always available.
(cppmain$(exeext)): @extra_cpp_objs@ is always available.
* mbchar.[ch]: New files for multibyte character handling.
From-SVN: r21303
* config/i386/rtemself.h: Updated to keep in sync with
config/i386/linux.h.
* configure.in: Added sh-rtemself.
* configure: Rebuilt.
* config/sh/rtems.h: Removed -D__ELF__ since it is now COFF.
* config/sh/rtemself.h: New file.
* config/rs6000/rtems.h: Defined STARTFILE_DEFAULT_SPEC.
Co-Authored-By: Ralf Corsepius <corsepiu@faw.uni-ulm.de>
From-SVN: r21025
* configure.in: Check if the assembler supports ".balign" and
".p2align" and define HAVE_GAS_BALIGN_AND_P2ALIGN appropriately.
* acconfig.h (HAVE_GAS_BALIGN_AND_P2ALIGN): New tag.
* i386/gas.h (ASM_OUTPUT_ALIGN): If the assembler has support for
".balign" then use it.
From-SVN: r21023
* install.texi (sco3.2v5): Document new --with-gnu-as flag.
* config/i386/sco5.h (JUMP_TABLES_IN_TEXT_SECTION): Defined as
in other targets.
(USE_GAS): Conditionalize away native assembler usage.
* config/i386/sco5gas.h: New file.
* config/i386/t-sco5gas: New file.
* configure.in (ix86-sco3.2v5*): Use new files if --with-gnu-as
From-SVN: r20890
Add the ability to GCC_NEED_DECLARATION{S} for looking in arbitrary
header files when searching for function declarations. Use this
functionality to check for getrlimit/setrlimit.
* aclocal.m4 (GCC_NEED_DECLARATION): Accept an optional second
argument, which is typically preprocessor code used to draw in
additional header files when looking for a function declaration.
(GCC_NEED_DECLARATIONS): Likewise.
* configure.in (GCC_NEED_DECLARATIONS): Add checks for getrlimit
and setrlimit, search for them in sys/resource.h.
* acconfig.h: Add stubs for NEED_DECLARATION_GETRLIMIT and
NEED_DECLARATION_SETRLIMIT.
* system.h: Prototype getrlimit/setrlimit if necessary.
From-SVN: r20831
* configure.in (gettimeofday): Check for its existance.
* config.in (HAVE_GETTIMEOFDAY): Define.
* configure: Rebuilt.
Will be needed for mkstemp shortly.
From-SVN: r20743
d
egcs/ChangeLog:
1998-06-26 Manfred Hollstein <manfred@s-direktnet.de>
* Makefile.in (BASE_FLAGS_TO_PASS): Add gcc_version_trigger.
(Makefile): Depend on $(gcc_version_trigger).
* configure (gcc_version): Change default initializer to empty
string.
(gcc_version_trigger): New variable; pass this variable down
to subdir configures to enable them checking gcc's version
themselves. Emit make macros for both gcc_version vars.
(topsrcdir): Initialize reliably.
(recursion line): Remove --with-gcc-version=${gcc_version}.
egcs/gcc/ChangeLog:
1998-06-26 Manfred Hollstein <manfred@s-direktnet.de>
* Makefile.in (gcc_version, gcc_version_trigger): New macros.
(version): Initialize from $(gcc_version).
* configure.in (version): Rename to gcc_version.
(gcc_version_trigger): New variable; call AC_SUBST for it and
emit it into the generated config.status.
* configure: Regenerate.
egcs/libf2c/ChangeLog.egcs:
1998-06-26 Manfred Hollstein <manfred@s-direktnet.de>
* Makefile.in (gcc_version_trigger): Add new macro.
(config.status): Add dependency upon $(gcc_version_trigger).
* configure.in (gcc_version_trigger): New variable; initialize
using value from toplevel configure; add AC_SUBST for it.
(gcc_version): Change initialization to use this new variable.
* configure: Regenerate.
egcs/libio/ChangeLog:
1998-06-26 Manfred Hollstein <manfred@s-direktnet.de>
* config.shared (FLAGS_TO_PASS): Add gcc_version_trigger.
(Makefile): Add dependency upon $(gcc_version_trigger).
From-SVN: r20736
d
egcs/ChangeLog:
1998-06-24 Manfred Hollstein <manfred@s-direktnet.de>
* configure (enable_version_specific_runtime_libs): Implement new flag
--enable-version-specific-runtime-libs which installs C++ runtime stuff in
$(libsubdir); emit definition in each generated Makefile.
(gxx_include_dir): Initialize depending on $enable_version_specific_runtime_libs.
egcs/gcc/ChangeLog:
1998-06-24 Manfred Hollstein <manfred@s-direktnet.de>
* configure.in (gxx_include_dir): Initialize default value depending on
new flag --enable-version-specific-runtime-libs; remove superfluous default
initialization afterwards.
* configure: Regenerate.
egcs/libio/ChangeLog:
1998-06-24 Manfred Hollstein <manfred@s-direktnet.de>
* Makefile.in (install): Install _G_config.h depending on new flag
--enable-version-specific-runtime-libs.
* config/linux.mt (gxx_include_dir): Remove definition here as we use
gcc's default anyway.
egcs/libstdc++/ChangeLog:
1998-06-24 Manfred Hollstein <manfred@s-direktnet.de>
* Makefile.in (INSTALLDIR): Add comment to document the fact,
this macro will be properly initialized at make's runtime.
(install): Add initialization of INSTALLDIR depending on $(libsubdir)
and ${enable_version_specific_runtime_libs}; use $${INSTALLDIR} shell variable
instead of the $(INSTALLDIR) make macro.
From-SVN: r20694
Wed Jun 10 13:41:23 1998 Dave Brolley <brolley@cygnus.com>
* cppmain.c (fatal): New function.
* configure.in (cpp_main): New configuration variable.
* configure: Regenerated.
* Makefile.in (CCCP): Use a configuration variable to select base for cccp.
(cppmain$(exeext)): Add @extra_cpp_objs@.
From-SVN: r20416
Thu Jun 4 14:35:27 1998 David Edelsohn <edelsohn@mhpcc.edu>
* tree.c (get_inner_array_type): New function.
* tree.h (get_inner_array_type): Prototype.
* expr.h (STACK_SAVEAREA_MODE): New macro.
* expr.c (expand_builtin_setjmp): Initialize sa_mode using
STACK_SAVEAREA_MODE.
(expand_builtin_longjmp): Likewise.
* explow.c (emit_stack_save): Likewise.
(allocate_dynamic_stack_space): Use Pmode not insn_operand_mode.
* rs6000/aix41.h (ASM_CPU_SPEC): Define relative to ASM_DEFAULT_SPEC.
(CPP_CPU_SPEC): Define relative to CPU_DEFAULT_SPEC.
* rs6000/aix43.h: New file.
* rs6000/t-aix43: New file.
* rs6000/x-aix41: New file.
* rs6000/x-aix43: New file.
* configure.in (rs6000-ibm-aix*): Use them.
* rs6000/powerpc.h: Delete.
* rs6000/sysv4.h: Move necessary powerpc.h definitions to here.
* rs6000/netware.h: and here.
* rs6000/win-nt.h: and here.
* rs6000/rs6000.c (processor_target_table, 620): Do not affect
MASK_POWERPC64.
(rs6000_override_options): Ignore flag_pic for AIX.
(rs6000_immed_double_const): Delete.
(u_short_cint_operand): Don't assume 32-bit CONST_INT.
(reg_or_u_short_operand): Don't assume 32-bit CONST_INT.
(num_insns_constant): mask64_operand() is 2 insns.
(logical_operand): Don't assume 32-bit CONST_INT.
(non_logical_cint_operand): Don't assume 32-bit CONST_INT.
(easy_fp_constant): Any CONST_DOUBLE_HIGH is okay for 64-bit.
(mask_constant): HOST_WIDE_INT parameter.
(non_and_cint_operand): Delete.
(mask64_operand): New function.
(and64_operand): New function.
(function_arg_advance): DImode arguments do not need special
alignment when 64-bit.
(function_arg): Likewise.
(setup_incoming_varargs): Reverse reg_size assignment.
(print_operand): HOST_WIDE_INT second parameter.
(print_operand, 'B'): New case.
(print_operand, 'M'): Fix typo in lossage string.
(print_operandm 'S'): New case.
(rs6000_stack_info): Reverse reg_size assignment. Use total_raw_size
to compute AIX push_p. Use reg_size to compute {cr,lr}_save_offset.
(rs6000_output_load_toc_table): Reverse init_ptr assignment. Use
TARGET_64BIT not TARGET_POWERPC64. Convert fprintf to fputs.
Load GOT highpart, don't add it. Add lowpart with {cal|la}.
(rs6000_allocate_stack_space): Use {cal|la}.
(output_epilog): Use {cal|la}
(output_function_profiler): Add call glue to mcount call.
Load GOT highpart, don't add it. Add lowpart with {cal|la}.
* rs6000/rs6000.h (TARGET_SWITCHES): Add powerpc64.
(STACK_BOUNDARY): Depend on TARGET_32BIT.
(ADJUST_FIELD_ALIGN): Calculate array alignment using innermost type.
(CONST_OK_FOR_LETTER_P): Don't assume 32-bit CONST_INT.
(EXTRA_CONSTRAINTS): Remove NT 'S' and 'T'. Replace 'S' with
64-bit mask operand.
(RS6000_SAVE_TOC): Depend on TARGET_32BIT.
(STACK_SAVEAREA_MODE): New macro.
(LEGITIMATE_CONSTANT_P): DImode okay for 64bit.
(LEGITIMIZE_RELOAD_ADDRESS): New macro.
(RTX_COSTS, AND/IOR/XOR): Reflect current machine description.
(ASM_FILE_START): Emit 64-bit ABI directive.
(ASM_DECLARE_FUNCTION_NAME): Align CSECT on doubleword in 64-bit mode.
(ASM_OUTPUT_SPECIAL_POOL_ENTRY): DImode okay for 64-bit.
(PREDICATE_CODES): Add "and64_operand" and "mask64_operand".
Delete "non_and_cint_operand". "input_operand" includes CONST_DOUBLE.
* rs6000/rs6000.md (iorsi3, xorsi3): Use HOST_WIDE_INT for mask.
Restore define_splits.
(floatsidf2, floatunssidf2): Remove !TARGET_POWERPC64 final constraint.
(floatsidf2_internal, floatunssidf2_internal2): Likewise.
Do not specify base register operand mode.
(floatsidf2_loadaddr): Do not specify base register operand mode.
(floatsidf2_store1, floatsidf2_store2): Operand 1 must be base
register; do not specify mode. Remove !TARGET_POWERPC64 final
constraint.
(floatsidf2_load): Do not specify base register operand mode. Remove
!TARGET_POWERPC64 final constraint.
(fix_truncdfsi2_internal, fix_truncdfsi2_{store,load}): Do not specify
base register operand mode.
(adddi3): Split large constants early.
(absdi3): Shift by 63, not 31.
(*mulsidi3_ppc64): New pattern.
(rotldi3): Add masking combiner patterns.
(anddi3): Add rldic{r,l} masking. Remove split of large constants
because PPC insns zero-extend.
(iordi3, xordi3): Split large constants early.
(movsi matcher): Remove S and T constraints.
(movsf const_double): create SImode constant from TARGET_DOUBLE.
(movdf_hardfloat32): Add default abort() case.
(movdf easy_fp_const): create DImode constant from TARGET_DOUBLE.
(movdi): Remove 64-bit constant generator. Try to convert
CONST_DOUBLE to CONST_INT. Handle TOC memory constants.
(movdi_32): Add default abort() case.
(movdi_64): Add numerous ways to split 64-bit constants.
Make catch-all define_split more optimal and never FAIL.
(movti_ppc64): Add default abort() case.
(allocate_stack): Remove operand modes. Use Pmode.
(restore_stack_block): Remove operand modes. Generate Pmode
temporary.
(save_stack_nonlocal, restore_stack_nonlocal): Generate Pmode
temporary. Save area is double Pmode.
(call_indirect_aix64, call_value_indirect_aix64): New patterns.
(call, call_value): Do not specify address operand mode. Choose
appropriate AIX ABI.
(*call_local64, *ret_call_local64): New patterns.
(*call_nonlocal_aix64, *ret_call_nonlocal_aix64): New patterns.
(*ret_call_nonlocal_aix32): Use call_value_indirect for REG.
(compare): Materialize DImode truthvalues.
From-SVN: r20229
* configure.in: Set float_format to m68k for all m68k targets that
do not override LONG_DOUBLE_TYPE_SIZE.
* config/float-m68k.h: New file.
From-SVN: r20205
* acconfig.h (HAVE_GAS_MAX_SKIP_P2ALIGN): New tag.
* configure.in: Check for it.
* i386/gas.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Use it.
* final.c (uid_align, uid_shuid, label_align): Make static.
(label_align): Change type to struct label_alignment pointer.
(LABEL_TO_ALIGNMENT, shorten_branches): Update due to type change.
(LABEL_TO_MAX_SKIP): Define.
(LABEL_ALIGN_MAX_SKIP, LOOP_ALIGN_MAX_SKIP,
LABEL_ALIGN_AFTER_BARRIER_MAX_SKIP): Provide defaults.
(shorten_branches): Record the maximum bytes to skip when
aligning a label.
(final_scan_insn): Use the maximum bytes to skip when aligning a label
if ASM_OUTPUT_MAX_SKIP_ALIGN is available.
* i386.h (LOOP_ALIGN_MAX_SKIP,
LABEL_ALIGN_AFTER_BARRIER_MAX_SKIP): Define.
* i386.c (override_options): i386_align_jumps and i386_align_loops
default to 4 if ASM_OUTPUT_MAX_SKIP_ALIGN is available.
* invoke.texi: Document new i386 align-loops and align-jumps behavior.
From-SVN: r19933
Thu May 21 11:51:15 1998 Dave Brolley <brolley@cygnus.com>
* configure.in (extra_c_objs): add prefix.o.
(extra_cxx_objs): extra objects for C++ with cpplib.
* configure: Regenerate.
* c-tree.h: (get_directive_line): Different prototype for cpplib.
(GET_DIRECTIVE_LINE): Macro wrapper for get_directive_line.
* c-lex.h: (get_directive_line): Not needed here for cpplib.
* c-lex.c: (yy_cur,yy_lim,yy_get_token): Move to c-common.c.
(GET_DIRECTIVE_LINE): Move to c-common.c and rename to get_directive_line.
* c-common.c (parse_in,parse_options,cpp_token): Declare for cpplib.
(yy_cur,yy_lim,yy_get_token,get_directive,line): Moved here from c-lex.c
From-SVN: r19926
* Makefile.in (TARGET_TOOLPREFIX): No longer define.
(AR_FOR_TARGET, RANLIB_FOR_TARGET): Define to use versions in
the build tree if they exist.
(AR, AR_FLAGS, OLDAR, OLDAR_FLAGS, RANLIB, RANLIB_TEST): Update
appropriately.
(objdir): Let configure substitute value.
(FLOAT_H): Let configure select a pre-built version from the
config subdir.
* build-make (INSTALL_TARGET, ALL): Disable, no longer needed.
* configure.in: Substitute for objdir.
* cp/Makefile.in (program_transform_name, objdir): Define.
From-SVN: r19828
* Makefile.in (build_canonical, host_canonical): Let configure
substitute values for these variables.
* configure.in: Substitute for build_canonical, host_canonical
and target_subdir in generated Makefile.
From-SVN: r19827
* alpha/osf.h (HAVE_STAMP_H): Define.
* alpha.c: Use it.
* alpha/netbsd.h, alpha/netbsd-elf.h: New files.
* configure.in (alpha*-*-netbsd*): New.
Based on patches from Paul H. Anderson <pha@pdq.com>.
* configure.in (alpha*-*-linux-*): Kill xm_defines.
(alpha*-*-linux-gnulibc1*) [fixincludes]: Define.
* alpha/xm-linux.h: Remove file.
From-SVN: r19809