platform/upstream/gcc.git
23 years agore PR java/2040 (java.util.Hashtable(int,float) is stricter than sun's version)
Bryce McKinlay [Thu, 22 Feb 2001 04:16:07 +0000 (04:16 +0000)]
re PR java/2040 (java.util.Hashtable(int,float) is stricter than sun's version)

Fix for PR java/2040:
* java/util/HashMap.java (HashMap): Don't throw exception for
loadFactor > 1. Add exception messages.
* java/util/Hashtable.java (Hashtable): Likewise.

From-SVN: r39969

23 years agoc_locale_gnu.h: Add clocale include.
Benjamin Kosnik [Thu, 22 Feb 2001 01:35:47 +0000 (01:35 +0000)]
c_locale_gnu.h: Add clocale include.

2001-02-20  Benjamin Kosnik  <bkoz@redhat.com>

* config/c_locale_gnu.h: Add clocale include.

From-SVN: r39968

23 years agotests_flags.in: Remove -n flag from call to echo.
Phil Edwards [Wed, 21 Feb 2001 21:58:20 +0000 (21:58 +0000)]
tests_flags.in: Remove -n flag from call to echo.

2001-02-21  Phil Edwards  <pme@sources.redhat.com>

* tests_flags.in:  Remove -n flag from call to echo.

From-SVN: r39966

23 years agoRefine syscall_linkage attribute semantics to fix security hole.
David Mosberger [Wed, 21 Feb 2001 21:50:16 +0000 (21:50 +0000)]
Refine syscall_linkage attribute semantics to fix security hole.

* config/ia64/ia64.c (ia64_epilogue_uses): For syscall_linkage
functions, drop current_function_args_info.words test.
(ia64_compute_frame_size): Mark syscall_linkage functions as
using eight input registers.

From-SVN: r39965

23 years agoAdded.
Ovidiu Predescu [Wed, 21 Feb 2001 20:40:22 +0000 (20:40 +0000)]
Added.

From-SVN: r39964

23 years agonested-1.m: Added (contributed by Nicola Pero).
Ovidiu Predescu [Wed, 21 Feb 2001 20:39:52 +0000 (20:39 +0000)]
nested-1.m: Added (contributed by Nicola Pero).

Wed Feb 21 12:38:22 2001  Ovidiu Predescu  <ovidiu@cup.hp.com>

* objc/execute/nested-1.m: Added (contributed by Nicola Pero).

From-SVN: r39963

23 years agofix freebsd version check of GCC
Loren J. Rittle [Wed, 21 Feb 2001 20:01:24 +0000 (20:01 +0000)]
fix freebsd version check of GCC

Co-Authored-By: Bruce Korb <bkorb@gnu.org>
From-SVN: r39961

23 years agogcc.c: Add comment explaining how to add a command-line option.
Jeffrey D. Oldham [Wed, 21 Feb 2001 19:54:18 +0000 (19:54 +0000)]
gcc.c: Add comment explaining how to add a command-line option.

2001-02-21  Jeffrey D. Oldham  <oldham@codesourcery.com>

* gcc.c: Add comment explaining how to add a command-line option.
Add title to specs language comment.

From-SVN: r39960

23 years agogcc.c (cc1_options): Add "-param".
Jeffrey Oldham [Wed, 21 Feb 2001 19:45:25 +0000 (19:45 +0000)]
gcc.c (cc1_options): Add "-param".

2001-02-21  Jeffrey Oldham  <oldham@codesourcery.com>

* gcc.c (cc1_options): Add "-param".
(DEFAULT_WORD_SWITCH_TAKES_ARG): Likewise.
(option_map): Likewise.
* toplev.c (display_help): Add entry for "--param".
(independent_decode_option): Fix typographical error.

From-SVN: r39958

23 years agoc_locale_gnu.h: Add clocale include.
Benjamin Kosnik [Wed, 21 Feb 2001 19:07:33 +0000 (19:07 +0000)]
c_locale_gnu.h: Add clocale include.

2001-02-20  Benjamin Kosnik  <bkoz@redhat.com>

* config/c_locale_gnu.h: Add clocale include.

From-SVN: r39956

23 years agoi386.c (function_arg_advance): Pass SSE arguments in registers.
Catherine Moore [Wed, 21 Feb 2001 18:49:33 +0000 (18:49 +0000)]
i386.c (function_arg_advance): Pass SSE arguments in registers.

        * i386.c (function_arg_advance):  Pass SSE arguments in registers.
(function_arg): Likewise.

Co-Authored-By: Bernd Schmidt <bernds@redhat.com>
Co-Authored-By: Jan Hubicka <jh@suse.cz>
From-SVN: r39955

23 years agofixed typo in last commit re REVERSE_CONDEXEC_PREDICATES_P
Aldy Hernandez [Wed, 21 Feb 2001 18:25:34 +0000 (18:25 +0000)]
fixed typo in last commit re REVERSE_CONDEXEC_PREDICATES_P

From-SVN: r39954

23 years ago* i386.md (mmx_lshrdi3, mmx_ashldi3): Guard by unspec.
Jan Hubicka [Wed, 21 Feb 2001 18:20:17 +0000 (19:20 +0100)]
* i386.md (mmx_lshrdi3, mmx_ashldi3): Guard by unspec.

From-SVN: r39952

23 years agoh8300.md (iorsi3): Do not output an extra newline character.
Kazu Hirata [Wed, 21 Feb 2001 18:09:48 +0000 (18:09 +0000)]
h8300.md (iorsi3): Do not output an extra newline character.

2001-02-21  Kazu Hirata  <kazu@hxi.com>

* config/h8300/h8300.md (iorsi3): Do not output an extra newline
character.
(xorsi3): Likewise.

From-SVN: r39950

23 years agoflow.c (init_propagate_block_info): Canon address and use single_set for killing...
Jan Hubicka [Wed, 21 Feb 2001 16:52:40 +0000 (17:52 +0100)]
flow.c (init_propagate_block_info): Canon address and use single_set for killing dead memory stores.

* flow.c (init_propagate_block_info): Canon address and use single_set
for killing dead memory stores.

From-SVN: r39949

23 years agoMakefile.in (reorg.o): Add params.h dependence.
Jeffrey Oldham [Wed, 21 Feb 2001 16:11:59 +0000 (16:11 +0000)]
Makefile.in (reorg.o): Add params.h dependence.

2001-02-21  Jeffrey Oldham  <oldham@codesourcery.com>

* Makefile.in (reorg.o): Add params.h dependence.
* params.def: Fix typographical error in comment.
(MAX_DELAY_SLOT_INSN_SEARCH): New parameter.
* params.h: Modify introductory comment.
(MAX_DELAY_SLOT_INSN_SEARCH): New parameter.
* reorg.c: Add dependence on params.h.
(redundant_insn): Add parameterized throttle for search.
(fill_simple_delay_slots): Add a comment explaining a variable.
Move conditional out of loop, simplifying code.
(fill_eager_delay_slots): Fix typographical error in comment.

From-SVN: r39948

23 years agonew macro REVERSE_CONDEXEC_PREDICATES_P
Aldy Hernandez [Wed, 21 Feb 2001 15:59:30 +0000 (15:59 +0000)]
new macro REVERSE_CONDEXEC_PREDICATES_P

From-SVN: r39947

23 years agotree.h (DECL_UNINLINABLE): Move from C++ frontend.
Jason Merrill [Wed, 21 Feb 2001 14:42:27 +0000 (09:42 -0500)]
tree.h (DECL_UNINLINABLE): Move from C++ frontend.

        * tree.h (DECL_UNINLINABLE): Move from C++ frontend.
        (struct tree_decl): Add uninlinable bitfield.
        * c-decl.c (duplicate_decls): Set it.
        * integrate.c (function_cannot_inline_p): Check it.
        * cp-tree.h (struct lang_decl_flags): Remove uninlinable flag.
        (DECL_UNINLINABLE): Move to middle-end.

        * dwarf2out.c (add_name_and_src_coords_attributes): Don't add
        DW_AT_MIPS_linkage_name to abstract methods.
        (dwarf2out_abstract_function): Emit class context before calling
        set_decl_abstract_flags.  Don't clear DECL_ABSTRACT.
        (gen_subprogram_die): Remove obsolete code.
        (gen_member_die): Don't include clones in the member list.
        (gen_decl_die): Emit abstract info for clone origin.
        * dwarfout.c (output_type): Don't include clones in the member list.
        * dbxout.c (dbxout_type_methods): Ignore abstract methods.
        * toplev.c (note_deferral_of_defined_inline_function): Don't clear
        DECL_ABSTRACT on a function that already has it set.
        * class.c (clone_function_decl): Set DECL_ABSTRACT on original fn.
        * decl.c (duplicate_decls): Preserve DECL_ABSTRACT.
        * class.c (build_clone): Set DECL_ABSTRACT_ORIGIN for the clone.
        * optimize.c (maybe_clone_body): Set DECL_ABSTRACT_ORIGIN for the
        parms and outer BLOCK.  note_deferral_of_defined_inline_function.

        * dwarf2out.c (gen_formal_types_die): Also accept a FUNCTION_DECL.
        (get_subprogram_die): Pass it in.
        * method.c (implicitly_declare_fn): Don't set DECL_ARTIFICIAL on
        second parm of op=.

From-SVN: r39945

23 years agoflow.c (mark_set_1): Make not_dead unsigned long.
Richard Earnshaw [Wed, 21 Feb 2001 12:18:11 +0000 (12:18 +0000)]
flow.c (mark_set_1): Make not_dead unsigned long.

* flow.c (mark_set_1): Make not_dead unsigned long.  For
non-pseudos, use it as a bitmask of the hard regs that
don't die.

From-SVN: r39943

23 years agoNew test.
Gabriel Dos Reis [Wed, 21 Feb 2001 11:48:24 +0000 (11:48 +0000)]
New test.

From-SVN: r39942

23 years agoDaily bump.
GCC Administrator [Wed, 21 Feb 2001 08:16:08 +0000 (08:16 +0000)]
Daily bump.

From-SVN: r39939

23 years agocppfiles.c: Update comments.
Neil Booth [Wed, 21 Feb 2001 07:29:56 +0000 (07:29 +0000)]
cppfiles.c: Update comments.

        * cppfiles.c: Update comments.
        (_cpp_read_file): Don't check for NULL filenames any more.
        * cppinit.c (cpp_start_read): Don't do canonicalization of
        in_fname and out_fname.  Use the passed file name exclusively.
        (_cpp_handle_options): Don't treat "-" as a command line option,
        but as a normal filename.
        (_cpp_post_options): Canonicalize in_fname and out_fname.
        * cppmain.c (printer_init): Don't check out_fname for NULL.
        * c-lex.c (orig_filename): Rename cpp_filename for clarity.
        (init_c_lex): Update, and use "" to represent stdin to CPP.
        (yyparse): Update.

From-SVN: r39938

23 years agoquadlib.c (_U_Qfcnvfxt_quad_to_usgl): New function.
Will Cohen [Wed, 21 Feb 2001 05:05:25 +0000 (05:05 +0000)]
quadlib.c (_U_Qfcnvfxt_quad_to_usgl): New function.

        * config/pa/quadlib.c (_U_Qfcnvfxt_quad_to_usgl): New function.
        * config/pa/long_double.h (FIXUNS_TRUNCTFSI2_LIBCALL): Added.
        (INIT_TARGET_OPTABS): Use FIXUNS_TRUNCTFSI2_LIBCALL for
        fixunstfsi_libfunc.

From-SVN: r39937

23 years agors6000.c (output_cbranch): Output branches on separate lines instead of using ';...
Stan Shebs [Wed, 21 Feb 2001 01:50:36 +0000 (01:50 +0000)]
rs6000.c (output_cbranch): Output branches on separate lines instead of using ';' to separate.

        * config/rs6000/rs6000.c (output_cbranch): Output branches
        on separate lines instead of using ';' to separate.

From-SVN: r39935

23 years agocppinit.c (set_lang): Move builtin handling to...
Neil Booth [Tue, 20 Feb 2001 22:52:11 +0000 (22:52 +0000)]
cppinit.c (set_lang): Move builtin handling to...

        * cppinit.c (set_lang):  Move builtin handling to...
        (init_builtins): ...here.
        (_cpp_create_reader): Move call to set_lang.

From-SVN: r39934

23 years agoparse.y (check_inner_class_access): Moved declaration of local `enclosing_decl_type...
Alexandre Petit-Bianco [Tue, 20 Feb 2001 21:18:13 +0000 (13:18 -0800)]
parse.y (check_inner_class_access): Moved declaration of local `enclosing_decl_type' to the right location.

2001-02-20  Alexandre Petit-Bianco  <apbianco@redhat.com>

        * parse.y (check_inner_class_access): Moved declaration of local
        `enclosing_decl_type' to the right location.

(http://gcc.gnu.org/ml/gcc-patches/2001-02/msg01258.html)

From-SVN: r39933

23 years agostl_config.h: Remove file.
Phil Edwards [Tue, 20 Feb 2001 20:20:48 +0000 (20:20 +0000)]
stl_config.h: Remove file.

2001-02-20  Phil Edwards  <pme@sources.redhat.com>

* include/bits/stl_config.h:  Remove file.
* src/Makefile.am (base_headers):  Remove from list.
* configure:  Regenerate.
* Makefile.in:  Ditto.
* libio/Makefile.in:  Ditto.
* libmath/Makefile.in:  Ditto.
* libsupc++/Makefile.in:  Ditto.
* src/Makefile.in:  Ditto.

* include/bits/c++config:  Move relevant macros to here.
* include/backward/alloc.h:  Include c++config.h instead.
* include/backward/function.h:  Ditto.
* include/backward/heap.h:  Ditto.
* include/backward/pair.h:  Ditto.
* include/bits/pthread_allocimpl.h:  Ditto.
* include/bits/std_functional.h:  Ditto.
* include/bits/std_iterator.h:  Ditto.
* include/bits/std_numeric.h:  Ditto.
* include/bits/std_utility.h:  Ditto.
* include/bits/stl_algobase.h:  Ditto.
* include/bits/type_traits.h:  Ditto.
* src/stl-inst.cc:  Ditto.

From-SVN: r39931

23 years ago* MAINTAINERS: add myself to Write After Approval list.
Laurynas Biveinis [Tue, 20 Feb 2001 19:29:07 +0000 (19:29 +0000)]
* MAINTAINERS: add myself to Write After Approval list.

From-SVN: r39929

23 years agoPipedWriter.java (flush): Throw exception if stream closed.
Tom Tromey [Tue, 20 Feb 2001 19:01:55 +0000 (19:01 +0000)]
PipedWriter.java (flush): Throw exception if stream closed.

* java/io/PipedWriter.java (flush): Throw exception if stream
closed.
* java/io/OutputStreamWriter.java (write): Throw exception if
stream closed.
(writeChars): Don't throw exception if stream closed.
* java/io/CharArrayWriter.java (closed): New field.
(close): Set it.
(flush): Throw exception if stream closed.
(reset): Synchronize on correct lock.  Allow stream to be
reopened.
(toCharArray, toString, writeTo): Synchronize.
(write): Throwe exception if stream closed.
* java/io/BufferedWriter.java (close): Clear `buffer'.
(flush): Throw IOException if stream is closed.
(write): Likewise.

From-SVN: r39927

23 years agostmt.c (expand_return): If an attempt is made to return the error_mar_node...
Mark Mitchell [Tue, 20 Feb 2001 18:22:32 +0000 (18:22 +0000)]
stmt.c (expand_return): If an attempt is made to return the error_mar_node...

* stmt.c (expand_return): If an attempt is made to return the
error_mar_node, treat the return like a return without a value.

From-SVN: r39924

23 years agoThreadGroup.java (activeCount): Only include threads which are alive.
Tom Tromey [Tue, 20 Feb 2001 18:05:57 +0000 (18:05 +0000)]
ThreadGroup.java (activeCount): Only include threads which are alive.

* java/lang/ThreadGroup.java (activeCount): Only include threads
which are alive.
(enumerate): Likewise.

From-SVN: r39922

23 years agoFix spelling error
Richard Kenner [Tue, 20 Feb 2001 12:01:03 +0000 (07:01 -0500)]
Fix spelling error

From-SVN: r39921

23 years agoDaily bump.
GCC Administrator [Tue, 20 Feb 2001 08:16:40 +0000 (08:16 +0000)]
Daily bump.

From-SVN: r39920

23 years agosibcall.c (skip_copy_to_return_value): Call identify_call_return_value here, and...
Zack Weinberg [Tue, 20 Feb 2001 05:49:06 +0000 (05:49 +0000)]
sibcall.c (skip_copy_to_return_value): Call identify_call_return_value here, and return orig_insn if it returns zero.

* sibcall.c (skip_copy_to_return_value): Call
identify_call_return_value here, and return orig_insn if it
returns zero.  Hardret and softret arguments now unnecessary.
(call_ends_block_p): Don't call identify_call_return_value here.

* ggc-common.c (ggc_mark_rtx_children): No need to mark 'S' or
's' slots in RTXen.
* ggc-page.c, ggc-simple.c (ggc_mark_if_gcable): Delete function.
* ggc.h (ggc_mark_if_gcable): Delete prototype.

testsuite:
* g77.dg: New directory.
* g77.dg/20010216-1.f: New test case.
* g77.dg/dg.exp: New driver.
* lib/g77-dg.exp: New driver library.

From-SVN: r39916

23 years agoMakefile.in (check-c++): New rule.
Benjamin Kosnik [Tue, 20 Feb 2001 04:13:50 +0000 (04:13 +0000)]
Makefile.in (check-c++): New rule.

2001-02-19  Benjamin Kosnik  <bkoz@redhat.com>

        * Makefile.in (check-c++): New rule.

From-SVN: r39915

23 years agopa.c (move_operand): Accept code to load the address of a symbol out of the DLT as...
Jeffrey A Law [Tue, 20 Feb 2001 03:29:00 +0000 (03:29 +0000)]
pa.c (move_operand): Accept code to load the address of a symbol out of the DLT as a valid move operand.

        * pa.c (move_operand): Accept code to load the address of a
        symbol out of the DLT as a valid move operand.
        (print_operand, case 'A'): New to handle generating a DLT
        reference for a LO_SUM expression.
        * pa.h (EXTRA_CONSTRAINT): Handle 'A' for DLT LO_SUM references.
        * pa.md (movsi, movdi patterns): Allow DLT LO_SUM references.

From-SVN: r39914

23 years agoconfigure.in (target_libs): Remove libg++.
Benjamin Kosnik [Tue, 20 Feb 2001 00:57:54 +0000 (00:57 +0000)]
configure.in (target_libs): Remove libg++.

2001-02-19  Benjamin Kosnik  <bkoz@purist.soma.redhat.com>

* configure.in (target_libs): Remove libg++.
(noconfigdirs): Remove libg++.
(noconfigdirs): Same.
(noconfigdirs): Same.
(noconfigdirs): Same.

* config-ml.in: Remove libg++ references.

* Makefile.in (TARGET_CONFIGDIRS): Remove libio, libstdc++, libg++.
(ALL_TARGET_MODULES): Same.
(configure-target-libg++): Remove.
(all-target-libg++): Remove.
(configure-target-libio): Remove.
(all-target-libio): Remove.
(check-target-libio): Remove.
(.PHONY): Remove.
(libg++.tar.bz2): Remove.
(all-target-cygmon): Remove libio.
(all-target-libstdc++): Remove.
(configure-target-libstdc++): Remove.
(TARGET_LIB_PATH): Remove libstdc++.
(ALL_GCC_CXX): Remove libstdc++.

From-SVN: r39911

23 years agoForgot this file on last check-in.
Bryce McKinlay [Mon, 19 Feb 2001 22:52:15 +0000 (22:52 +0000)]
Forgot this file on last check-in.

From-SVN: r39910

23 years agoparse.y (parser_check_super_interface): Don't call check_pkg_class_access for an...
Bryce McKinlay [Mon, 19 Feb 2001 22:48:16 +0000 (22:48 +0000)]
parse.y (parser_check_super_interface): Don't call check_pkg_class_access for an inner interface.

* parse.y (parser_check_super_interface): Don't call
check_pkg_class_access for an inner interface.
(parser_check_super): Don't call check_pkg_class_access for inner
class.
(do_resolve_class): Simplify enclosing type loop. Don't call
check_pkg_class_access if CL and DECL are not set.
(find_in_imports_on_demand): Set DECL if class_type needed to be
loaded. Don't call check_pkg_class_access for an inner class.
(check_inner_class_access): Rewritten to implement member access
rules as per spec 6.6.1.
(check_pkg_class_access): Handle the empty package correctly.
(in_same_package): New function. Determine if two classes are in the
same package.

From-SVN: r39909

23 years agodecl2.c (set_decl_namespace): Allow explicit instantiations in any namespace.
Mark Mitchell [Mon, 19 Feb 2001 21:47:08 +0000 (21:47 +0000)]
decl2.c (set_decl_namespace): Allow explicit instantiations in any namespace.

* decl2.c (set_decl_namespace): Allow explicit instantiations in
any namespace.

From-SVN: r39907

23 years agotypeck.c (build_java_array_type): Don't try to poke a public `clone' method into...
Bryce McKinlay [Mon, 19 Feb 2001 21:10:14 +0000 (21:10 +0000)]
typeck.c (build_java_array_type): Don't try to poke a public `clone' method into array types.

* typeck.c (build_java_array_type): Don't try to poke a public `clone'
method into array types.
* parse.y (patch_method_invocation): Bypass access check on clone call
to array instance.

From-SVN: r39906

23 years agoVersion.c, [...]: Update G77 version number to 0.5.27.
Joseph Myers [Mon, 19 Feb 2001 20:03:42 +0000 (20:03 +0000)]
Version.c, [...]: Update G77 version number to 0.5.27.

libf2c:
* libF77/Version.c, libI77/Version.c, libU77/Version.c: Update G77
version number to 0.5.27.

gcc:
* README, cpp.texi, gcc.texi, version.c: Update version number to
3.1.
* cpp.1, gcov.1, gcc.1: Regenerate.

gcc/f:
* version.c, root.texi: Update GCC version number to 3.1.  Update
G77 version number to 0.5.27.
* BUGS, NEWS: Regenerate.

From-SVN: r39901

23 years agocppfiles.c (stack_include_file): Generate dependencies here, and manage include_count...
Neil Booth [Mon, 19 Feb 2001 19:50:21 +0000 (19:50 +0000)]
cppfiles.c (stack_include_file): Generate dependencies here, and manage include_count here too.

        * cppfiles.c (stack_include_file): Generate dependencies
        here, and manage include_count here too.
        (PRINT_THIS_DEP): Delete.
        (_cpp_execute_include): Do not generate dependencies here,
        apart from the case of a missing header.  Do not manage
        include_count.
        (_cpp_read_file): Leave dependency generation to
        stack_include_file.

From-SVN: r39899

23 years agoAdd #pragma system_header to header files.
Gabriel Dos Reis [Mon, 19 Feb 2001 18:52:25 +0000 (18:52 +0000)]
Add #pragma system_header to header files.

From-SVN: r39896

23 years agoconfig.gcc (hppa*64*-*-hpux11*): Add MASK_GAS to target_cpu_default.
Jeffrey A Law [Mon, 19 Feb 2001 17:15:53 +0000 (17:15 +0000)]
config.gcc (hppa*64*-*-hpux11*): Add MASK_GAS to target_cpu_default.

        * config.gcc (hppa*64*-*-hpux11*): Add MASK_GAS to
        target_cpu_default.  Remove dead assignment to
        target_cpu_default.

From-SVN: r39895

23 years agoregclass.c (contains_reg_of_mode): Make global.
Jan Hubicka [Mon, 19 Feb 2001 15:50:20 +0000 (16:50 +0100)]
regclass.c (contains_reg_of_mode): Make global.

* regclass.c (contains_reg_of_mode): Make global.
(init_reg_sets): Remove contains_reg_of_mode; take into account
CLASS_MAX_NREGS when looking for the proper mode.
(dump_regclass): Dump only classes considered for the pseudo.
(regclass): Use contains_reg_of_mode.

From-SVN: r39891

23 years agogcc.c (do_spec_1): 'n' for printing notices.
Jan Hubicka [Mon, 19 Feb 2001 15:47:30 +0000 (16:47 +0100)]
gcc.c (do_spec_1): 'n' for printing notices.

* gcc.c (do_spec_1): 'n' for printing notices.
* i386.h (CC1_CPU_SPEC): Notice deprecated options as deprecated.

From-SVN: r39889

23 years agoatomicity.h (__compare_and_swap): Fix typo.
Andreas Jaeger [Mon, 19 Feb 2001 15:41:46 +0000 (16:41 +0100)]
atomicity.h (__compare_and_swap): Fix typo.

2001-02-19  Andreas Jaeger  <aj@suse.de>

* config/cpu/sparc/sparc64/bits/atomicity.h (__compare_and_swap):
Fix typo.

From-SVN: r39886

23 years agoreg-stack.c (next_flags_user): Use current_block->end
Jan Hubicka [Mon, 19 Feb 2001 14:59:42 +0000 (15:59 +0100)]
reg-stack.c (next_flags_user): Use current_block->end

* reg-stack.c (next_flags_user): Use current_block->end
(swap_rtx_condition): Look for next user if flags don't die;
give up on CALL_INSNs; use current_block->end.

From-SVN: r39884

23 years agoTweak comments
Richard Kenner [Mon, 19 Feb 2001 14:42:55 +0000 (09:42 -0500)]
Tweak comments

From-SVN: r39883

23 years agosibcall.c (call_ends_block_p): New function.
Richard Kenner [Mon, 19 Feb 2001 13:27:36 +0000 (13:27 +0000)]
sibcall.c (call_ends_block_p): New function.

* sibcall.c (call_ends_block_p): New function.
(optimize_sibling_and_tail_recursive_call): Use it.

From-SVN: r39879

23 years agoDaily bump.
GCC Administrator [Mon, 19 Feb 2001 08:16:09 +0000 (08:16 +0000)]
Daily bump.

From-SVN: r39877

23 years agoCharArrayReader.java (CharArrayReader): Throw IllegalArgumentException if constructor...
Bryce McKinlay [Mon, 19 Feb 2001 05:37:28 +0000 (05:37 +0000)]
CharArrayReader.java (CharArrayReader): Throw IllegalArgumentException if constructor arguments are illegal.

* java/io/CharArrayReader.java (CharArrayReader): Throw
IllegalArgumentException if constructor arguments are illegal.
(ready): Return false if no more characters can be read.
* java/io/ByteArrayInputStream.java (ByteArrayInputStream): Likewise.

From-SVN: r39876

23 years agooptimize.c (expand_call_inline): Don't walk subtrees of type nodes.
Kriang Lerdsuwanakij [Mon, 19 Feb 2001 04:06:51 +0000 (04:06 +0000)]
optimize.c (expand_call_inline): Don't walk subtrees of type nodes.

* optimize.c (expand_call_inline): Don't walk subtrees of type
nodes.

* g++.old-deja/g++.other/inline19.c: Remove XFAIL.

From-SVN: r39873

23 years agoInteger.java (getInteger): Return default argument if property is not set.
Bryce McKinlay [Mon, 19 Feb 2001 03:43:12 +0000 (03:43 +0000)]
Integer.java (getInteger): Return default argument if property is not set.

* java/lang/Integer.java (getInteger): Return default argument if
property is not set. Don't call decode with null argument.
* java/lang/Long.java (getLong): Likewise.

From-SVN: r39870

23 years agoFix typo in last change
Richard Kenner [Mon, 19 Feb 2001 03:19:23 +0000 (22:19 -0500)]
Fix typo in last change

From-SVN: r39869

23 years agoh8300.md: Update copyright.
Kazu Hirata [Mon, 19 Feb 2001 02:26:12 +0000 (02:26 +0000)]
h8300.md: Update copyright.

2001-02-18  Kazu Hirata  <kazu@hxi.com>

* config/h8300/h8300.md: Update copyright.

From-SVN: r39868

23 years agoh8300.md: Do not output an extra newline character.
Kazu Hirata [Mon, 19 Feb 2001 01:42:18 +0000 (01:42 +0000)]
h8300.md: Do not output an extra newline character.

2001-02-18  Kazu Hirata  <kazu@hxi.com>

* config/h8300/h8300.md: Do not output an extra newline character.

From-SVN: r39866

23 years agoh8300.md: Do not output an extra newline character.
Kazu Hirata [Mon, 19 Feb 2001 01:37:17 +0000 (01:37 +0000)]
h8300.md: Do not output an extra newline character.

2001-02-18  Kazu Hirata  <kazu@hxi.com>

* config/h8300/h8300.md: Do not output an extra newline character.

From-SVN: r39865

23 years agoRemove conflict indicator
Richard Kenner [Mon, 19 Feb 2001 00:10:27 +0000 (19:10 -0500)]
Remove conflict indicator

From-SVN: r39862

23 years agotoplev.c (note_deferral_of_defined_inlined_function): Argument FNDECL may be unused.
Richard Kenner [Mon, 19 Feb 2001 00:09:28 +0000 (00:09 +0000)]
toplev.c (note_deferral_of_defined_inlined_function): Argument FNDECL may be unused.

* toplev.c (note_deferral_of_defined_inlined_function): Argument
FNDECL may be unused.

* toplev.c (rest_of_compilation): Don't have CSE skip blocks or
follow jumps after first run.
If -fexpensive-optimizations rerun CSE after GCSE and iterate until
it doesn't change any jumps.

From-SVN: r39861

23 years agoMakefile.in (rtlanal.o): Depend on hard-reg-set.h.
Jeffrey A Law [Mon, 19 Feb 2001 00:05:49 +0000 (00:05 +0000)]
Makefile.in (rtlanal.o): Depend on hard-reg-set.h.

       * Makefile.in (rtlanal.o): Depend on hard-reg-set.h.
        ($HOST_PREFIX_1)rtlanal.o: Remove rules for building
        (mostlyclean): Corresponding changes.
        * rtlanal.c (hard-reg-set.h): Include.
        (rtx_unstable_p): Do not treat the argument pointer specially
        if it is not a fixed register.
        (rtx_varies_p, rtx_addr_can_trap_p): Similarly.

From-SVN: r39860

23 years agosibcall.c (optimize_sibling_and_tail_recursive_call): Compare against last real insn...
Richard Kenner [Mon, 19 Feb 2001 00:00:08 +0000 (00:00 +0000)]
sibcall.c (optimize_sibling_and_tail_recursive_call): Compare against last real insn in basic block.

* sibcall.c (optimize_sibling_and_tail_recursive_call): Compare
against last real insn in basic block.
Rework to avoid gotos.

From-SVN: r39858

23 years agoMakefile.in (gcse.o): Now includes ggc.h.
Richard Kenner [Sun, 18 Feb 2001 23:56:34 +0000 (23:56 +0000)]
Makefile.in (gcse.o): Now includes ggc.h.

* Makefile.in (gcse.o): Now includes ggc.h.
* gcse.c: Include ggc.h.
(want_to_gcse_p): Verify expression can be in SET as valid insn.
(try_replace_reg): Remove warning of uninitialize variable.
(process_insert_insn): Call invalid_insn_p to validate insn.
* recog.c (insn_invalid_p): Now global.
See if can make valid by adding CLOBBERs of SCRATCH only and do if so.
* recog.h (insn_invalid_p): New declaration.

From-SVN: r39857

23 years ago* jump.c (jump_optimize_1): Only define reversed_code #ifdef HAVE_trap.
Richard Kenner [Sun, 18 Feb 2001 23:51:21 +0000 (23:51 +0000)]
* jump.c (jump_optimize_1): Only define reversed_code #ifdef HAVE_trap.

From-SVN: r39856

23 years agosparc.c (eligible_for_epilogue_delay): Don't put assignments from FP constants sonce...
Richard Kenner [Sun, 18 Feb 2001 23:39:28 +0000 (23:39 +0000)]
sparc.c (eligible_for_epilogue_delay): Don't put assignments from FP constants sonce 'Y' output code can't handle it.

* config/sparc/sparc.c (eligible_for_epilogue_delay): Don't put
assignments from FP constants sonce 'Y' output code can't handle it.
(eligible_for_sibcall_delay): Likewise.

From-SVN: r39854

23 years agoflow.c (print_rtl_and_abort_fcn): Renamed from print_rtl_and_abort.
Richard Kenner [Sun, 18 Feb 2001 20:56:03 +0000 (20:56 +0000)]
flow.c (print_rtl_and_abort_fcn): Renamed from print_rtl_and_abort.

* flow.c (print_rtl_and_abort_fcn): Renamed from print_rtl_and_abort.
Call fancy_abort directly, passing args.
(print_rtl_and_abort): Now a macro, like fancy_abort.

From-SVN: r39852

23 years ago* final.c (output_operand_lossage): Use internal_error, not error.
Richard Kenner [Sun, 18 Feb 2001 20:50:41 +0000 (20:50 +0000)]
* final.c (output_operand_lossage): Use internal_error, not error.

From-SVN: r39850

23 years ago* mips.c (mips_expand_prologue) Add REG_MAYBE_DEAD to
Richard Henderson [Sun, 18 Feb 2001 20:44:44 +0000 (12:44 -0800)]
* mips.c (mips_expand_prologue) Add REG_MAYBE_DEAD to
        structure shift insns.

From-SVN: r39848

23 years agoclass.c (add_vcall_offset_vtbl_entries_1): Only add one entry for a destructor.
Mark Mitchell [Sun, 18 Feb 2001 20:41:10 +0000 (20:41 +0000)]
class.c (add_vcall_offset_vtbl_entries_1): Only add one entry for a destructor.

* class.c (add_vcall_offset_vtbl_entries_1): Only add one entry
for a destructor.

From-SVN: r39847

23 years agoinvoke.texi (-fsquangle): Remove documentation.
Mark Mitchell [Sun, 18 Feb 2001 20:31:44 +0000 (20:31 +0000)]
invoke.texi (-fsquangle): Remove documentation.

* invoke.texi (-fsquangle): Remove documentation.
(-fname-mangling-version): Likewise.

* cp-tree.h (new_abi_rtti_p): Remove.
(name_mangling_version): Likewise.
(flag_do_squangling): Likewise.
* class.c (build_rtti_vtbl_entries): Remove old ABI support.
* decl.c (grokfndecl): Likewise.
* decl2.c (name_mangling_version): Remove.
(flag_do_squangling): Likewise.
(lang_f_options): Remove `squangle'.
(unsupported_options): Add `squangle'.
(cxx_decode_option): Issue a warning about uses of
-fname-mangling-version.
(finish_file): Remove old ABI support.
* pt.c (check_explicit_specialization): Likewise.
(tsubst_decl): Likewise.
* rtti.c (init_rtti_processing): Likewise.
(build_headof): Likewise.
(get_tinfo_decl_dynamic): Likewise.
(tinfo_from_decl): Likewise.
(build_dynamic_cast_1): Likewise.
(synthesize_tinfo_var): Likewise.
* init.c (build_new): Allow enumeration types for the array-bounds
in a direct-new-declarator.

From-SVN: r39845

23 years agooptabs.c (expand_abs): Remove reference to HAVE_contitional_arithmetic.
Lars Brinkhoff [Sun, 18 Feb 2001 20:24:10 +0000 (20:24 +0000)]
optabs.c (expand_abs): Remove reference to HAVE_contitional_arithmetic.

        * optabs.c (expand_abs): Remove reference to
        HAVE_contitional_arithmetic.
        * combine.c (simplify_set): Likewise.

From-SVN: r39844

23 years agoifcvt.c (dead_or_predicable): Don't move code if eh regions would be disrupted.
Richard Henderson [Sun, 18 Feb 2001 20:06:51 +0000 (12:06 -0800)]
ifcvt.c (dead_or_predicable): Don't move code if eh regions would be disrupted.

        * ifcvt.c (dead_or_predicable): Don't move code if eh regions
        would be disrupted.

From-SVN: r39843

23 years agoDo put the VTT parameter in DECL_ARGUMENTS.
Jason Merrill [Sun, 18 Feb 2001 19:08:00 +0000 (14:08 -0500)]
Do put the VTT parameter in DECL_ARGUMENTS.

        * cp-tree.h (struct cp_language_function): Add x_vtt_parm.
        (current_vtt_parm): New macro.
        (struct lang_decl_flags): Add has_vtt_parm_p, remove vtt_parm.
        (DECL_HAS_VTT_PARM_P): New macro.
        (DECL_VTT_PARM): Remove.
        (FUNCTION_FIRST_USER_PARMTYPE, FUNCTION_FIRST_USER_PARM): New macros.
        * decl.c (duplicate_decls): Only copy the operator code if
        appropriate.
        (start_function): Set current_vtt_parm.
        (lang_mark_tree): Don't mark vtt_parm.
        * decl2.c (maybe_retrofit_in_chrg): Do add the VTT parm to
        DECL_ARGUMENTS.  Set DECL_HAS_VTT_PARM_P.
        * class.c (build_clone): Maybe remove the VTT parm.
        * optimize.c (maybe_clone_body): Set up the VTT parm.
        * pt.c (copy_default_args_to_explicit_spec): Preserve the VTT parm.
        * call.c (build_over_call): Just allow the VTT arg.
        * method.c (make_thunk): Don't set DECL_VTT_PARM.
        (do_build_copy_constructor): Use FUNCTION_FIRST_USER_PARM.
        (synthesize_method): Use FUNCTION_FIRST_USER_PARMTYPE.
        * decl.c (grokdeclarator, copy_args_p, grok_ctor_properties): Likewise.
        * error.c (dump_function_decl): Likewise.
        * call.c (build_user_type_conversion_1, convert_like_real): Abort
        if we try to call a constructor with in-charge or VTT parms.
        * method.c (skip_artificial_parms_for): New fn.
        * call.c (add_function_candidate, build_over_call): Call it.
        * call.c (build_new_method_call): Use current_vtt_parm.
        * init.c (expand_virtual_init): Likewise.
        * class.c (same_signature_p): No longer static.
        * cp-tree.h: Declare it.
        * search.c (look_for_overrides_r): Use it.

From-SVN: r39841

23 years ago* config/ns32k/ns32k.h (ADJSP): Upcase arguments.
Richard Henderson [Sun, 18 Feb 2001 18:40:02 +0000 (10:40 -0800)]
* config/ns32k/ns32k.h (ADJSP): Upcase arguments.

From-SVN: r39840

23 years ago* config/alpha/alpha.md (movsi_fix): Fix typo in pattern name.
Richard Henderson [Sun, 18 Feb 2001 18:36:37 +0000 (10:36 -0800)]
* config/alpha/alpha.md (movsi_fix): Fix typo in pattern name.

From-SVN: r39838

23 years ago* reload1.c (reload_cse_simplify_set): Fix typo.
Richard Henderson [Sun, 18 Feb 2001 18:24:10 +0000 (10:24 -0800)]
* reload1.c (reload_cse_simplify_set): Fix typo.

From-SVN: r39836

23 years ago* diagnostic.c (_fatal_insn): Decrement errorcount.
Richard Kenner [Sun, 18 Feb 2001 15:17:36 +0000 (15:17 +0000)]
* diagnostic.c (_fatal_insn): Decrement errorcount.

From-SVN: r39834

23 years ago* invoke.texi (-I): Add note avoiding use for system header files.
Richard Kenner [Sun, 18 Feb 2001 14:47:39 +0000 (14:47 +0000)]
* invoke.texi (-I): Add note avoiding use for system header files.

From-SVN: r39833

23 years agortl.h (add_clobbers): Remove duplicate declaration.
Richard Kenner [Sun, 18 Feb 2001 14:34:57 +0000 (14:34 +0000)]
rtl.h (add_clobbers): Remove duplicate declaration.

* rtl.h (add_clobbers): Remove duplicate declaration.
* recog.h (added_clobbers_hard_reg_p): New declaration.
* genemit.c (struct clobber_pat): New field has_hard_reg.
(gen_insn): Record if added clobbers clobber hard reg.
(gen_split): Avoid unused warning if number of operands is 0.
(output_added_clobbers_hard_reg_p): New function.
(main): Call it.

From-SVN: r39832

23 years agoDaily bump.
GCC Administrator [Sun, 18 Feb 2001 08:16:09 +0000 (08:16 +0000)]
Daily bump.

From-SVN: r39830

23 years agoRevert experimental hunk accidentally included in committed change.
Jeff Law [Sun, 18 Feb 2001 07:32:20 +0000 (00:32 -0700)]
Revert experimental hunk accidentally included in committed change.

From-SVN: r39828

23 years agopa.c (hppa_expand_prologue): Simplify code storing return pointer.
Alan Modra [Sun, 18 Feb 2001 07:27:59 +0000 (07:27 +0000)]
pa.c (hppa_expand_prologue): Simplify code storing return pointer.

  * pa.c (hppa_expand_prologue): Simplify code storing return
  pointer.  For large (>=8k) frames with a post_store, adjust stack
  pointer by 8k-64 first rather than by 64.  When testing with
  VAL_14_BITS_P, always use the actual value rather than the value
  negated.  Add blockage to prevent scheduling of spills before
  stack frame has been created.
(hppa_expand_epilogue): Simplify code loading return pointer.
  Allow a slightly larger range for merge_sp_adjust_with_load case.
  When testing with VAL_14_BITS_P, always use the actual value.

From-SVN: r39826

23 years agopa.c (pa_adjust_insn_length): Check that block move pattern is a set before looking...
Alan Modra [Sun, 18 Feb 2001 07:25:25 +0000 (07:25 +0000)]
pa.c (pa_adjust_insn_length): Check that block move pattern is a set before looking at operands.

2001-02-18  Alan Modra <alan@linuxcare.com.au>

        * config/pa/pa.c (pa_adjust_insn_length): Check that block move
        pattern is a set before looking at operands.

From-SVN: r39825

23 years agofold-const.c (fold_binary_op_with_conditional_arg): New function, split out from ...
Mark Mitchell [Sun, 18 Feb 2001 06:53:19 +0000 (06:53 +0000)]
fold-const.c (fold_binary_op_with_conditional_arg): New function, split out from ...

* fold-const.c (fold_binary_op_with_conditional_arg): New
function, split out from ...
(fold): ... here.
* tree.def (COND_EXPR): Document the use of VOID_TYPE for
conditional arms that throw exceptions.

From-SVN: r39822

23 years agoprint-tree.c (print_node): Do not use BLOCK_CHAIN when we're not looking at a BLOCK.
Mark Mitchell [Sun, 18 Feb 2001 06:03:09 +0000 (06:03 +0000)]
print-tree.c (print_node): Do not use BLOCK_CHAIN when we're not looking at a BLOCK.

* print-tree.c (print_node): Do not use BLOCK_CHAIN when we're not
looking at a BLOCK.

From-SVN: r39818

23 years agoinit.c (build_new): Allow enumeration types for the array-bounds in a direct-new...
Mark Mitchell [Sun, 18 Feb 2001 05:59:45 +0000 (05:59 +0000)]
init.c (build_new): Allow enumeration types for the array-bounds in a direct-new-declarator.

* init.c (build_new): Allow enumeration types for the array-bounds
in a direct-new-declarator.

* semantics.c (finish_typeof): Resolve OFFSET_REFs.

From-SVN: r39817

23 years agoaclocal.m4 (gcc_AC_CHECK_DECL): Before attempting the test...
Kaveh R. Ghazi [Sun, 18 Feb 2001 03:18:38 +0000 (03:18 +0000)]
aclocal.m4 (gcc_AC_CHECK_DECL): Before attempting the test...

* aclocal.m4 (gcc_AC_CHECK_DECL): Before attempting the test,
define HAVE_DECL_* to 1 to mask potential backup declarations.
* configure: Regenerated.

From-SVN: r39814

23 years agopt.c (check_explicit_specialization): Copy TREE_PRIVATE and TREE_PROTECTED from the...
Mark Mitchell [Sun, 18 Feb 2001 00:29:00 +0000 (00:29 +0000)]
pt.c (check_explicit_specialization): Copy TREE_PRIVATE and TREE_PROTECTED from the template being specialized.

* pt.c (check_explicit_specialization): Copy TREE_PRIVATE and
TREE_PROTECTED from the template being specialized.

From-SVN: r39813

23 years agodecl2.c (build_artificial_parm): Set TREE_READONLY.
Jason Merrill [Sun, 18 Feb 2001 00:00:29 +0000 (19:00 -0500)]
decl2.c (build_artificial_parm): Set TREE_READONLY.

        * decl2.c (build_artificial_parm): Set TREE_READONLY.

        * decl.c (bad_specifiers): Allow throw specs on things with
        pointer-to-function or -member-function type.
        * init.c (build_default_init): Don't use a CONSTRUCTOR to initialize
        a pmf.

From-SVN: r39810

23 years ago* call.c (check_dtor_name): Handle template names correctly.
Mark Mitchell [Sat, 17 Feb 2001 23:54:42 +0000 (23:54 +0000)]
* call.c (check_dtor_name): Handle template names correctly.

From-SVN: r39809

23 years ago* invoke.texi (-Woverloaded-virtual): Clarify documentation.
Mark Mitchell [Sat, 17 Feb 2001 23:45:54 +0000 (23:45 +0000)]
* invoke.texi (-Woverloaded-virtual): Clarify documentation.

From-SVN: r39807

23 years agoimprove comment
Jason Merrill [Sat, 17 Feb 2001 23:38:08 +0000 (18:38 -0500)]
improve comment

From-SVN: r39806

23 years agoreload1.c (reload_cse_simplify_set): Respect LOAD_EXTEND_OP when replacing a memory...
Richard Henderson [Sat, 17 Feb 2001 23:07:06 +0000 (15:07 -0800)]
reload1.c (reload_cse_simplify_set): Respect LOAD_EXTEND_OP when replacing a memory load with a register.

        * reload1.c (reload_cse_simplify_set): Respect LOAD_EXTEND_OP
        when replacing a memory load with a register.

From-SVN: r39805

23 years agorecog.c (validate_replace_src_1): New.
Richard Kenner [Sat, 17 Feb 2001 19:50:58 +0000 (19:50 +0000)]
recog.c (validate_replace_src_1): New.

* recog.c (validate_replace_src_1): New.
(validate_replace_src_data): Likewise.
(validate_replace_src): Use note_uses.
* rtl.h (note_uses): Declare.
* rtlanal.c (note_uses): New.

Co-Authored-By: Jan Hubicka <jh@suse.cz>
From-SVN: r39804

23 years agostd_ostream.h: Replaced usage of _Traits::_S_eos() with _CharT() as per section 17...
Greg Bumgardner [Sat, 17 Feb 2001 17:51:45 +0000 (17:51 +0000)]
std_ostream.h: Replaced usage of _Traits::_S_eos() with _CharT() as per section 17.2.2.1.3.

2001-02-16  Greg Bumgardner <bumgard@roguewave.com>

libstdc++/1734
        * include/bits/std_ostream.h: Replaced usage of
        _Traits::_S_eos() with _CharT() as per section 17.2.2.1.3.
        * include/bits/char_traits.h: Removed non-standard
        methods that cannot be used elsewhere.

libstdc++/1885
        * include/bits/basic_ios.h: Uncommented #include of
        bits/basic_ios.tcc

libstdc++/1897
        * include/bits/codecvt.h: See next...
        * include/bits/fstream.tcc: See next...
        * include/bits/ostream.tcc: Add __extension__
        to variable-length arrays.

libstdc++/1967
        * include/bits/localefwd.h: Changed int counter type to size_t.

libstdc++/1968
        * include/bits/std_fstream.h: Added typedef for __ctype_type.

From-SVN: r39802

23 years ago* java/util/TimerTask.java: New version from Classpath.
Mark Wielaard [Sat, 17 Feb 2001 15:27:34 +0000 (15:27 +0000)]
* java/util/TimerTask.java: New version from Classpath.

From-SVN: r39801

23 years agoRemerge with Classpath (changes by Bryce McKinlay <bryce@albatross.co.nz>)
Mark Wielaard [Sat, 17 Feb 2001 15:09:46 +0000 (15:09 +0000)]
Remerge with Classpath (changes by Bryce McKinlay <bryce@albatross.co.nz>)

    Remerge with Classpath
    (changes by Bryce McKinlay  <bryce@albatross.co.nz>)
    * java/io/DataInputStream.java (readBoolean): Use convertToBoolean().
    (readByte): Use convertToByte().
    (readChar): Use convertToChar().
    (readInt): Use convertToInt().
    (readLong): Use convertToLong().
    (readShort): Use convertToShort().
    (readUnsignedByte): Use convertToUnsignedByte().
    (readUnsignedShort): Use convertToUnsignedShort().
    (readUTF): Use convertToUTF().

    (convertToBoolean): Resurrected.
    (convertToByte): Ditto.
    (convertToChar): Ditto.
    (convertToInt): Ditto.
    (convertToLong): Ditto.
    (convertToShort): Ditto.
    (convertToUnsignedByte): Ditto.
    (convertToUnsignedShort): Ditto.
    (convertToUTF): Ditto.

From-SVN: r39800

23 years ago* HACKING: new file
Mark Wielaard [Sat, 17 Feb 2001 14:24:41 +0000 (14:24 +0000)]
* HACKING: new file

From-SVN: r39799

23 years agoDataInputStream.java: update copyright notice
Mark Wielaard [Sat, 17 Feb 2001 13:59:13 +0000 (13:59 +0000)]
DataInputStream.java: update copyright notice

    * java/io/DataInputStream.java: update copyright notice
    * java/io/PrintWriter.java: idem
    * java/io/Reader.java: idem
    * java/io/StreamTokenizer.java: idem
    * java/io/StringReader.java: idem
    * java/lang/reflect/ReflectPermission.java: idem

From-SVN: r39798