* config.shared (TOLIBGCXX) [DOING_GPERF]: Delete.
(LIBS) [DOING_GPERF]: Make it just `-L../libstdc++ -lstdc++'.
Bring over from devo.
From-SVN: r17249
* Makefile.in (GTHREAD_FLAGS): New var.
(LIBGCC2_CFLAGS): Added $(GTHREAD_FLAGS).
(distclean): Remove gthr-default.h.
* configure.in: Accept dce as a thread package.
Check for thread.h and pthread.h.
Link gthr-default.h to appropriate thread file and set
gthread_flags.
(hppa1.1-*-hpux10*): If --enable-threads, use dce threads and
include multilib definitions from pa/t-dce-thr.
(sparc-*-solaris2*): Enable threads by default, if thread.h or
pthread.h is found, preferring posix threads over solaris ones.
* config/pa/t-dce-thr: New file.
* config/pa/t-pa: Removed multilibs.
* config/sparc/t-sol2: Ditto.
* gthr.h: New file.
* gthr-single.h: New file.
* gthr-posix.h: New file.
* gthr-solaris.h: New file.
* gthr-dce.h: New file.
* libgcc-thr.h: Removed.
* objc/thr-dce.c: New file copied from thr-decosf1.c.
* frame.c: Include gthr.h instead of libgcc-thr.h.
* libgcc2.c: Include gthr.h instead of libgcc-thr.h.
(eh_context_initialize): If __gthread_once fails, use static eh
context.
(eh_context_free): Call __gthread_key_dtor.
From-SVN: r17235
* cse.c (max_insn_uid): New variable.
(invalidate): Remove CYGNUS LOCAL patch.
(cse_around_loop): Use max_insn_uid.
(cse_main): Set max_insn_uid.
From-SVN: r17231
* abi64.h (LONG_MAX_SPEC): Check MIPS_ABI_DEFAULT and TARGET_DEFAULT,
and define __LONG_MAX__ appropriately. Add support for -mabi=X,
-mlong64, and -mgp{32,64} options.
* mips.c (mips_abi): Change type to int.
* mips.h (enum mips_abi_type): Delete.
(ABI_32, ABI_N32, ABI_64, ABI_EABI): Define as constants.
(mips_abi): Change type to int.
From-SVN: r17229
* flags.h, toplev.c, calls.c, alias.c: Remove flag_alias_check;
optimization is now always enabled.
* calls.c (expand_call): Recognize C++ operator new as malloc-like
function.
* alias.c (memrefs_conflict_p): Eliminate tests now done by
base_alias_check.
(*_dependence): Call canon_rtx before base_alias_check.
(init_alias_once): New function to precompute set of registers which
can hold Pmode function arguments.
* rtl.h: Declare init_alias_once.
* toplev.c (compile_file): Call init_alias_once.
From-SVN: r17227
* flags.h, toplev.c, calls.c, alias.c: Remove flag_alias_check;
optimization is now always enabled.
* calls.c (expand_call): Recognize C++ operator new as malloc-like
function.
* alias.c (memrefs_conflict_p): Eliminate tests now done by
base_alias_check.
(*_dependence): Call canon_rtx before base_alias_check.
(init_alias_once): New function to precompute set of registers which
can hold Pmode function arguments.
* rtl.h: Declare init_alias_once.
* toplev.c (compile_file): Call init_alias_once.
From-SVN: r17226
* tree.c (restore_tree_status): Do not dereference a null pointer.
Brought over from devo. SHould fix 921215-1.c compilation failures.
From-SVN: r17225
* genattrtab.c (main): Check HAVE_{G,S}ETRLIMIT in addition to
RLIMIT_STACK. This maintains consistency with the recent, similar
patch to cccp.c and toplev.c.
From-SVN: r17218
* genattrtab.c (expand_units): For large nr opclasses, expand
function_units_used with ORX to prevent blowups. Tag with FFS.
(num_unit_opclasses): New variable.
(gen_unit): Update it.
(enum operator): Add ORX_OP.
(operate_exp): Treat ORX as or, except don't expand across an if.
Reuse number rtx's after operating on them.
(check_attr_value): Accept IOR, AND, & FFS.
(write_test_expr): Transmute `in_comparison' to `flags'. Allow
for attribute value caching. Handle CONST_STRING, IF_THEN_ELSE.
(write_expr_attr_cache, write_toplevel_expr): New functions.
(write_attr_get): Handle FFS-tagged expressions.
(make_canonical): Don't expand const attributes.
(convert_const_symbol_ref): Dike out.
(evaluate_eq_attr): Handle SYMBOL_REF.
(main): Don't emit get_attr_foo for const attributes.
* alpha.c (override_options): Reinstate PROCESSOR_EV6.
(alpha_adjust_cost): Add EV6 tuning; streamline EV5 tests.
* alpha.h (REGISTER_MOVE_COST): Increase ftoi/itof cost slightly.
* alpha.md: Redo all of the scheduling, adding EV6 support, and
combining function units where possible.
(attr "type"): Split loads, stores, cmov into int/fp. Combine
multiplies and divides. Add EV6 sqrt, ftoi, itof.
(attr "opsize"): New attribute.
(sqrtsf2-1, sqrtdf2-1): Provide proper TP_INSN patterns.
(movsf2-[12], movdf2-[12]): Provide CIX varients; don't allow CIX
to control register allocation.
(movsi2-1, movdi2-1): Likewise.
From-SVN: r17212
* alpha.h (CPP_PREDEFINES, LIB_SPEC, LINK_SPEC, STARTFILE_SPEC,
MD_STARTFILE_PREFIX, ASM_FILE_START, ASM_SPEC, ASM_FINAL_SPEC):
Move OSF/1 specific defines out.
* alpha/elf.h (TARGET_VERSION, CPP_PREDEFINES, DEFAULT_VTABLE_THUNKS):
Move Linux specific defines out.
(LINK_SPEC): Genericize.
(ASM_FILE_START): Emit .arch if using more than the base insn set.
(ASM_OUTPUT_SOURCE_LINE): Remove; identical to alpha.h version.
(SDB_DEBUGGING_INFO): Remove; gas can't handle it.
(HANDLE_SYSV_PRAGMA): Define.
* alpha/osf.h: New file.
* alpha/linux.h: Split. Retain file-format independant defines.
Import Linux bits from elf.h.
(CPP_PREDEFINES): Take a file-format specific SUB_CPP_PREDEFINES
(FUNCTION_PROFILER): _mcount takes its address in $28.
(MD_EXEC_PREFIX, MD_STARTFILE_PREFIX): Remove undef.
* alpha/linux-ecoff.h: New file.
* alpha/linux-elf.h: New file.
* alpha/vms.h (LIB_SPEC, LINK_SPEC): Copy from osf.h.
* alpha/win-nt.h (TARGET_DEFAULT): Define.
* configure.in (alpha*-*-osf*, alpha*-*-linux*) [tm_file]:
Add new headers as appropriate.
* configure.in (alpha*): Enable Haifa by default.
(*-*-winnt3*): Change to winnt*, since we're not v3 specific.
* configure: Rebuild.
From-SVN: r17211
* haifa-sched.c (create_reg_dead_note): Detect and handle another
case where we kill more regs after sched than were killed before
sched.
* sched.c (create_reg_dead_note): Similarly.
From-SVN: r17183
* haifa-sched.c (create_reg_dead_note): Detect and handle another
case where we kill more regs after sched than were killed before
sched.
* sched.c (create_reg_dead_note): Similarly.
[[Split portion of a mixed commit.]]
From-SVN: r17182.2
* i386/cygwin32.h (NO_IMPLICIT_EXTERN_C): Don't assume anything
about system headers.
(LIB_SPEC): Add -ladvapi32 -lshell32 to be consistent with mingw32
and also to resolve symbols in prefix.c.
* i386/xm-cygwin32.h (HAVE_BCOPY): Define. This avoids a conflict
between gansidecl.h and newlib's _ansi.h when building libgcc2.a,
when the definitions in auto-config.h is not visible.
(HAVE_BZERO): Likewise.
(HAVE_BCMP): Likewise.
(HAVE_RINDEX): Likewise.
(HAVE_INDEX): Likewise.
From-SVN: r17177
* c-pragma.c (handle_pragma_token): Generate warning messages
about unknown pragmas if warn_unknown_pragmas is set.
* c-decl.c (c_decode_option): Parse -Wunknown-pragmas command
line option to set variable: warn_unknown_pragmas.
From-SVN: r17168
L
* Makefile.in (FPBIT_FUNCS, DPBIT_FUNCS): Define.
(libgcc2.a): Depend on $(DPBIT) and $(FPBIT). Add rules to
generate more fine grained floating point emulation libraries.
* config/fp-bit.c: Add protecting #ifdef to all functions so
that they can be compiled separately. If !FINE_GRAINED_LIBRARIES,
then compile all suitable functions.
(pack_d, unpack_d, fpcmp_parts): Add declarations, define with two
underscores to avoid namespace pollution.
* t-mn10200 (LIB2FUNCS_EXTRA): Remove fp-bit.c
(FPBIT): Define.
* t-mn10300 (LIB2FUNCS_EXTRA): Remove fp-bit.c and dp-bit.c
(FPBIT): Define.
(DPBIT): Define.
From-SVN: r17165
e
* Makefile.in (FPBIT_FUNCS, DPBIT_FUNCS): Define.
(libgcc2.a): Depend on $(DPBIT) and $(FPBIT). Add rules to
generate more fine grained floating point emulation libraries.
* config/fp-bit.c: Add protecting #ifdef to all functions so
that they can be compiled separately. If !FINE_GRAINED_LIBRARIES,
then compile all suitable functions.
(pack_d, unpack_d, fpcmp_parts): Add declarations, define with two
underscores to avoid namespace pollution.
* t-mn10200 (LIB2FUNCS_EXTRA): Remove fp-bit.c
(FPBIT): Define.
* t-mn10300 (LIB2FUNCS_EXTRA): Remove fp-bit.c and dp-bit.c
(FPBIT): Define.
(DPBIT): Define.
From-SVN: r17164
* Makefile.in (FPBIT_FUNCS, DPBIT_FUNCS): Define.
(libgcc2.a): Depend on $(DPBIT) and $(FPBIT). Add rules to
generate more fine grained floating point emulation libraries.
* config/fp-bit.c: Add protecting #ifdef to all functions so
that they can be compiled separately. If !FINE_GRAINED_LIBRARIES,
then compile all suitable functions.
(pack_d, unpack_d, fpcmp_parts): Add declarations, define with two
underscores to avoid namespace pollution.
* t-mn10200 (LIB2FUNCS_EXTRA): Remove fp-bit.c
(FPBIT): Define.
* t-mn10300 (LIB2FUNCS_EXTRA): Remove fp-bit.c and dp-bit.c
(FPBIT): Define.
(DPBIT): Define.
From-SVN: r17163
* objc/Make-lang.in: Create runtime-info.h and libobjc_entry.o in
the build directory.
(libobjc.a): Update dependency list.
(libobjc.dll): Likewise. Use libobjc_entry.o from the build
directory.
(objc/sendmsg.o): Add -Iobjc to find runtime-info.h.
(objc.mostlyclean): Remove runtime-info.h.
From-SVN: r17143