Andreas Jaeger [Thu, 9 Dec 1999 23:37:30 +0000 (00:37 +0100)]
loop.c (record_biv): Declare parameter as int.
* loop.c (record_biv): Declare parameter as int.
* config/i386/i386-protos.h: Declare long_memory_operand.
From-SVN: r30851
Andreas Jaeger [Thu, 9 Dec 1999 23:24:58 +0000 (23:24 +0000)]
except.c (expand_throw): Add static attribute to match prototype.
* except.c (expand_throw): Add static attribute to match
prototype.
* Makefile.in (semantics.o): Add dependency on output.h.
* semantics.c: Include output.h for declaration of
make_function_rtl.
From-SVN: r30850
Mark Mitchell [Thu, 9 Dec 1999 19:13:33 +0000 (19:13 +0000)]
decl.c (init_decl_processing): Reenable inlining on trees.
* decl.c (init_decl_processing): Reenable inlining on trees.
(finish_function): Likewise.
* expr.c (cplus_expand_expr): Don't handle AGGR_INIT_EXPR here.
* semantics.c (simplify_aggr_init_exprs): New function.
(expand_body): Use it.
* tree.c (walk_tree): Special-case TARGET_EXPRs since they
sometimes present the same sub-tree twice.
From-SVN: r30849
Mark Mitchell [Thu, 9 Dec 1999 18:59:30 +0000 (18:59 +0000)]
tree.c (copy_node): Do zero the TREE_CHAIN, even for an EXPR_WITH_FILE_LOCATION.
* tree.c (copy_node): Do zero the TREE_CHAIN, even for an
EXPR_WITH_FILE_LOCATION.
From-SVN: r30848
Tom Tromey [Thu, 9 Dec 1999 16:57:27 +0000 (16:57 +0000)]
re GNATS libgcj/117 (_Jv_PthreadCheckMonitor test is not portable.)
* include/posix-threads.h (_Jv_PthreadCheckMonitor): Handle case
where no recursive mutexes exist. Fixes PR libgcj/117.
From-SVN: r30847
Jakub Jelinek [Thu, 9 Dec 1999 14:38:11 +0000 (15:38 +0100)]
sparc.h (PROMOTE_FOR_CALL_ONLY): Define.
* config/sparc/sparc.h (PROMOTE_FOR_CALL_ONLY): Define.
* calls.c (precompute_arguments): Make sure initial_value contains
value pseudo which CSE expects.
* cse.c (struct set): New entry orig_src.
(cse_insn): Set it early on entry, use it for libcall EQUIV note
replacement.
From-SVN: r30846
Anthony Green [Thu, 9 Dec 1999 12:32:48 +0000 (12:32 +0000)]
> * decl.c (init_decl_processing): Mark throw_node as a noreturn > function with side effects.
> * decl.c (init_decl_processing): Mark throw_node as a noreturn
> function with side effects.
> (init_decl_processing): Mark all memory allocating DECLs with
> DECL_IS_MALLOC.
From-SVN: r30845
Jan Hubicka [Thu, 9 Dec 1999 10:53:29 +0000 (11:53 +0100)]
* i386.md (neg??, abs?f, one_cmpl?i): Use nonimmediate_operand in expander.
From-SVN: r30844
Jan Hubicka [Thu, 9 Dec 1999 10:51:44 +0000 (11:51 +0100)]
* flow.c (recompute_reg_usage): Use basic block info to get loop_depth.
From-SVN: r30843
Jan Hubicka [Thu, 9 Dec 1999 10:46:10 +0000 (11:46 +0100)]
combine.c (try_combine, [...]): Remove REG_N_REFS updating code.
* combine.c (try_combine, distribute_notes): Remove REG_N_REFS
updating code.
From-SVN: r30842
Jakub Jelinek [Thu, 9 Dec 1999 10:41:45 +0000 (11:41 +0100)]
linux64.h (TARGET_DEFAULT): Make -mapp-regs default on linux64 again.
* config/sparc/linux64.h (TARGET_DEFAULT): Make -mapp-regs
default on linux64 again.
* config/sparc/t-linux64: Add mno-app-regs and non-medlow code
models for multilibing.
* genmultilib: Accept | as alternative separator within a set in
MULTILIB_OPTIONS.
From-SVN: r30841
Mark Mitchell [Thu, 9 Dec 1999 09:07:29 +0000 (09:07 +0000)]
dump.c (dequeue_and_dump): Abbreviate `class' as `cls', not `csl'.
* dump.c (dequeue_and_dump): Abbreviate `class' as `cls', not
`csl'.
* semantics.c (finish_switch_cond): Do conversions here, not ...
* typeck.c (c_expand_start_case): Here.
* semantics.c (do_poplevel): Remove unused variable.
From-SVN: r30840
Jeff Law [Thu, 9 Dec 1999 08:45:09 +0000 (01:45 -0700)]
Daily bump.
From-SVN: r30839
Nathan Sidwell [Thu, 9 Dec 1999 06:43:06 +0000 (06:43 +0000)]
* gcc.c-torture/compile/991208-1.c: New test.
From-SVN: r30838
Richard Henderson [Thu, 9 Dec 1999 06:25:11 +0000 (22:25 -0800)]
* flow.c (count_basic_blocks): Don't add (use (const_int 0)) insns.
From-SVN: r30837
Jakub Jelinek [Thu, 9 Dec 1999 01:00:45 +0000 (02:00 +0100)]
longlong.h: Merge in changes from glibc.
* longlong.h: Merge in changes from glibc.
Also don't clobber %g2 register in 32bit SPARC assembly, so that
-mno-app-regs libgcc can be compiled.
* libgcc2.c: Add defines so that the updated longlong.h
can be used in libgcc2.a. Also, make sure on most architectures
(at least on all which have optimized code in longlong.h defined
for) {SI,W}_TYPE_SIZE is suitable for preprocessor tests.
From-SVN: r30836
Bernd Schmidt [Wed, 8 Dec 1999 17:49:26 +0000 (17:49 +0000)]
Don't hoist volatile mems out of loops.
From-SVN: r30834
Jakub Jelinek [Wed, 8 Dec 1999 15:28:00 +0000 (16:28 +0100)]
sparc.h (SPARC_SETHI_P): Don't look at topmost 32 bits if TARGET_ARCH32.
* config/sparc/sparc.h (SPARC_SETHI_P): Don't look at topmost 32 bits
if TARGET_ARCH32.
From-SVN: r30833
Jakub Jelinek [Wed, 8 Dec 1999 15:22:38 +0000 (16:22 +0100)]
sparc.c (ultra_cmove_results_ready_p, [...]): Typo fix.
* config/sparc/sparc.c (ultra_cmove_results_ready_p,
ultra_fpmode_conflict_exists, ultra_flush_pipeline): Typo fix.
From-SVN: r30832
Alexandre Oliva [Wed, 8 Dec 1999 12:30:22 +0000 (12:30 +0000)]
sol2-64.h: Same as sol2-sld-64.h...
* config/sparc/sol2-64.h: Same as sol2-sld-64.h, except that
`-m EMULATION' is added to non-default LINK_ARCH_SPECs.
* configure.in: Use sol2-64.h instead of sol2-sld-64.h if linker
is GNU ld.
* configure: Rebuilt.
From-SVN: r30830
Richard Henderson [Wed, 8 Dec 1999 11:47:38 +0000 (03:47 -0800)]
alpha.c (secondary_reload_class): For !BWX, sub-simode outputs require a register.
* alpha.c (secondary_reload_class): For !BWX, sub-simode
outputs require a register.
From-SVN: r30829
Brendan Kehoe [Wed, 8 Dec 1999 11:44:47 +0000 (11:44 +0000)]
Makefile.in (FPBIT_FUNCS, [...]): Add _sf_to_usi _df_to_usi.
* Makefile.in (FPBIT_FUNCS, DPBIT_FUNCS): Add _sf_to_usi
_df_to_usi. Required by some targets, so US_SOFTWARE_GOFAST calls to
functions like dptoul will be resolved.
(libgcc2.a): Make sure that the object files from DPBIT are named
differently (prefix `_dp') from those that would be coming from
FPBIT.
From-SVN: r30828
Alexandre Oliva [Wed, 8 Dec 1999 10:27:54 +0000 (10:27 +0000)]
configure.in: When target is sparc* and tm_file contains 64, test for 64bit support in assembler.
* configure.in: When target is sparc* and tm_file contains 64,
test for 64bit support in assembler. If not supported, remove
sparc/t-sol2-64 from target-dependent Makefile fragments.
(AS_SPARC64_FLAG): Define to the assembler flag for 64bit.
(HAVE_AS_OFFSETABLE_LO10): Rework test to use these flags.
(HAVE_AS_REGISTER_PSEUDO_OP): Use config.cache.
* acconfig.h (AS_SPARC64_FLAG): Added.
* configure, config.in: Rebuilt.
* config/sparc/sol2-sld-64.h: Same as sol2.h, if without 64bit
support. Use AS_SPARC64_FLAG.
From-SVN: r30827
Jeff Law [Wed, 8 Dec 1999 08:45:06 +0000 (01:45 -0700)]
Daily bump.
From-SVN: r30826
Jakub Jelinek [Wed, 8 Dec 1999 08:04:43 +0000 (09:04 +0100)]
configure.in (sparc64-*-linux*): Use posix threads if enabled.
* configure.in (sparc64-*-linux*): Use posix threads if enabled.
* configure: Rebuilt.
* config/sparc/linux64.h: Default to -mcpu=ultrasparc if no
-mcpu is given and we're doing 64bit compiles.
From-SVN: r30825
Jakub Jelinek [Wed, 8 Dec 1999 08:00:51 +0000 (09:00 +0100)]
sparc.c (sparc_emit_float_lib_cmp): New function.
* config/sparc/sparc.c (sparc_emit_float_lib_cmp): New function.
* config/sparc/sparc-protos.h (sparc_emit_float_lib_cmp): Prototype.
* config/sparc/sparc.h (*_LIBCALL): Only use for _Q_*
routines, _Qp_* cannot be handled like that now.
(INIT_TARGET_OPTABS): Likewise.
* config/sparc/sparc.md (cmptf): Accept soft float ARCH64.
(seq, sne, sgt, sge, slt, sle, beq, bne, bgt, bge, blt, ble): Call
sparc_emit_float_lib_cmp if ARCH64 and soft float.
(extendsftf2, extenddftf2, trunctfsf2, trunctfdf2, floatsitf2,
floatditf2, fix_trunctfsi2, fix_trunctfdi2, addtf3, subtf3, multf3,
divtf3, sqrttf3): New expanders.
(extendsftf2_hq, extenddftf2_hq, trunctfsf2_hq, trunctfdf2_hq,
floatsitf2_hq, floatditf2_hq, fix_trunctfsi2_hq, fix_trunctfdi2_hq,
addtf3_hq, subtf3_hq, multf3_hq, divtf3_hq, sqrttf3_hq): Rename from
non-_hq patterns.
From-SVN: r30824
Jakub Jelinek [Wed, 8 Dec 1999 07:50:45 +0000 (08:50 +0100)]
sparc.h (LEGITIMATE_CONSTANT_P): Consider TFmode 0.0L as legitimate constant if -mvis.
* config/sparc/sparc.h (LEGITIMATE_CONSTANT_P): Consider TFmode 0.0L
as legitimate constant if -mvis.
* config/sparc/sparc.md (movtf): Likewise.
(clear_sf): Use const_double_operand.
(clear_sfp, clear_dfp, clear_tf, clear_tfp): New patterns.
From-SVN: r30823
Jakub Jelinek [Wed, 8 Dec 1999 07:28:17 +0000 (08:28 +0100)]
sparc.md (sethi_di_medlow_embmedany_pic): Fix pattern so that it is actually matched.
* config/sparc/sparc.md (sethi_di_medlow_embmedany_pic): Fix pattern
so that it is actually matched.
(sethi_di_medlow): Likewise.
From-SVN: r30822
Jakub Jelinek [Wed, 8 Dec 1999 07:26:04 +0000 (08:26 +0100)]
sparc.c (hard_32bit_mode_classes): Mark registers suitable for holding OFmode values so that gcc works with...
* config/sparc/sparc.c (hard_32bit_mode_classes): Mark registers
suitable for holding OFmode values so that gcc works with complex
quad long doubles.
(hard_64bit_mode_classes): Likewise.
From-SVN: r30821
Richard Henderson [Wed, 8 Dec 1999 03:22:33 +0000 (19:22 -0800)]
loop.h (struct induction): Add multi_insn_incr.
* loop.h (struct induction): Add multi_insn_incr.
* loop.c (basic_induction_var): New multi_insn_incr argument.
Set it if we search back through previous insns for the biv.
(record_biv): New multi_insn_incr argument; fill in struct induction.
(strength_reduce): Discard an iv with multiple bivs, any of
which require multiple insns to increment.
From-SVN: r30820
Martin v. Löwis [Tue, 7 Dec 1999 22:00:33 +0000 (22:00 +0000)]
invoke.texi (C Dialect Options): Remove -flang-c9x, add -std documentation.
* invoke.texi (C Dialect Options): Remove -flang-c9x, add -std
documentation.
From-SVN: r30819
Jeff Law [Tue, 7 Dec 1999 08:45:06 +0000 (01:45 -0700)]
Daily bump.
From-SVN: r30817
Mark Mitchell [Tue, 7 Dec 1999 07:49:33 +0000 (07:49 +0000)]
tree.c (walk_tree): Don't recurse into DECL_INITIAL or DECL_SIZE unless...
* tree.c (walk_tree): Don't recurse into DECL_INITIAL or DECL_SIZE
unless we're declaring the variable in question.
From-SVN: r30816
Mark Mitchell [Tue, 7 Dec 1999 07:38:21 +0000 (07:38 +0000)]
tree.c (walk_tree): Don't recurse into DECL_INITIAL or DECL_SIZE unless...
* tree.c (walk_tree): Don't recurse into DECL_INITIAL or DECL_SIZE
unless we're declaring the variable in question.
From-SVN: r30815
David S. Miller [Tue, 7 Dec 1999 03:05:45 +0000 (19:05 -0800)]
combine.c (check_promoted_subreg): Do not conditionalize this upon PROMOTE_FUNCTION_RETURN.
* combine.c (check_promoted_subreg): Do not conditionalize this upon
PROMOTE_FUNCTION_RETURN.
From-SVN: r30814
Jim Wilson [Tue, 7 Dec 1999 00:24:38 +0000 (00:24 +0000)]
Fix ia64 abort while compiling gcc.c-torture/unsorted/logic.c.
* regmove.c (optimize_reg_copy_1): If no REG_DEAD note, check for
and handle REG_UNUSED note on insn.
From-SVN: r30813
Jim Wilson [Mon, 6 Dec 1999 23:22:47 +0000 (23:22 +0000)]
Fix ia64 execute/930630-1.c miscompilation.
* combine.c (force_to_mode, case LSHIFTRT): New local inner_mask. Set
inner_mask instead of mask.
From-SVN: r30812
Alexandre Petit-Bianco [Mon, 6 Dec 1999 19:56:58 +0000 (11:56 -0800)]
[multiple changes]
Tue Nov 30 12:36:15 1999 Anthony Green <green@cygnus.com>
* verify.c (verify_jvm_instructions): Create new return label
chain if non existant (don't rely on the verified state of the jsr
target.)
Tue Nov 23 17:29:40 1999 Alexandre Petit-Bianco <apbianco@cygnus.com>
* verify.c (merge_type_state): Non verified subroutines being
considered more than once to trigger passive type merge.
From-SVN: r30811
Jakub Jelinek [Mon, 6 Dec 1999 19:53:38 +0000 (20:53 +0100)]
sparc.h (ASM_DECLARE_REGISTER_GLOBAL): Document .register declaration.
* config/sparc/sparc.h (ASM_DECLARE_REGISTER_GLOBAL): Document
.register declaration. Don't use variables with __ prefixes.
From-SVN: r30810
Alexandre Petit-Bianco [Mon, 6 Dec 1999 19:49:06 +0000 (19:49 +0000)]
jcf-parse.c (saw_java_source): Global variable removed.
Wed Nov 24 17:33:26 1999 Alexandre Petit-Bianco <apbianco@cygnus.com>
* jcf-parse.c (saw_java_source): Global variable removed.
(read_class): Don't use `saw_java_source'. Added extra braces.
(yyparse): Code setting `saw_java_source' removed.
From-SVN: r30809
Jakub Jelinek [Mon, 6 Dec 1999 19:45:38 +0000 (20:45 +0100)]
combine.c (check_promoted_subreg, [...]): New functions.
* combine.c (check_promoted_subreg, record_promoted_value): New
functions.
(combine_instructions): Use them to retain nonzero and sign bit
information after SUBREGs are eliminated by optimizations in
this pass if PROMOTE_FUNCTION_RETURN.
From-SVN: r30808
Alexandre Petit-Bianco [Mon, 6 Dec 1999 19:37:30 +0000 (19:37 +0000)]
except.c (expand_end_java_handler): Call expand_resume_after_catch and end_catch_handler.
Wed Dec 1 04:25:06 1999 Alexandre Petit-Bianco <apbianco@cygnus.com>
* except.c (expand_end_java_handler): Call
expand_resume_after_catch and end_catch_handler.
From-SVN: r30807
Alexandre Petit-Bianco [Mon, 6 Dec 1999 19:31:25 +0000 (19:31 +0000)]
jcf-write.c (generate_byecode_insns): Fixed indentation for COMPOUND_EXPR and FIX_TRUNC_EXPR cases.
Tue Nov 30 12:28:34 1999 Alexandre Petit-Bianco <apbianco@cygnus.com>
* jcf-write.c (generate_byecode_insns): Fixed indentation for
COMPOUND_EXPR and FIX_TRUNC_EXPR cases.
* parse.y (patch_assignment): Removed bogus final class test on
lhs when checking on whether to emit an ArrayStoreException runtime
check.
* expr.c (expand_java_arraystore): Likewise.
From-SVN: r30806
Jakub Jelinek [Mon, 6 Dec 1999 19:31:13 +0000 (20:31 +0100)]
calls.c (save_fixed_argument_area): If save_mode is BLKmode, always use move_by_pieces to avoid infinite recursion.
* calls.c (save_fixed_argument_area): If save_mode is BLKmode,
always use move_by_pieces to avoid infinite recursion.
(restore_fixed_argument_area): Likewise.
From-SVN: r30805
Brendan Kehoe [Mon, 6 Dec 1999 19:16:52 +0000 (19:16 +0000)]
dwarf2out.c (field_byte_offset): As with dwarfout.c, size can be zero if there was an error.
* dwarf2out.c (field_byte_offset): As with dwarfout.c, size can be
zero if there was an error.
From-SVN: r30804
Jakub Jelinek [Mon, 6 Dec 1999 17:45:23 +0000 (18:45 +0100)]
sparc.c (input_operand): Allow HImode and QImode valid sethi operations when TARGET_ARCH64.
* config/sparc/sparc.c (input_operand): Allow HImode and QImode
valid sethi operations when TARGET_ARCH64.
From-SVN: r30803
Jakub Jelinek [Mon, 6 Dec 1999 17:41:19 +0000 (18:41 +0100)]
* longlong.h: Fix clobbers in SPARC asm statements.
From-SVN: r30802
Jakub Jelinek [Mon, 6 Dec 1999 17:38:07 +0000 (18:38 +0100)]
sparc.md (return_losum_di): Fix typo in asm output string.
* config/sparc/sparc.md (return_losum_di): Fix typo in asm
output string.
From-SVN: r30801
Richard Kenner [Mon, 6 Dec 1999 17:28:18 +0000 (17:28 +0000)]
fold-const.c (optimize_bit_field_compare): Only use one mode for both RHS and LHS in non-constant case.
* fold-const.c (optimize_bit_field_compare): Only use one mode
for both RHS and LHS in non-constant case.
From-SVN: r30800
Nathan Sidwell [Mon, 6 Dec 1999 14:02:16 +0000 (14:02 +0000)]
frame.c (start_fde_sort): Only allocate erratic array, if linear one was allocated.
* frame.c (start_fde_sort): Only allocate erratic array, if
linear one was allocated. Return allocated flag.
(fde_insert): Only insert, if there's a valid array.
(fde_end_sort): Split, sort and merge if linear and erratic
arrays exist, else just sort linear one.
(search_fdes): New function. Linear search through original fde
structure.
(frame_init): Permit multiple initializations. Cope with
memory shortages.
(find_fde): Fallback on linear search, if failed to sort array.
(__deregister_frame_info): Only free sorted array, if we
allocated it.
From-SVN: r30799
Alexandre Oliva [Mon, 6 Dec 1999 10:50:26 +0000 (10:50 +0000)]
* gcc.dg/ultrasp2.c: New test.
From-SVN: r30798
Mark Mitchell [Mon, 6 Dec 1999 10:36:16 +0000 (10:36 +0000)]
decl.c (init_decl_processing): #if 0 last patch.
* decl.c (init_decl_processing): #if 0 last patch.
(finish_function): Likewise.
From-SVN: r30797
Jakub Jelinek [Mon, 6 Dec 1999 10:09:20 +0000 (11:09 +0100)]
* config/sparc/sparc.h (MUST_PASS_IN_STACK): New macro.
From-SVN: r30796
Jeff Law [Mon, 6 Dec 1999 08:45:07 +0000 (01:45 -0700)]
Daily bump.
From-SVN: r30795
Anthony Green [Mon, 6 Dec 1999 06:33:56 +0000 (06:33 +0000)]
jvm.h: Declare many functions with __attribute__((__malloc__)).
* include/jvm.h: Declare many functions with
__attribute__((__malloc__)).
* gcj/javaprims.h: Ditto.
From-SVN: r30794
Jakub Jelinek [Mon, 6 Dec 1999 01:54:50 +0000 (02:54 +0100)]
* config/sparc/sparc.c (sparc64_initialize_trampoline): Use gen_flushdi.
From-SVN: r30793
Mark Mitchell [Sun, 5 Dec 1999 20:04:37 +0000 (20:04 +0000)]
decl.c (init_decl_processing): Set flag_inline_trees if !flag_no_inline.
* decl.c (init_decl_processing): Set flag_inline_trees if
!flag_no_inline.
From-SVN: r30792
Alex Samuel [Sun, 5 Dec 1999 18:29:15 +0000 (18:29 +0000)]
* g++.old-deja/g++.abi/align.C (main): Fix typo.
From-SVN: r30791
Mark Mitchell [Sun, 5 Dec 1999 18:13:48 +0000 (18:13 +0000)]
splay-tree.h (struct splay_tree_node): Rename to ...
* splay-tree.h (struct splay_tree_node): Rename to ...
(struct splay_tree_node_s): ... this.
(struct splay_tree): Rename to ...
(struct splay_tree_s): ... this.
* splay-tree.c (splay_tree_new): Use struct splay_tree_node_s
rather than struct splay_tree_node.
(splay_tree_insert): Use struct splay_tree_s rather than struct
splay_tree.
From-SVN: r30790
Mark Mitchell [Sun, 5 Dec 1999 17:58:46 +0000 (17:58 +0000)]
cp-tree.h (calls_setjmp_p): Declare.
* cp-tree.h (calls_setjmp_p): Declare.
* decl.c (finish_function): Mark functions that call setjmp as
uninlinable.
* optimize.c (calls_setjmp_r): New function.
(calls_setjmp_p): Likewise.
From-SVN: r30789
Mark Mitchell [Sun, 5 Dec 1999 17:53:14 +0000 (17:53 +0000)]
tree.h (special_function_p): Declare.
* tree.h (special_function_p): Declare.
* calls.c (special_function_p): Make it global. Don't take `name'
as a parameter. Fix typo in 1999-11-28 change.
(expand_cal): Adjust.
From-SVN: r30788
Mark Mitchell [Sun, 5 Dec 1999 17:51:50 +0000 (17:51 +0000)]
dwarf2out.c (add_abstract_origin_attribute): Don't abort when the original die cannot be found.
* dwarf2out.c (add_abstract_origin_attribute): Don't abort when
the original die cannot be found.
From-SVN: r30787
Jeff Law [Sun, 5 Dec 1999 08:45:07 +0000 (01:45 -0700)]
Daily bump.
From-SVN: r30786
Mark Mitchell [Sun, 5 Dec 1999 02:51:32 +0000 (02:51 +0000)]
Fix another typo
From-SVN: r30785
Mark Mitchell [Sun, 5 Dec 1999 02:46:48 +0000 (02:46 +0000)]
optimize.c (expand_call_inline): Wrap the expanded call in an EXPR_WITH_FILE_LOCATION node to get correct line...
* optimize.c (expand_call_inline): Wrap the expanded call in an
EXPR_WITH_FILE_LOCATION node to get correct line numbers for
inlined functions.
From-SVN: r30784
Mark Mitchell [Sun, 5 Dec 1999 02:42:10 +0000 (02:42 +0000)]
tree.def (EXPR_WITH_FILE_LOCATION): Fix comment formatting.
* tree.def (EXPR_WITH_FILE_LOCATION): Fix comment formatting.
* tree.h (EXPR_WFL_FILENAME): Define in terms of
EXPR_WFL_FILENAME_NODE.
(EXPR_WFL_FILENAME_NODE): Use the second operand slot rather than
the TREE_CHAIN.
* print-tree.c (print_note): Print TREE_PRIVATE and
TREE_PROTECTED.
From-SVN: r30783
Mark Mitchell [Sun, 5 Dec 1999 02:11:11 +0000 (02:11 +0000)]
Fix typo
From-SVN: r30782
Mark Mitchell [Sun, 5 Dec 1999 01:00:28 +0000 (01:00 +0000)]
optimize.c (inline_data): Remove fns_top.
* optimize.c (inline_data): Remove fns_top. Add scope_stmt. Add
in_target_cleanup_p.
(remap_decl): New function.
(remap_block): Likewise.
(copy_scope_stmt): Likewise.
(copy_body_r): Use remap_decl and copy_scope_stmt.
(copy_body): Use VARRAY_TOP_TREE.
(initialize_inlined_parameters): Likewise.
(declare_return_variable): Likewise.
(inlinable_function_p): Check flag_inline_trees.
(expand_call_inline): Handle SCOPE_STMTs and TARGET_EXPRs
specially. Use VARRAY_PUSH_TREE. Create a BLOCK for the
parameters of the inlined function.
(optimize_function): Prevent recursion into partially complete
functions.
From-SVN: r30781
Mark Mitchell [Sun, 5 Dec 1999 00:51:38 +0000 (00:51 +0000)]
cp-tree.def (SCOPE_STMT): Take one operand.
* cp-tree.def (SCOPE_STMT): Take one operand.
* cp-tree.h (SCOPE_STMT_BLOCK): New macro.
(SCOPE_NULLIFIED_P): Redefine.
(SCOPE_NO_CLEANUPS_P): New macro.
(add_scope_stmt): Change prototype.
* decl.c (poplevel): Tidy. Warn about unused variables here.
Record SCOPE_STMT_BLOCKs.
(finish_function): Keep DECL_INITIAL for functions that might be
inlined.
* ir.texi: Document SCOPE_NO_CLEANUPS_P.
* semantics.c: Include rtl.h.
(add_scope_stmt): Return the new scope statement and, for an
end-of-scope statement, its matching begin statement. Don't set
SCOPE_NULLIFIED_P.
(do_pushlevel): Simplify, now that we are always
function-at-a-time.
(do_poplevel): Likewise. Record SCOPE_STMT_BLOCKs.
(expand_stmt): Don't call expand_start_bindings or
expand_end_bindings for a scope with SCOPE_NO_CLEANUPS_P set.
* tree.c (copy_tree_r): Clear SCOPE_STMT_BLOCK rather than setting
SCOPE_NULLIFIED_P.
* Makefile.in (semantics.o): Depend on RTL_H.
From-SVN: r30780
Mark Mitchell [Sun, 5 Dec 1999 00:49:26 +0000 (00:49 +0000)]
cp-tree.def (SCOPE_STMT): Take one operand.
* cp-tree.def (SCOPE_STMT): Take one operand.
* cp-tree.h (SCOPE_STMT_BLOCK): New macro.
(SCOPE_NULLIFIED_P): Redefine.
(SCOPE_NO_CLEANUPS_P): New macro.
(add_scope_stmt): Change prototype.
* decl.c (poplevel): Tidy. Warn about unused variables here.
Record SCOPE_STMT_BLOCKs.
(finish_function): Keep DECL_INITIAL for functions that might be
inlined.
* ir.texi: Document SCOPE_NO_CLEANUPS_P.
* semantics.c: Include rtl.h.
(add_scope_stmt): Return the new scope statement and, for an
end-of-scope statement, its matching begin statement. Don't set
SCOPE_NULLIFIED_P.
(do_pushlevel): Simplify, now that we are always
function-at-a-time.
(do_poplevel): Likewise. Record SCOPE_STMT_BLOCKs.
(expand_stmt): Don't call expand_start_bindings or
expand_end_bindings for a scope with SCOPE_NO_CLEANUPS_P set.
* tree.c (copy_tree_r): Clear SCOPE_STMT_BLOCK rather than setting
SCOPE_NULLIFIED_P.
From-SVN: r30779
Mark Mitchell [Sun, 5 Dec 1999 00:37:56 +0000 (00:37 +0000)]
decl2.c (pending_statics_used): Make it a macro.
* decl2.c (pending_statics_used): Make it a macro.
(saved_inlines_used): Likewise.
(finish_static_data_member_decl): Use VARRAY_PUSH_TREE.
(mark_inline_for_output): Likewise.
(ssdf_decls_used): Remove.
(start_static_storage_duration_function): Use VARRAY_PUSH_TREE.
(generate_ctor_or_dtor_function): Adjust accordingly.
From-SVN: r30778
Mark Mitchell [Sun, 5 Dec 1999 00:20:43 +0000 (00:20 +0000)]
varray.h (varray_head_tag): Add elements_used.
* varray.h (varray_head_tag): Add elements_used.
(VARRAY_PUSH): New macro.
(VARRAY_POP): Likewise.
(VARRAY_TOP): Likewise.
Add variants of VARRAY_PUSH and VARRAY_POP for all varray element
types.
* varray.c (varray_init): Initialize elements_used.
* Makefile.in (BASIC_BLOCK_H): Add varray.h.
(INTEGRATE_H): New variable.
(integrate.o): Depend on INTEGRATE_H.
(unroll.o): Likewise.
From-SVN: r30777
Mark Mitchell [Sun, 5 Dec 1999 00:13:53 +0000 (00:13 +0000)]
function.h (insert_block_after_note): Declare.
* function.h (insert_block_after_note): Declare.
* function.c (insert_block_after_note): Split out from ...
(retrofit_block): ... here.
From-SVN: r30776
Mark Mitchell [Sun, 5 Dec 1999 00:10:31 +0000 (00:10 +0000)]
* stmt.c (expand_fixup): Fix typo in comment.
From-SVN: r30775
Jan Hubicka [Sat, 4 Dec 1999 13:21:53 +0000 (14:21 +0100)]
regmove.c (copy_src_to_dest): Remove loop_depth parameter.
* regmove.c (copy_src_to_dest): Remove loop_depth parameter.
(optimize_reg_copy_1): Remove REG_N_REFS updating code.
(optimize_reg_copy_2, copy_src_to_dest, fixup_match_2): Likewise.
(regmove_optimize, fixup_match_1): Likewise.
From-SVN: r30774
Michael Hayes [Sat, 4 Dec 1999 11:07:07 +0000 (11:07 +0000)]
flow.c (flow_loops_dump): Add missing argument when calling flow_loop_nested_p.
* flow.c (flow_loops_dump): Add missing argument when calling
flow_loop_nested_p.
From-SVN: r30773
Jeff Law [Sat, 4 Dec 1999 08:45:08 +0000 (01:45 -0700)]
Daily bump.
From-SVN: r30772
Geoff Keating [Sat, 4 Dec 1999 03:00:04 +0000 (03:00 +0000)]
c-common.c (enum attrs): Add A_NO_LIMIT_STACK.
* c-common.c (enum attrs): Add A_NO_LIMIT_STACK.
(init_attributes): Add A_NO_LIMIT_STACK.
(decl_attributes): Handle A_NO_LIMIT_STACK.
* c-decl.c (duplicate_decls): Handle DECL_NO_LIMIT_STACK.
* explow.c (allocate_dynamic_stack_space) [!HAVE_allocate_stack]:
Handle stack bounds checking.
* flags.h (flag_stack_check): Use the word 'probe' rather than
'check', because the flag doesn't actually cause any checking to
be done.
* function.c (expand_function_start): Set
current_function_limit_stack.
* function.h (struct function): Add limit_stack.
(current_function_limit_stack): Define.
* invoke.texi (Code Gen Options): Document new options.
* rtl.h: Declare stack_limit_rtx.
* toplev.c (stack_limit_rtx): New variable.
(decode_f_option): Handle new options -fstack-limit-register=REG,
-fstack-limit-symbol=IDENT, -fno-stack-limit.
(main): Add stack_limit_rtx as GC root.
* tree.h (DECL_NO_LIMIT_STACK): New macro.
(struct tree_decl): New member no_limit_stack.
* config/rs6000/rs6000.c (rs6000_allocate_stack_space): Handle
stack_limit_rtx.
* config/rs6000/rs6000.md (allocate_stack): Handle stack_limit_rtx.
(conditional_trap+1): Get new mnemonic correct.
(conditional_trap+2): New pattern for DImode traps.
* config/m68k/m68k.c (output_function_prologue): Handle
stack_limit_rtx.
* config/m68k/m68k.md (trap): New insn.
(conditional_trap): New insn.
* md.texi (Standard Names): Document `trap' and
`conditional_trap'.
* optabs.c (gen_cond_trap): Use start_sequence()/end_sequence()
so a cc0 setter doesn't get emitted at some random place in the
function.
* config/i960/i960.md (trap): New insn.
(conditional_trap): New expander.
(conditional_trap+1, conditional_trap+2): New insns for signed
and unsigned cases.
* config/i960/i960.c (i960_function_prologue): Use
STARTING_FRAME_OFFSET. Handle stack_limit_rtx.
Co-Authored-By: Greg McGary <gkm@gnu.org>
From-SVN: r30771
Greg McGary [Fri, 3 Dec 1999 19:02:20 +0000 (19:02 +0000)]
flags.h (warn_padded, [...]): Add global var decls.
* flags.h (warn_padded, warn_packed): Add global var decls.
* toplev.c (warn_padded, warn_packed): Add global var defns.
(W_options): Add warnings `-Wpacked' and `-Wpadded'.
* stor-layout.c (layout_record): Add local variable `type'
to hold often-used TREE_TYPE (field). Add local variable
`unpacked_align' to hold alignment that would be in force
if no `packed' attribute were present. Warn if `packed' attribute
is unnecessary, or even harmful. Warn when gcc inserts padding
to satisfy alignment requirements of members. Use NULL_TREE
when checking whether var_size is set.
* invoke.texi: Document new flags.
Co-Authored-By: Geoff Keating <geoffk@cygnus.com>
From-SVN: r30770
Alex Samuel [Fri, 3 Dec 1999 16:45:53 +0000 (16:45 +0000)]
align.C: New test.
* g++.old-deja/g++.abi/align.C: New test.
* g++.old-deja/g++.abi/aggregates.C: Likewise.
* g++.old-deja/g++.abi/bitfields.C: Likewise.
From-SVN: r30769
Nathan Sidwell [Fri, 3 Dec 1999 11:58:27 +0000 (11:58 +0000)]
* frame.c (fde_split): Reimplement to avoid variable sized array.
From-SVN: r30768
Jeff Law [Fri, 3 Dec 1999 08:45:06 +0000 (01:45 -0700)]
Daily bump.
From-SVN: r30767
Alexandre Oliva [Fri, 3 Dec 1999 04:17:09 +0000 (04:17 +0000)]
* config.guess, config.sub: Update from autoconf.
From-SVN: r30766
Mike Stump [Fri, 3 Dec 1999 03:31:44 +0000 (03:31 +0000)]
Fix p24939.
From-SVN: r30765
Anthony Green [Fri, 3 Dec 1999 03:00:39 +0000 (03:00 +0000)]
Updated the thanks list.
From-SVN: r30764
Bryce McKinlay [Thu, 2 Dec 1999 19:59:30 +0000 (19:59 +0000)]
natString.cc (equalsIgnoreCase): return false if anotherString is null.
* java/lang/natString.cc (equalsIgnoreCase): return false if
anotherString is null.
* java/lang/Boolean.java (valueOf): return FALSE if argument is
null.
From-SVN: r30763
J"orn Rennecke [Thu, 2 Dec 1999 19:09:23 +0000 (19:09 +0000)]
combine.c (try_combine): Before fixing up LOG_LINKS for the i3_subst_into_i2 case...
* combine.c (try_combine): Before fixing up LOG_LINKS for the
i3_subst_into_i2 case, check that GET_CODE (PATTERN (i2)) == PARALLEL.
From-SVN: r30762
Gavin Romig-Koch [Thu, 2 Dec 1999 18:52:01 +0000 (18:52 +0000)]
* invoke.texi: Document the mips option -mno-crt0
From-SVN: r30761
Mike Karr [Thu, 2 Dec 1999 16:31:58 +0000 (16:31 +0000)]
cccp.c (argdata): Added free_ptr member.
1999-12-02 Mike Karr <mkarr@mathworks.com>
* cccp.c (argdata): Added free_ptr member.
(macroexpand): Initialize free_ptr of each argument. When an
argument's buffers are freed, if the argument's free_ptr corresponds
to a buffer on the input stack, then return the free_ptr to that stack
frame, otherwise, free it.
(macarg): If an argument begins and ends on the same input stack level,
then transfer the free_ptr of that buffer to the argument in case
the stack is popped during the processing of a subsequent argument.
From-SVN: r30760
Bernd Schmidt [Thu, 2 Dec 1999 12:37:50 +0000 (12:37 +0000)]
Four new tests
From-SVN: r30759
Bernd Schmidt [Thu, 2 Dec 1999 11:27:31 +0000 (11:27 +0000)]
Prevent invalid transformations
From-SVN: r30758
Nick Clifton [Thu, 2 Dec 1999 10:53:39 +0000 (10:53 +0000)]
remove compile time warnings about uninitilaised fileds
From-SVN: r30757
Nick Clifton [Thu, 2 Dec 1999 10:18:36 +0000 (10:18 +0000)]
Pass pragma_getc and pragma_ungetc to HANDLE_PRAGMA.
From-SVN: r30756
Bryce McKinlay [Thu, 2 Dec 1999 10:09:24 +0000 (10:09 +0000)]
ServerSocket.java (ServerSocket): Bind to any interface if bindAddr is null.
1999-12-02 Bryce McKinlay <bryce@albatross.co.nz>
* libjava/java/net/ServerSocket.java (ServerSocket): Bind to any
interface if bindAddr is null.
From-SVN: r30755
Jan Hubicka [Thu, 2 Dec 1999 09:17:30 +0000 (10:17 +0100)]
i386.md (extend?f?f2): Force the input into a register, not the output.
* i386.md (extend?f?f2): Force the input into a register, not
the output.
From-SVN: r30754
Jeff Law [Thu, 2 Dec 1999 08:45:06 +0000 (01:45 -0700)]
Daily bump.
From-SVN: r30753
Richard Henderson [Thu, 2 Dec 1999 06:30:09 +0000 (22:30 -0800)]
* gcc.c-torture/execute/991201-1.c: New.
From-SVN: r30752
Jeff Law [Thu, 2 Dec 1999 01:44:52 +0000 (18:44 -0700)]
Fix cut-n-paste error in last change.
From-SVN: r30751
Jakub Jelinek [Thu, 2 Dec 1999 00:38:56 +0000 (01:38 +0100)]
sparc.md (movsf_const_intreg): Add constraints for regclass' sake.
* config/sparc/sparc.md (movsf_const_intreg): Add constraints for
regclass' sake.
(movdf_const_intreg_sp32): Likewise. Prefer the memory load
alternative because setting up 64bit constant is usually costly,
especially when reload is in progress or completed.
(movdf_const_intreg_sp64): Likewise.
(movdf_const_intreg split): Fix building up constants when
HOST_BITS_PER_WIDE_INT is 64 yet long is 32bit.
From-SVN: r30750
Jeffrey A Law [Thu, 2 Dec 1999 00:36:31 +0000 (00:36 +0000)]
combine.c (if_then_else_cond): Use const_true_rtx instead of const1_rtx for return values in EQ/NE comparison...
* combine.c (if_then_else_cond): Use const_true_rtx instead of
const1_rtx for return values in EQ/NE comparison against (const_int 0)
case.
From-SVN: r30749