Adam Megacz [Thu, 7 Feb 2002 03:56:40 +0000 (03:56 +0000)]
gc.h: (GC_CreateThread) This function is now exposed on all Win32 platforms.
2002-02-06 Adam Megacz <adam@xwt.org>
* boehm-gc/include/gc.h: (GC_CreateThread) This function is
now exposed on all Win32 platforms.
* boehm-gc/win32_threads.c: (GC_CreateThread) This now
compiles on Win32; it invokes CreateThread() if GC is built
as a DLL; otherwise it registers the thread.
* boehm-gc/misc.c (GC_init): Initialize GC_allocate_ml in case
libgcjgc was not built as a DLL.
Toon Moene [Wed, 6 Feb 2002 21:49:42 +0000 (22:49 +0100)]
PR fortran/4730 fortran/5473
2002-02-06 Toon Moene <toon@moene.indiv.nluug.nl>
PR fortran/4730 fortran/5473
* com.c (ffecom_expr_): Deal with %VAL constructs.
* intrin.c (ffeintrin_check_): Handle 'N' constraints for intrinsics,
to indicate "no larger than default kind" integers and logicals.
* intrin.def: Use 'N' constraints in table of intrinsics.
* intdoc.c: Document this constraint.
* intdoc.texi: Regenerated.
Jason Merrill [Wed, 6 Feb 2002 20:40:18 +0000 (15:40 -0500)]
c-decl.c (finish_function): Warn about a non-void function with no return statement and no abnormal exit.
* c-decl.c (finish_function): Warn about a non-void function with
no return statement and no abnormal exit.
(current_function_returns_abnormally): New variable.
(start_function): Clear it.
(struct c_language_function): Add returns_abnormally.
(push_c_function_context): Save it.
(pop_c_function_context): Restore it.
(builtin_function): Set TREE_THIS_VOLATILE on return fns.
(grokdeclarator): Set C_FUNCTION_IMPLICIT_INT on functions without
an explicit return type.
* c-tree.h: Declare current_function_returns_abnormally.
(C_FUNCTION_IMPLICIT_INT): New macro.
* c-typeck.c (build_function_call): Set it.
(c_expand_return): Set current_function_returns_value even if the
value is erroneous.
Loren J. Rittle [Wed, 6 Feb 2002 17:31:43 +0000 (17:31 +0000)]
acinclude.m4: Add C++ linkage check for strtof.
* acinclude.m4: Add C++ linkage check for strtof.
* aclocal.m4: Rebuilt.
* config.h.in: Rebuilt.
* configure: Rebuilt.
* config/locale/c_locale_generic.cc: Conditionally include
<ieeefp.h>. Improve handling and error checking of float
and long double input for non-C99 configurations.
Paolo Carlini [Wed, 6 Feb 2002 12:13:00 +0000 (13:13 +0100)]
locale_facets.tcc (money_get::do_get(string)): In case money_base::symbol deal properly with multi-char sign for patterns...
2002-02-06 Paolo Carlini <pcarlini@unitus.it>
* include/bits/locale_facets.tcc (money_get::do_get(string)):
In case money_base::symbol deal properly with multi-char sign
for patterns {X,Y,Z,symbol} and {X,Y,symbol,none}.
* testsuite/22_locale/money_get_members_char.cc: Add test07.
* testsuite/22_locale/money_get_members_wchar_t.cc: Add test07.
Implement using "base addresses" in insn operands as default.
* config/mmix/mmix.c (mmix_conditional_register_usage): if
-mabi=gnu, modify fixed_regs to fit the GNU ABI.
(mmix_extra_constraint): Use 'R' to indicate that GETA should be
used to read the rtx value.
(mmix_target_asm_function_epilogue): Fix spacing.
(mmix_constant_address_p): Handle TARGET_BASE_ADDRESSES.
(mmix_legitimate_address): Ditto.
(mmix_encode_section_info): Set SYMBOL_REF_FLAG on rtx:es that
should be loaded with a GETA insn. Don't allocate needless extra
char for nul termination and fix misleading comment.
(mmix_print_operand_address): Handle constants if
TARGET_BASE_ADDRESSES.
(mmix_output_register_setting): Use base addressing if
TARGET_BASE_ADDRESSES and the number of insns is 3.
* config/mmix/t-mmix (MULTILIB_EXTRA_OPTS): New.
* config/mmix/mmix.md ("movdi"): Change the alternative with GETA
to use R as constraint, add LDA to match s.
* config/mmix/mmix.h (TARGET_BASE_ADDRESSES): New.
(TARGET_DEFAULT): Add TARGET_MASK_BASE_ADDRESSES.
(TARGET_SWITCHES): Add -mbase-addresses, -mno-base-addresses.
(FIXED_REGISTERS): Make registers $231..$246 fixed by default.
(MMIX_MMIXWARE_ABI_REG_ALLOC_ORDER): Move $231..$246 last, in
order with other fixed registers.
(MMIX_GNU_ABI_REG_ALLOC_ORDER): Put forward $231, in order with
other parameter/call-clobbered registers.
* doc/invoke.texi (Option Summary) <MMIX Options>: Add
-mbase-addresses, -mno-base-addresses.
(MMIX Options): Ditto.
* config/mips/crti.asm: Add changes for mips16. mips16 uses
register 7 as RA instead of $31.
* config/mips/crtn.asm: Ditto.
* config/mips/mips.c (mips_move_2words): Add case for
TARGET_MIPS16 when HOST_BITS_PER_WIDE_INT >= 64.
(compute_frame_size): Fix typo.
(save_restore_insns): Ditto. Make documentation about using
register $7 as return register more precise.
(mips_expand_epilogue): Fix comment. Add code to work around not
being able to add to the stack pointer directly.
* config/mips/mips.h (EH_RETURN_DATA_REGNO): Change register number
to 2 for TARGET_MIPS16 as we need 6 and 7 as clobbers in the
epilogue.
Alexandre Oliva [Tue, 5 Feb 2002 18:01:51 +0000 (18:01 +0000)]
class.c: Include target.h.
* class.c: Include target.h.
(check_bitfield_decl): Disregard EMPTY_FIELD_BOUNDARY,
BITFIELDS_NBYTES_LIMITED and PCC_BITFIELD_TYPE_MATTERS for MS
bit-field layout.
* Make-lang.in: Adjust deps.
Paolo Carlini [Tue, 5 Feb 2002 11:35:48 +0000 (12:35 +0100)]
locale_facets.tcc (money_get::do_get(string)): First construct a tentative returned string...
2002-02-05 Paolo Carlini <pcarlini@unitus.it>
* include/bits/locale_facets.tcc (money_get::do_get(string)):
First construct a tentative returned string, then, only if the
parsing succeeds, copy it into the string passed by reference.
* testsuite/22_locale/money_get_members_char.cc: Add test06.
* testsuite/22_locale/money_get_members_wchar_t.cc: Add test06.
Adam Megacz [Tue, 5 Feb 2002 02:08:16 +0000 (02:08 +0000)]
win32.cc: Created it.
2002-02-04 Adam Megacz <adam@xwt.org>
* win32.cc: Created it.
configure.in: Added PLATFORM_SPECIFIC_SOURCES,
which is set to posix.cc or win32.cc.
Makefile.am: Updated it to use $(PLATFORM_SPECIFIC_SOURCES).
Jakub Jelinek [Mon, 4 Feb 2002 22:05:15 +0000 (23:05 +0100)]
PR c/4475, c++/3780:
* c-common.def (SWITCH_STMT): Add SWITCH_TYPE operand.
* c-common.h (SWITCH_TYPE): Define.
* c-typeck.c (c_start_case): Set SWITCH_TYPE.
* stmt.c (all_cases_count): Set lastval to thisval at end of loop.
Rename spareness variable to sparseness.
(expand_end_case_type): Renamed from expand_end_case, use orig_type
if non-NULL instead of TREE_TYPE (orig_index).
* tree.h (expand_end_case_type): Renamed from expand_end_case.
(expand_end_case): Define using expand_end_case_type.
* c-semantics.c (genrtl_switch_stmt): Pass SWITCH_TYPE
to expand_end_case_type.
* doc/c-tree.texi (SWITCH_STMT): Document SWITCH_TYPE.
* semantics.c (begin_switch_stmt): Clear SWITCH_TYPE.
(finish_switch_cond): Set SWITCH_TYPE.
* gcc.dg/Wswitch.c: Fix typos. Don't return unconditionally
before all tests. Move warning one line above to match where it
C frontend emits.
* gcc.dg/Wswitch-2.c: New test.
* g++.dg/warn/Wswitch-1.C: New test.
* g++.dg/warn/Wswitch-2.C: New test.
config/s390/s390.c (s390_secondary_input_reload_class,
s390_plus_operand, s390_expand_plus_operand): New functions.
(struct s390_address): New member 'pointer'.
(s390_decompose_address): Compute it.
(legitimate_la_operand_p): Use it.
(legitimize_la_operand): New function.
(movti, movdi, movdf splitters): Call it.
Ben Elliston [Mon, 4 Feb 2002 05:00:25 +0000 (05:00 +0000)]
gcc.exp (gcc_init): Check that the need_status_wrapper target_info attribute != 0...
* lib/gcc.exp (gcc_init): Check that the need_status_wrapper
target_info attribute != 0, in addition to the empty string.
(gcc_target_compile): Likewise.
gthr-win32.h: Protect against conflicting typedef for BOOL in windows headers and libobjc headers.
* gthr-win32.h: Protect against conflicting typedef for BOOL in windows headers
and libobjc headers.
* gthr-win32.h (__mingwthr_key_dtor): Use extern "C" linkage for C++.
(_mingw.h): Remove duplicate include.
Jason Thorpe [Sun, 3 Feb 2002 20:53:44 +0000 (20:53 +0000)]
config.gcc: Set cpu_type to m68k for 68010, as well.
* config.gcc: Set cpu_type to m68k for 68010, as well.
(m68010-*-netbsdelf*): New...
(m68k*-*-netbsdelf*): ...targets.
* config/m68k/netbsd-elf.h: New file.
* class.c (add_field): Mark static fields external.
(build_class_ref): Remove redundant set.
* parse.y (java_expand_classes): Mark static fields of classes
to be compiled as local.
* jcf-parse.c (parse_class_file): Likewise.
H.J. Lu [Sun, 3 Feb 2002 04:00:36 +0000 (04:00 +0000)]
cp-demangle.c (cp_demangle_type): Do not protect with IN_LIBGCC2.
2002-02-02 H.J. Lu (hjl@gnu.org)
* cp-demangle.c (cp_demangle_type): Do not protect with
IN_LIBGCC2.
(cplus_demangle_v3_all): New.
(cplus_demangle_v3): Call cplus_demangle_v3_all.
(cplus_demangle_v3_type): Call cplus_demangle_v3_all.
* cplus-dem.c (cplus_demangle_v3_p): New function pointer.
Initialized to cplus_demangle_v3.
(cplus_demangle_with_style): Call cplus_demangle_v3_p instead
of cplus_demangle_v3.
(main): Set cplus_demangle_v3_p to cplus_demangle_v3_type for
command line symbol.
* testsuite/regress-demangle: Pass the mangled name at the
command line.