Commit Graph

39434 Commits

Author SHA1 Message Date
Ira Ruben
99f78cddd7 Added changes to support -### (previously ok'ed by R. Henderson).
Added changes to prevent -save-temps from clobbering the
input file (previously ok'ed by R. Henderson).

2001-12-14  Ira Ruben	<ira@apple.com>

	Add -### option (displays driver-generated commands without
	executing and quotes all arguments).
	* doc/invoke.texi: Add -###.
	* gcc.c (verbose_only_flag) - New flag.
	* (execute): If -### write quoted arguments and return.
	* (display_help): Print meaning of -###.
	* (process_command): Handle -###.

2001-12-14  Ira Ruben	<ira@apple.com>

	Fix to no allow -save-temps to clobber user's source file.
	* gcc.c: Add static globals input_stat and input_stat_set.
	(do_spec_1): For 'g', 'u', 'U' case with save_temps_flag
	set, check that user's input file is not overwritten.
	(set_input): Reset input_stat_set for each new file.

From-SVN: r48019
2001-12-14 23:17:18 +00:00
Matthias Klose
f172748112 gcj.texi: Markup for man page generation.
* gcj.texi: Markup for man page generation. Document missing
	options printed by <tool> --help.
	Terminate description of gij's -ms option with a dot.
	* Make-lang.in ($(srcdir)/java/*.1): New targets.
	(java.generated-manpages java.install-man, java.uninstall,
	java-maintainer-clean) Updated.

From-SVN: r48016
2001-12-14 22:52:17 +00:00
Matthias Klose
3da33af300 texi2pod.pl: Merge changes from binutils' texi2pod.pl.
2001-12-12  Matthias Klose  <doko@debian.org>

	* texi2pod.pl: Merge changes from binutils' texi2pod.pl. Allows
	generation of more than one man page from one source.
	Add '-' to set of valid chars for an identifier.
	Let -D option accept flags of the form <flag>=<value>.
	Use \s+ for whitespace detection in '@c man' lines.
	Handle @set and @clear independent of $output.
	Substitute all @value{}'s in a line.

From-SVN: r48015
2001-12-14 22:46:31 +00:00
Geert Bosch
449d2be3bc config-lang.in: Update copyright notice
* config-lang.in: Update copyright notice

	* layout.adb: Remove commented out code.

	* mdllfile.ads: Update copyright notice. Fix header format.

	* sem_case.ads: Likewise.

	* sem_ch3.adb: Minor reformatting.

From-SVN: r48014
2001-12-14 23:31:14 +01:00
Tom Tromey
1808372b58 For PR libgcj/5103:
* libjava.jni/cxxtest.out: New file.
	* libjava.jni/cxxtest.cc: New file.
	* libjava.jni/cxxtest.java: New file.
	* libjava.jni/jni.exp (gcj_jni_test_one): If there is no .c file,
	assume there is a .cc file.

From-SVN: r48012
2001-12-14 21:56:29 +00:00
Jan Hubicka
27b2c32e31 * predict.c (estimate_probability): Fix LOOP_EXIT heuristic.
From-SVN: r48010
2001-12-14 21:28:49 +00:00
Zack Weinberg
29655d3d5c combine.c (record_dead_and_set_regs): Use regs_invalidated_by_call.
* combine.c (record_dead_and_set_regs): Use
	regs_invalidated_by_call.  Don't note stores for CALL_INSNs.

From-SVN: r48009
2001-12-14 21:20:03 +00:00
Andreas Jaeger
dc6f415864 builtins.def: Rename BUILT_IN_FSQRT to BUILT_IN_SQRT and __builtin_fsqrt to __builtin_sqrt.
2001-12-14  Roger Sayle <roger@eyesopen.com>

	* builtins.def: Rename BUILT_IN_FSQRT to BUILT_IN_SQRT and
	__builtin_fsqrt to __builtin_sqrt.
	* builtins.c (expand_builtin_mathfn,expand_builtin): Same.
	* doc/extend.texi: Simplify documentation to match patch.
f:
	* com-rt.def: Use __builtin_sqrt instead of __builtin_fsqrt.
	* com.c (ffecom_init_0): Same, and fixed enumeration usage.
libstdc++-v3:
	* acconfig.h: Test for __builtin_sqrt instead of
	__builtin_fsqrt.
	* acinclude.m4: Same.
	* include/c_shadow/bits/std_cmath.h: Same.
	* aclocal.m4: Regenerated.
	* config.h.in: Regenerated.
	* configure: Regenerated.

From-SVN: r48008
2001-12-14 22:06:35 +01:00
Jan Hubicka
e10e23ee51 config.gcc: Revamp target_cpu_default2 to strings; support new x86 variants.
* config.gcc: Revamp target_cpu_default2 to strings;
	support new x86 variants.

From-SVN: r48007
2001-12-14 20:43:41 +00:00
Jan Hubicka
f436562730 config.gcc: Revamp target_cpu_default2 to strings; support new x86 variants.
* config.gcc: Revamp target_cpu_default2 to strings;
	support new x86 variants.
	* i386.c (override_options): Default x86_cpu_string and x86_arch_string
	properly; set prefetch_sse.
	* i386.h (x86_prefetch_sse): Declare.
	(TARGET_PREFETCH_SSE): New.
	(CPP_CPU_DEFAULT_SPEC): Define according to the new macros.
	(TARGET_CPU_DEFAULT_*): New.
	* config/i386/i386.h (struct processor_costs): Add new members
	  prefetch_block and simultaneous_prefetches.
	  (PREFETCH_BLOCK, SIMULTANEOUS_PREFETCHES): New.
	* config/i386/i386.c (processor_costs structs): Add values for
	  prefetch_block and simultaneous_prefetches.
	* config/i386/i386.md (unspec values): Remove values for prefetch
	  operations, which now use the PREFETCH rtx code.
	  (prefetch_sse, prefetch_3dnow, prefetchw): Combine to use new
	  unified prefetch support.

From-SVN: r48006
2001-12-14 20:27:05 +00:00
Jason Merrill
4ff8507ec5 diagnostic.c (sorry): Increment sorrycount before saving the buffer state.
* diagnostic.c (sorry): Increment sorrycount before saving the
        buffer state.

From-SVN: r48005
2001-12-14 15:13:55 -05:00
Hans Boehm
eec875422f class.c (get_dispatch_table): Fix java vtable layout for TARGET_VTABLE_USES_DESCRIPTORS.
* class.c (get_dispatch_table): Fix java vtable layout
	for TARGET_VTABLE_USES_DESCRIPTORS.
	* decl.c (java_init_decl_processing): Initialize
	alloc_no_finalizer_node, finalize_identifier_node.
	* expr.c (class_has_finalize_method): New function.
	(expand_java_NEW): Generate calls for finalizer-free allocation.
	(build_invokevirtual): Fix java vtable layout for
	TARGET_VTABLE_USES_DESCRIPTORS.
	* java-tree.h (enum java_tree_index): New entries:
	JTI_ALLOC_NO_FINALIZER_NODE, JTI_FINALIZE_IDENTIFIER_NODE.
	(alloc_no_finalizer_node, finalize_deintifier_node): New macros.
	(class_has_finalize_method): declare.
	(HAS_FINALIZER_P): New macro.
	* parse.y (patch_invoke): Generate calls for finalizer-free
	allocation.

From-SVN: r48004
2001-12-14 19:01:02 +00:00
Jan Hubicka
abf80f8ff8 * i386.md (sqrt?f): Fix conditionals.
From-SVN: r48003
2001-12-14 18:54:46 +00:00
Hans Boehm
938f37772e prims.cc: Some old cleanups.
* libjava/prims.cc: Some old cleanups.  The collector now
	handles test for out of memory.
	* libjava/prims.cc, libjava/gcj/javaprims.h:
	(_Jv_AllocObjectNoInitNoFinalizer, _Jv_AllocObjectNoFinalizer):
	New functions for finalizer-free allocation.
	(jvmpi_notify_alloc): Became separate function.
	* libjava/java/lang/Object.h, libjava/include/jvm.h: Adjust for
	revised vtable layout on IA64.  With TARGET_VTABLE_USES_DESCRIPTORS,
	there is only one extra descriptor.

From-SVN: r48002
2001-12-14 18:43:55 +00:00
Douglas B Rupp
b6bfa8766b config.gcc (alpha64-dec-*vms*): New case.
* config.gcc (alpha64-dec-*vms*): New case.
	* config/alpha/t-vms64, config/alpha/vms-crt0-64.c: New files.
	* config/alpha/vms-psxcrt0-64.c, config/alpha/vms64.h: Likewise.
	* config/alpha/xm-vms64.h: Likewise.

From-SVN: r48001
2001-12-14 07:55:07 -05:00
Douglas B Rupp
c1bd46a8d4 alpha.c (vms_attribute_table): Add new attributes.
* config/alpha/alpha.c (vms_attribute_table): Add new attributes.
	(alpha_write_linkage): Test for null alpha_links.
	(SECTION_VMS_GLOBAL, SECTION_VMS_INITIALIZE): New section attributes.
	(vms_section_type_flags, vms_asm_named_section): Handle them.

From-SVN: r48000
2001-12-14 07:39:08 -05:00
Jan Hubicka
965f5423cd i386.c (ix86_fpmath, [...]): New.
Fri Dec 14 12:05:14 CET 2001  Jan Hubicka  <jh@suse.cz>

	* i386.c (ix86_fpmath, ix86_fpmath_string): New.
	(override_option): Set ix86_fpmath.
	* i386.h (MASK_MIX_SSE_I387): Remove.
	(TARGET_SSE_MATH): New.
	(TARGET_MIX_SSE_I387): Use ix86_fpmath.
	(TARGET_SWITCHES): Remove "mix-sse-i387".
	(fpmath_unit): New enum.
	(ix86_fpmath, ix86_fpmath_string): Declare.
	* i386.md (swapsf): Fix condition.
	(add?f, sub?f, mul?f, div?f, sqrt?f, min?f): Use TARGET_SSE_MATH.
	(fp_?f_*_nosse): New.
	(fp_*): Use TARGET_SSE_MATH.
	* invoke.texi (-mfpmath): Document.
	(-msse2): Add.

From-SVN: r47999
2001-12-14 11:20:27 +00:00
Jason Merrill
009c32817a tweak comment
From-SVN: r47998
2001-12-14 06:19:28 -05:00
Jason Merrill
a4cf1d8534 dwarf2out.c (output_die): Print the string in the comment for a DW_FORM_strp.
* dwarf2out.c (output_die): Print the string in the comment for
        a DW_FORM_strp.

From-SVN: r47997
2001-12-14 06:15:36 -05:00
Richard Earnshaw
172270b3d1 * netbsd.h (COLLECT_SHARED_INIT_FUNC)
(COLLECT_SHARD_FINI_FUNC): Remove redundant semicolon.
* doc/tm.texi (COLLECT_SHARED_INIT_FUNC)
(COLLECT_SHARD_FINI_FUNC): Use @code where appropriate.

From-SVN: r47996
2001-12-14 11:03:49 +00:00
GCC Administrator
e82c2b28d1 Daily bump.
From-SVN: r47995
2001-12-14 08:16:45 +00:00
Richard Henderson
3de237276c regrename.c (kill_value_regno): Simplify chain removal.
* regrename.c (kill_value_regno): Simplify chain removal.
        (kill_value): Kill all of HARD_REGNO_NREGS.
        (kill_set_value): Use kill_value not kill_value_regno.
        (kill_autoinc_value): Likewise.
        (copyprop_hardreg_forward): Don't collect refresh_blocks.
        Call delete_noop_moves.

From-SVN: r47992
2001-12-13 22:47:56 -08:00
Aldy Hernandez
c178fe8964 altivec-4.c: New.
2001-12-13  Aldy Hernandez  <aldyh@redhat.com>

	* gcc.dg/altivec-4.c: New.

From-SVN: r47991
2001-12-14 06:37:02 +00:00
Aldy Hernandez
c3f23a53ba attribs.c (c_common_attribute_table): Swap decl_req and type_req for the mode attribute.
* attribs.c (c_common_attribute_table): Swap decl_req and type_req
	for the mode attribute.
        (handle_mode_attribute): Handle types, not decls.

From-SVN: r47990
2001-12-14 06:36:14 +00:00
Aldy Hernandez
803e889402 attribs.c (c_common_attribute_table): Swap decl_req and type_req for the mode attribute.
2001-12-09  Aldy Hernandez  <aldyh@redhat.com>

        * attribs.c (c_common_attribute_table): Swap decl_req and type_req
	for the mode attribute.
        (handle_mode_attribute): Handle types, not decls.

From-SVN: r47989
2001-12-14 06:27:51 +00:00
Jason Merrill
82d351a634 c-common.h (COMPOUND_STMT_BODY_BLOCK): New macro.
* c-common.h (COMPOUND_STMT_BODY_BLOCK): New macro.

        Use cleanups to run base and member destructors.
        * init.c (push_base_cleanups): New function, split out from...
        (build_delete): ...here.  Lose !TYPE_HAS_DESTRUCTOR code.
        * decl.c (finish_destructor_body): Move vbase destruction code to
        push_base_cleanups.
        (begin_function_body, finish_function_body): New fns.
        (finish_function): Move [cd]tor handling and call_poplevel to
        finish_function_body.
        (pushdecl): Skip the new level.
        * semantics.c (genrtl_try_block): Don't call end_protect_partials.
        (setup_vtbl_ptr): Call push_base_cleanups.
        * method.c (synthesize_method): Call {begin,end}_function_body.
        * pt.c (tsubst_expr): Handle COMPOUND_STMT_BODY_BLOCK.
        * cp-tree.h: Declare new fns.
        * parse.y (function_body, .begin_function_body): New nonterminals.
        (fndef, pending_inline, function_try_block): Use function_body.
        (ctor_initializer_opt, function_try_block): No longer has a value.
        (base_init): Remove .set_base_init token.
        (.set_base_init, compstmt_or_error): Remove.
        * Make-lang.in (parse.c): Expect two fewer s/r conflicts.

From-SVN: r47988
2001-12-13 22:08:50 -05:00
Jason Merrill
ade3dc07d5 c-common.h (COMPOUND_STMT_BODY_BLOCK): New macro.
* c-common.h (COMPOUND_STMT_BODY_BLOCK): New macro.

        * Make-lang.in (parse.h): Separate rule, just depend on parse.c.

        Use cleanups to run base and member destructors.
        * init.c (push_base_cleanups): New function, split out from...
        (build_delete): ...here.  Lose !TYPE_HAS_DESTRUCTOR code.
        * decl.c (finish_destructor_body): Move vbase destruction code to
        push_base_cleanups.
        (begin_function_body, finish_function_body): New fns.
        (finish_function): Move [cd]tor handling and call_poplevel to
        finish_function_body.
        (pushdecl): Skip the new level.
        * semantics.c (genrtl_try_block): Don't call end_protect_partials.
        (setup_vtbl_ptr): Call push_base_cleanups.
        * method.c (synthesize_method): Call {begin,end}_function_body.
        * pt.c (tsubst_expr): Handle COMPOUND_STMT_BODY_BLOCK.
        * cp-tree.h: Declare new fns.
        * parse.y (function_body, .begin_function_body): New nonterminals.
        (fndef, pending_inline, function_try_block): Use function_body.
        (ctor_initializer_opt, function_try_block): No longer has a value.
        (base_init): Remove .set_base_init token.
        (.set_base_init, compstmt_or_error): Remove.
        * Make-lang.in (parse.c): Expect two fewer s/r conflicts.

From-SVN: r47987
2001-12-13 22:01:59 -05:00
Aldy Hernandez
466eb3e085 rs6000.md (eh_set_lr_di): Change scratch constraint to base register.
2001-12-13  Aldy Hernandez  <aldyh@redhat.com>

		* config/rs6000/rs6000.md (eh_set_lr_di): Change scratch
        constraint to base register.
        (eh_set_lr_si): Same.

From-SVN: r47986
2001-12-14 02:43:26 +00:00
Jason Merrill
4fc1261764 restore # lines
From-SVN: r47985
2001-12-13 21:30:48 -05:00
Hans-Peter Nilsson
05c8e58b27 expr.c (expand_expr, [...]): Don't honor flag_force_addr for modifier != EXPAND_CONST_ADDRESS...
* expr.c (expand_expr, case ADDR_EXPR): Don't honor
	flag_force_addr for modifier != EXPAND_CONST_ADDRESS,
	modifier != EXPAND_INITIALIZER and modifier != EXPAND_SUM.

	* gcc.dg/20011113-1.c: New test.

From-SVN: r47984
2001-12-14 02:16:33 +00:00
Richard Kenner
1ed1b4fbd8 expr.c (copy_blkmode_from_reg): Add missing braces to eliminate warning and reformat comments.
* expr.c (copy_blkmode_from_reg): Add missing braces to eliminate
	warning and reformat comments.
	(expand_assignment): Don't pass EXPAND_WRITE if LHS is component.
	(highest_pow2_factor, case INTEGER_CST): Return BIGGEST_ALIGNMENT
	if overflow.

From-SVN: r47983
2001-12-13 20:37:46 -05:00
Aldy Hernandez
10baca6bed rs6000.c (rs6000_override_options): Add SUBSUBTARGET_OVERRIDE_OPTIONS.
* config/rs6000/rs6000.c (rs6000_override_options): Add
        SUBSUBTARGET_OVERRIDE_OPTIONS.

        * config/rs6000/eabialtivec.h: New file.

	* config/rs6000/linuxaltivec.h: New file.

	* config.gcc: Add powerpc-*-eabialtivec and
	powerpc-*-linux-gnualtivec.

From-SVN: r47981
2001-12-13 23:14:45 +00:00
Phil Edwards
855d2bdb6b howto.html: Fix typos.
2001-12-13  Phil Edwards  <pme@gcc.gnu.org>

	* docs/html/ext/howto.html:  Fix typos.

From-SVN: r47980
2001-12-13 23:11:49 +00:00
Neil Booth
a32274ad98 toplev.c (process_options, [...]): Set flag_no_inline before the post_options hook.
* toplev.c (process_options, parse_options_and_default_flags):
	Set flag_no_inline before the post_options hook.

From-SVN: r47979
2001-12-13 21:37:27 +00:00
Richard Henderson
4a78c78760 emit-rtl.c (adjust_address_1): Don't adjust address if adjust is false.
* emit-rtl.c (adjust_address_1): Don't adjust address if adjust
        is false.

From-SVN: r47978
2001-12-13 09:50:02 -08:00
John David Anglin
72dd53af50 template31.C: Remove templates for classes std::__malloc_alloc_template<0> and...
* g++.old-deja/g++.jason/template31.C: Remove templates for classes
        std::__malloc_alloc_template<0> and
	std::__default_alloc_template<false, 0>.

From-SVN: r47977
2001-12-13 17:20:20 +00:00
Jason Merrill
4a90862e3a * optimize.c (maybe_clone_body): Fix parameter updating.
From-SVN: r47976
2001-12-13 10:06:42 -05:00
Richard Earnshaw
414e05cffb * collect2.c (COLLECT_SHARED_INIT_FUNC)
(COLLECT_SHARD_FINI_FUNC): Define default values.
(write_c_file_stat): Use them to call construtor and destructor
functions in shared libraries.
* doc/tm.texi (COLLECT_SHARED_INIT_FUNC)
(COLLECT_SHARD_FINI_FUNC): Document them.
* config/netbsd.h (COLLECT_SHARED_INIT_FUNC)
(COLLECT_SHARD_FINI_FUNC): Define.

* config/netbsd.h (LINK_SPEC): Don't pull in estart if creating a
shared library.  Pass -shared through to the linker.
* config/arm/netbsd.h (LINK_SPEC): Likewise.

* config/arm/t-netbsd (TARGET_LIBGCC2_CFLAGS): Add -fpic.
(SHLIB_EXT, SHLIB_NAME, SHLIB_SONAME, SHLIB_OBJS, SHLIB_LINK)
(SHLIB_INSTALL): Define.

From-SVN: r47975
2001-12-13 14:24:03 +00:00
Richard Kenner
3a79cccbde Update whitespace.
From-SVN: r47974
2001-12-13 09:23:21 -05:00
Richard Earnshaw
a3c48721b5 arm.c (legitimize_pic_address): Handle LABEL_REFs in substantially the same way as we handle SYMBOL_REFS.
* arm.c (legitimize_pic_address): Handle LABEL_REFs in substantially
the same way as we handle SYMBOL_REFS.

From-SVN: r47973
2001-12-13 13:58:47 +00:00
Richard Kenner
62ab1cafcf loop.c (remove_constant_addition): Fix prototype and whitespace.
* loop.c (remove_constant_addition): Fix prototype and whitespace.
	(emit_prefetch_instructions): Remove warnings and whitespace
	changes.

From-SVN: r47972
2001-12-13 07:56:49 -05:00
Nicola Pero
c03bc36d9d New objc tests for bitfield enumeration ivars
From-SVN: r47971
2001-12-13 12:41:07 +00:00
Douglas B Rupp
c48f792cee vms-cc.c (preprocess_args): Fix forward declaration.
* config/alpha/vms-cc.c (preprocess_args): Fix forward
	declaration.

From-SVN: r47970
2001-12-13 06:55:26 -05:00
Jan Hubicka
0dd0e980b5 predict.c (estimate_probability): Reorganize opcode heuristics.
* predict.c (estimate_probability): Reorganize opcode heuristics.
	* predict.def (PRED_OPCODE_POSITIVE, PRED_OPCODE_NONEQUAL,
	PRED_FPOPCODE): New.

	* i386.c (override_options): Recognize various CPU variants and set
	SSE/MMX/3dNOW flags accordingly.
	* i386.h (MASK_MMX_SET, MASK_SSE_SET, MASK_SSE2_SET, MASK_3DNOW_SET,
	MASK_3DNOW_A_SET): New.
	(MASK_ACCUMULATE_OUTGOING_ARGS_SET): New.
	(MASK_NO_ACCUMULATE_OUTGOING_ARGS): Delete.
	(MASK_*): Renumber.
	(TARGET_FLAGS): Use new masks.
	(CPP_CPU_SPECS): Recognize new CPU variants.
	* invoke.texi (-mcpu): Update documentation.

	* flags.h (flag_prefetch_loop_arrays): Declare.
	* loop.h (LOOP_PREFETCH): Define new constant.
	* loop.c (strength_reduce): Call emit_prefetch_instructions.
	(MAX_PREFETCHES, PREFETCH_BLOCKS_BEFORE_LOOP_MAX,
	PREFETCH_BLOCKS_BEFORE_LOOP_MIN, PREFETCH_BLOCKS_IN_LOOP_MIN): New
	constants.
	(check_store_data): New structure.
	(check_store, emit_prefetch_instructions, rtx_equal_for_prefetch_p):
	New functions.
	* toplev.c: Include insn-flags.h.
	(flag_prefetch_loop_arrays): New global variable.
	(lang_independent_option): Add -fprefetch-loop-arrays.
	(rest_of_compilation) Pass LOOP_PREFETCH when flag_prefetch_loop_arrays
        is set.
	* Makefile.in (toplev.c): Depend on insn-flags.h.
	* invoke.texi (-fprefetch-loop-arrays): Document.

	* predict.c (estimate_probability): Distribute the loop exit
	probability according to number of exit edges.

	* cfgcleanup.c (insns_match_p): Break out from ...;
	(flow_find_cross_jump): ... here;
	(outgoing_edges_match): Add parameter MODE; attempt to match everything
	except for tablejumps.
	(try_crossjump_to_edge): Accept complex edges.
	(try_crossjump_bb): Likewise.

From-SVN: r47969
2001-12-13 11:34:11 +00:00
Benjamin Kosnik
85230e5255 locale.cc (locale::locale(const char*)): Deal with locales named "".
2001-12-13  Benjamin Kosnik  <bkoz@redhat.com>

	libstdc++/3679
	* src/locale.cc (locale::locale(const char*)): Deal with locales
	named "".
	* testsuite/22_locale/ctor_copy_dtor.cc (test01): Modify.

From-SVN: r47968
2001-12-13 11:12:56 +00:00
GCC Administrator
3af44a8e3f Daily bump.
From-SVN: r47966
2001-12-13 08:16:52 +00:00
Tom Tromey
4e41d14893 prims.cc (_Jv_RunMain): Use `using' to simplify code.
* prims.cc (_Jv_RunMain): Use `using' to simplify code.  Set
	_Jv_Jar_Class_Path early.

From-SVN: r47965
2001-12-13 04:19:36 +00:00
Jason Merrill
a0de9d2025 decl.c (store_parm_decls): Remove parms_have_cleanups cruft.
* decl.c (store_parm_decls): Remove parms_have_cleanups cruft.
        * semantics.c (genrtl_start_function): Don't pass
        parms_have_cleanups or push an extra binding level.
        (genrtl_finish_function): Lose cleanup_label cruft.

        * cp-tree.h (struct cp_language_function): Remove x_ctor_label.
        (ctor_label): Remove.
        * semantics.c (finish_return_stmt): Lose ctor_label support.
        * decl.c (finish_constructor_body, mark_lang_function): Likewise.
        * typeck.c (check_return_expr): Check DECL_DESTRUCTOR_P, not
        dtor_label.

        * call.c (build_new_method_call): Let resolves_to_fixed_type_p
        check for [cd]tors.
        * class.c (fixed_type_or_null, case INDIRECT_REF): Fix.

        * decl.c (finish_function): Check VMS_TARGET, not VMS.

        * decl.c (start_cleanup_fn): Remove redundant pushlevel.
        (end_cleanup_fn): And poplevel.

        * semantics.c (setup_vtbl_ptr): Always build a CTOR_INITIALIZER
        if we're in a template.

From-SVN: r47962
2001-12-12 20:37:52 -05:00
Corey Minyard
aff8a8d52b recog.c (validate_replace_rtx_1): Use simplify_gen_binary instead of plus_constant.
* recog.c (validate_replace_rtx_1): Use simplify_gen_binary
        instead of plus_constant.
        * simplify-rtx.c (neg_const_int): New.
        (simplify_gen_binary, simplify_plus_minus): Use it.

From-SVN: r47961
2001-12-12 17:21:52 -08:00
Roger Sayle
c2bd38e892 builtins.c (expand_builtin_memset, [...]): Additional arguments TARGET and MODE.
* builtins.c (expand_builtin_memset, expand_builtin_memcpy,
        expand_builtin_strcpy): Additional arguments TARGET and MODE.
        (expand_builtin_bzero, expand_builtin_strcpy,
        expand_builtin_strncpy, expand_builtin_bzero): Pass additional
        TARGET and MODE parameters to the above functions.
        (expand_builtin_memset, expand_builtin_memcpy): Optimize the
        case where the LEN parameter is constant zero.
        (expand_builtin_memcmp): No longer conditional on
        HAVE_cmpstrsi.  Take an additional mode parameter.  Optimize
        the cases where len is either constant zero or one.
        Optimize to call to memcpy, even if the memcpy isn't inlined.
        (expand_builtin_strncpy): Optimize to call memcpy, even if the
        memcpy isn't inlined.
        (expand_builtin_strcmp, expand_builtin_strncmp): Always attempt
        to optimize to a call to memcmp.
        (expand_builtin): expand_builtin_memcmp can always be called,
        and pass the required parameters to expand_builtin_memcmp,
        expand_builtin_memset, expand_builtin_memcpy and
        expand_builtin_strcpy.

        * gcc.c-torture/execute/string-opt-14.c: New test case.
        * gcc.c-torture/execute/string-opt-15.c: New test case.

From-SVN: r47960
2001-12-12 16:43:51 -08:00