Commit Graph

26124 Commits

Author SHA1 Message Date
Jan Hubicka
79f05c19ca i386.md (movstrsi, clrstrsi): Support variable sized copies, align destination when needed.
* i386.md (movstrsi, clrstrsi): Support variable sized copies, align
	destination when needed.
	(strmovsi, strsetsi): New expander.
	(strmovsi_1, strsetsi_1): New pattern.
	* i386.h (MASK_NO_ALIGN_STROP, MASK_INLINE_ALL_STROP,
	TARGET_ALIGN_STRINGOPS, TARGET_INLINE_ALL_STRINGOPS): New macros.
	(TARGET_SWITCHES) Add align-stringops and inline-all-stringops.
	* invoke.texi (align-stringops, inline-all-stringops): Document.

From-SVN: r31773
2000-02-03 14:10:02 +00:00
Nathan Sidwell
31a72d3f3e cast3.C: Return void.
* g++.old-deja/g++.jason/cast3.C: Return void.
	* g++.old-deja/g++.pt/dynarray.C: Don't be pedantic.

From-SVN: r31772
2000-02-03 13:43:49 +00:00
Jeff Law
b8f10c6eca Daily bump.
From-SVN: r31769
2000-02-03 01:45:07 -07:00
Scott Bambrough
9b4a08f945 gjavah.c (D_NAN_MASK): Alternate definition required when HOST_FLOAT_WORDS_BIG_ENDIAN is defined to be 1.
2000-01-31  Scott Bambrough  <scottb@netwinder.org>

	* gcc/java/gjavah.c (D_NAN_MASK): Alternate definition required when
	HOST_FLOAT_WORDS_BIG_ENDIAN is defined to be 1.
	(java_float_finite): Convert to use union Word from javaop.h.
	(java_double_finite): Convert to use union DWord from javaop.h.

From-SVN: r31768
2000-02-03 06:46:30 +00:00
Tom Tromey
de3807234a gjavah.c (options): Added `jni' entry.
* gjavah.c (options): Added `jni' entry.
	(help): Document -jni.
	(flag_jni): New global.
	(process_file): Handle JNI output.  Don't print text from
	-prepend, -add, etc, when generating stubs.  Only remove `.class'
	suffix if it actually exists.
	(main): Create a `.c' file when run with `--jni --stubs'.  Create
	correct output file name with `--jni'.
	(print_include): Mangle header name differently in JNI case.
	(HANDLE_METHOD): In JNI mode, call print_method_info to generate
	method list.
	(print_method_info): Handle JNI case.  Put signature info into
	method name.  Handle case when STREAM is NULL.
	(print_name_for_stub_or_jni): New function.
	(print_stub_or_jni): Renamed from `print_stub'.  Handle JNI.
	(print_cxx_classname): Handle JNI.
	(print_full_cxx_name): Likewise.
	(decode_signature_piece): Likewise.
	(overloaded_jni_method_exists_p): New function.
	(struct method_name): Added `signature' and `sig_length' fields.
	(HANDLE_END_FIELD): Do nothing in JNI mode.

From-SVN: r31767
2000-02-03 06:13:46 +00:00
Krister Walfridsson
cf8e13bbc8 * i386/netbsd.h (INT_ASM_OP): Define.
From-SVN: r31766
2000-02-02 15:27:03 -08:00
Tom Tromey
c89c53eb67 jv-scan.c: Include version.c, <getopt.h>.
* jv-scan.c: Include version.c, <getopt.h>.
	(LONG_OPT, OPT_HELP, OPT_VERSION): New macros.
	(options): New array.
	(usage): New function.
	(version): New function.
	(main): Use getopt_long to parse command line.
	* jcf-dump.c: Include version.c, <getopt.h>.
	(LONG_OPT, OPT_classpath, OPT_CLASSPATH, OPT_HELP, OPT_VERSION,
	OPT_JAVAP): New macros.
	(options): New array.
	(usage): Return `void'.  Changed message.
	(help): New function.
	(version): New function.
	(main): Use getopt_long_only to parse command line.
	* gjavah.c: Include <getopt.h>.
	(LONG_OPT, OPT_classpath, OPT_CLASSPATH, OPT_HELP, OPT_TEMP,
	OPT_VERSION, OPT_PREPEND, OPT_FRIEND, OPT_ADD, OPT_APPEND, OPT_M,
	OPT_MM, OPT_MG, OPT_MD, OPT_MMD): New macros.
	(options): New array.
	(java_no_argument): Removed.
	(help): Updated with missing options.
	(main): Use getopt_long_only to parse command line.
	(usage): Changed message.

From-SVN: r31765
2000-02-02 21:55:39 +00:00
Zack Weinberg
2e695cbbc1 Add -Wunused to dg-options
From-SVN: r31764
2000-02-02 21:43:17 +00:00
Zack Weinberg
5237f531da cpplib.h (cpp_reader): Add new flag, no_directives.
* cpplib.h (cpp_reader): Add new flag, no_directives.
	* cpphash.c (macarg): Set it.
	* cpplib.c (handle_directive): If no_directives is on and we
	find a directive, issue an error and discard the line.

From-SVN: r31763
2000-02-02 21:41:35 +00:00
Jim Wilson
3e7cd49fee Fix sparc -msoft-float abort while compiling newlib.
* config/sparc/sparc.h (PREFERRED_RELOAD_CLASS): Delete 'E' check for
	FP constants.  Add ! TARGET_FPU check for FP constants.

From-SVN: r31762
2000-02-02 13:08:47 -08:00
Clinton Popetz
2cade2ad5d flow.c (find_basic_blocks): Don't kill label_value_list here.
* flow.c (find_basic_blocks): Don't kill label_value_list
	here.
	(cleanup_cfg): Kill it here.

From-SVN: r31760
2000-02-02 08:56:01 -05:00
Richard Kenner
c297a34efe expr.c (store_field): Ensure ALIGN is no stricter than the alignment of EXP.
* expr.c (store_field): Ensure ALIGN is no stricter than the
	alignment of EXP.

From-SVN: r31759
2000-02-02 08:04:50 -05:00
Richard Henderson
a7c197f8eb jump.c (delete_insn): Partially revert 19 Jan change; don't convert unused code labels to notes at -O0.
* jump.c (delete_insn): Partially revert 19 Jan change;
        don't convert unused code labels to notes at -O0.

From-SVN: r31758
2000-02-02 01:41:03 -08:00
Jeff Law
095cf96da0 Daily bump.
From-SVN: r31757
2000-02-02 01:45:06 -07:00
Herman A.J. ten Brugge
0edaaa41bb toplev.c (rest_of_compilation): Run rebuild_jump_labels after split_all_insns to recreate REG_LABEL notes for...
* toplev.c (rest_of_compilation): Run rebuild_jump_labels after
        split_all_insns to recreate REG_LABEL notes for flow2 pass.

From-SVN: r31756
2000-02-02 00:15:44 -08:00
Richard Henderson
2c5a510cb8 i386.c (general_no_elim_operand): New.
* i386.c (general_no_elim_operand): New.
        (nonmemory_no_elim_operand): New.
        (ix86_expand_move): Copy eliminable operands before a push.
        * i386-protos.h: Declare new functions.
        * i386.h (CAN_ELIMINATE): Simplify.
        (PREDICATE_CODES): Update.
        * i386.md (push insns): Don't allow eliminable register operands.

From-SVN: r31755
2000-02-01 23:50:21 -08:00
Richard Henderson
ea2d416aac flow.c (mark_regs_live_at_end): Follow expand_function_end and replace BLKmode with DECL_RTL's mode.
* flow.c (mark_regs_live_at_end): Follow expand_function_end and
        replace BLKmode with DECL_RTL's mode.

From-SVN: r31754
2000-02-01 23:33:43 -08:00
Ulrich Drepper
eca1bd08cf parse.y (simple_stmt): Allow :: token in asm parameter list.
* parse.y (simple_stmt): Allow :: token in asm parameter list.
        * parse.c: Rebuilt.

From-SVN: r31753
2000-02-01 23:30:44 -07:00
Zack Weinberg
7ae8706122 argh, forgot to commit changelog
From-SVN: r31752
2000-02-02 05:05:41 +00:00
Alexandre Oliva
15f724f6c2 * gcc.dg/unused-2.c: Use -Wreturn-type instead of -Wall.
From-SVN: r31751
2000-02-02 05:05:14 +00:00
Alexandre Oliva
bd524aa3cf * gcc.dg/loop-1.c: New test.
From-SVN: r31750
2000-02-02 05:02:47 +00:00
Zack Weinberg
060d7bc161 Give test a better name, add some glue for the test harness
From-SVN: r31749
2000-02-02 04:45:58 +00:00
Richard Henderson
7ce86678bf sparc.c (fp_zero_operand): Turn into a normal predicate.
* sparc.c (fp_zero_operand): Turn into a normal predicate.
        Use CONST0_RTX.  Update all callers.
        * sparc.h, sparc-protos.h: Update accordingly.
        * sparc.md (fp mov insns): Use fp_zero_operand directly
        where applicable.

From-SVN: r31748
2000-02-01 19:05:57 -08:00
Hans-Peter Nilsson
32bd39747e tm.texi (Values in Registers): Fix typo in HARD_REGNO_NREGS example.
* tm.texi (Values in Registers): Fix typo in HARD_REGNO_NREGS
	example.

From-SVN: r31747
2000-02-02 02:26:27 +00:00
Tom Tromey
ee6713e782 java-interp.h (_Jv_JNI_conversion_call): Declare.
* include/java-interp.h (_Jv_JNI_conversion_call): Declare.
	* resolve.cc (ncode): Use _Jv_JNI_conversion_call when
	constructing the closure if the function is native.
	* jni.cc (_Jv_JNI_conversion_call): Now returns `void'.  No longer
	a template function, #if'd out, or static.
	Include <java-interp.h>.

From-SVN: r31746
2000-02-02 01:55:03 +00:00
Tom Tromey
8928191114 * include/jni.h (class _Jv_JNIEnv): Corrected calls using `...'.
From-SVN: r31745
2000-02-02 01:47:01 +00:00
Zack Weinberg
78a0d70cdf frame.c (find_fde): Convert for loop to do-while so compiler sees it's always executed at least once.
* frame.c (find_fde): Convert for loop to do-while so compiler
	sees it's always executed at least once.
	* libgcc2.c (BBINBUFSIZE): Kill.
	(__bb_init_prg): Use fgets.
	(__bb_exit_trace_func): Don't paste strings.
	* unroll.c (unroll_loop): Initialize unroll_type, not
	unroll_number, and tweak logic to match.

	* i386.c (ix86_expand_int_movcc): Add explicit 'return 0' in
	all failure paths.
	(ix86_flags_dependant): Likewise.  Disentangle control flow.
	(ix86_sched_reorder): Break guts out to
	ix86_sched_reorder_pentium and ix86_sched_reorder_ppro.
	(ix86_sched_reorder_ppro): Initialize pair2 and insnp before
	any possible use.

	* i386.h (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): Don't
	use string concatenation.  Don't save and restore esi.

	* fixinc/Makefile.in (fixincl.sh): Don't depend on inclhack.def.
	(machname.h): Remove script to separate file.  Use two-step
	sequence so target is not created if script fails.
	* fixinc/gen-machname.h: New file.  Handle case where no non-reserved
	identifiers are defined.
	* fixinc/fixlib.c (mn_get_regexps): Return a flag: if MN_NAME_PAT is
	an empty string, machine_name doesn't need to do anything at
	all.
	(is_cxx_header): Add more cases to regexp.
	* fixinc/fixlib.h: Update prototype.
	* fixinc/fixtests.c, fixinc/fixfixes.c: Update callers of
	mn_get_regexps.
	* fixinc/fixincl.c: Define NO_BOGOSITY.

	* fixinc/inclhack.def (no_double_slash, else_endif_label): Ifdef out.
	(hp_sysfile): Add missing comma.
	(math_exception): Put the wrapper ifdefs at the beginning and
	the end of the file.
	* fixinc/fixincl.x, fixinc/inclhack.sh: Regenerate.

From-SVN: r31744
2000-02-01 23:51:38 +00:00
Kaveh R. Ghazi
f232183759 Makefile.in (specs.ready): New target.
* Makefile.in (specs.ready): New target.
        (fixinc.sh): Depend on `specs.ready' instead of `specs'.

From-SVN: r31743
2000-02-01 22:30:35 +00:00
Kaveh R. Ghazi
dafb9c6637 fixinc.irix: Use unique filenames for writing into /tmp,
* fixinc.irix: Use unique filenames for writing into /tmp,
        * fixinc.ptx: Likewise.
        * fixinc.sco: Likewise.
        * fixinc.svr4: Likewise.
        * fixinc.winnt: Likewise.

From-SVN: r31742
2000-02-01 21:42:05 +00:00
Kaveh R. Ghazi
2e39bdbe4b tsystem.h: New file.
* tsystem.h: New file.

	* Makefile.in (libgcc2.a, stmp-multilib, crtbegin.o, crtend.o,
	s-crtS): Depend on tsystem.h.

	* crtstuff.c: Include tsystem.h.
	* frame.c: Likewise.
	* libgcc2.c: Likewise.

From-SVN: r31741
2000-02-01 21:30:52 +00:00
Zack Weinberg
ed672cd0e9 New test culled from gcc-bugs
From-SVN: r31740
2000-02-01 21:23:51 +00:00
Tom Tromey
7d34aa4cff * include/jni.h (class _Jv_JNIEnv): Added all C++ inline methods.
From-SVN: r31739
2000-02-01 21:04:44 +00:00
Jan Hubicka
d33ebef630 builtins.c (expand_builtin_memset): Expand for variable sized lengths too.
* builtins.c (expand_builtin_memset): Expand for variable sized
	lengths too.

From-SVN: r31738
2000-02-01 18:57:21 +00:00
Nick Clifton
2cf072fc24 oops - omitted from previous delta fixing UNIQUE_SECTION
From-SVN: r31737
2000-02-01 18:18:10 +00:00
Tom Tromey
ee7f72e41f jni.cc (_Jv_JNI_PopLocalFrame): Leave loop when `n == NULL'.
* jni.cc (_Jv_JNI_PopLocalFrame): Leave loop when `n == NULL'.
	(_Jv_JNI_conversion_call): _Jv_JNI_PopLocalFrame will never leave
	`locals == NULL'.
	(wrap_value): New function.
	(_Jv_JNI_CallAnyMethodV): Use it.
	(_Jv_JNI_CallAnyMethodA): Likewise.
	(_Jv_JNI_GetField): Use wrap_value; removed specialized version.
	(_Jv_JNI_GetStaticField): Likewise.

From-SVN: r31736
2000-02-01 17:36:05 +00:00
Tom Tromey
5dc489c190 jni.cc (_Jv_JNI_GetField): Specialize for jobject.
* jni.cc (_Jv_JNI_GetField): Specialize for jobject.
	(_Jv_JNI_GetStaticField): Likewise.

From-SVN: r31735
2000-02-01 16:32:21 +00:00
David Billinghurst
ef2362a417 (SUBTARGET_ASM_SPEC) : Default ISA based on ABI.
From-SVN: r31734
2000-02-01 15:53:52 +00:00
Hans-Peter Nilsson
c294bd99ed dwarfout.c (SHORT_TYPE_SIZE): Correct default.
* dwarfout.c (SHORT_TYPE_SIZE): Correct default.

	* tm.texi (Type Layout): Correct entry for CHAR_TYPE_SIZE.

From-SVN: r31733
2000-02-01 11:00:43 +00:00
Hans-Peter Nilsson
784a3a806a * config.sub: Add mmix-knuth-mmixware.
From-SVN: r31732
2000-02-01 10:45:12 +00:00
Jeff Law
4f804bafde Daily bump.
From-SVN: r31731
2000-02-01 01:45:07 -07:00
Tom Tromey
7e648cf954 prims.cc (_Jv_MallocUnchecked): New function.
* prims.cc (_Jv_MallocUnchecked): New function.
	(main_init): Call _Jv_JNI_Init.
	* include/jvm.h (_Jv_MallocUnchecked): Declare.
	(_Jv_JNI_Init): Declare.
	* jni.cc: Include Hashtable.h, OutOfMemoryError.h, Integer.h,
	<string.h>.
	(_Jv_JNI_NewGlobalRef): New function.
	(_Jv_JNI_DeleteGlobalRef): New function.
	(_Jv_JNI_DeleteLocalRef): New function.
	(_Jv_JNI_conversion_call): Initialize and clear local reference
	frame.
	(_Jv_JNI_NewLocalRef): New function.
	(struct _Jv_JNI_LocalFrame): New structure.
	(_Jv_JNI_PushLocalFrame): New function.
	(_Jv_JNI_EnsureLocalCapacity): New function.
	(FRAME_SIZE): New define.
	(_Jv_JNI_GetStringChars): Mark string, not characters.
	(_Jv_JNI_ReleaseStringChars): Unmark string, not characters.
	(_Jv_JNI_GetPrimitiveArrayElements): Mark array, not elements.
	(_Jv_JNI_ReleasePrimitiveArrayElements): Unmark array, not
	elements.
	(_Jv_JNI_DefineClass): Make return value a local ref.
	(_Jv_JNI_FindClass): Likewise.
	(_Jv_JNI_GetSuperclass): Likewise.
	(_Jv_JNI_ExceptionOccurred): Likewise.
	(_Jv_JNI_AllocObject): Likewise.
	(_Jv_JNI_GetObjectClass): Likewise.
	(_Jv_JNI_CallAnyMethodV): Likewise.
	(_Jv_JNI_NewString): Likewise.
	(_Jv_JNI_NewStringUTF): Likewise.
	(_Jv_JNI_NewObjectArray): Likewise.
	(_Jv_JNI_GetObjectArrayElement): Likewise.
	(_Jv_JNI_ToReflectedField): Likewise.
	(_Jv_JNI_ToReflectedMethod): Likewise.
	(_Jv_JNIFunctions): Updated table for new functions.
	(_Jv_JNI_Init): New function.
	(mark_for_gc): Wrote.
	(unmark_for_gc): Wrote.
	* include/jni.h (struct JNINativeInterface): Removed name from
	PopLocalFrame parameter.
	(class _Jv_JNIEnv): Added `locals' field.

From-SVN: r31730
2000-02-01 06:14:26 +00:00
Jim Wilson
07a3462a53 Fix gdb testsuite regressions.
* class.c (build_vtbl_or_vbase_field): New parameter fcontext.
	Store it in DECL_FCONTEXT.
	(build_vbase_pointer_fields, create_vtable_ptr): Fix callers.

From-SVN: r31729
2000-01-31 18:17:06 -08:00
Chandra Chavva
5ef17dd258 combine.c (try_combine): Trying to check the missed case 3->2 combining (combining with splitting) in...
* combine.c (try_combine) [HAVE_cc0]: Trying to check the missed
	case 3->2 combining (combining with splitting) in which 2 is CC0
	setter/user and 3 is user. The rest of cases 2->1 and 3->2 are
	checked at the begining of the function with the aid of calling
	function 'can_combine_p'.

From-SVN: r31727
2000-01-31 17:23:43 -05:00
Dave Brolley
a9fda12fbb cccp.c (struct argdata): Redeclare 'newlines' field as 'int'.
2000-01-31  Dave Brolley  <brolley@redhat.com>

	* cccp.c (struct argdata): Redeclare 'newlines' field as 'int'.

From-SVN: r31726
2000-01-31 16:58:10 -05:00
Jason Merrill
ab044c7412 tinfo.h (old abi): #include "tconfig.h".
* tinfo.h (old abi): #include "tconfig.h".
        * tinfo.cc (convert_to_base): Move into old abi section.

From-SVN: r31725
2000-01-31 16:27:42 -05:00
Mark Mitchell
5e19c05390 cp-tree.h (BINFO_VIRTUALS): Tweak documentation.
* cp-tree.h (BINFO_VIRTUALS): Tweak documentation.
	(CLASSTYPE_PRIMARY_BINFO): Use BINFO_PRIMARY_BINFO.
	(BINFO_PRIMARY_BINFO): New macro.
	(BF_DELTA): Rename to ...
	(BV_DELTA): ... this.
	(BF_VCALL_INDEX): Rename to ...
	(BV_VCALL_INDEX): ... this.
	(BF_FN): Rename to ...
	(BV_FN): ... this.
	* class.c (build_vbase_path): Adjust for changes to reverse_path.
	(set_rtti_entry): Rename BF_ macros to BV_ variants.
	(modify_vtable_entry): Simplify.
	(add_virtual_function): Rename BF_ macros to BV_ variants.
	(build_vtable_initializer): Likewise.
	(get_class_offset_1): Remove.
	(dfs_get_class_offset): Likewise.
	(get_class_offset): Likewise.
	(dfs_find_final_overrider): New function.
	(find_final_overrider): Likewise.
	(modify_one_vtable): Remove.
	(dfs_find_base): New function.
	(dfs_modify_vtables): Fold modify_one_vtable in here.  Use
	find_final_overrider.
	(modify_all_vtables): Adjust.  Set BV_VCALL_INDEX on new
	virtuals.
	(dfs_fixup_vtable_deltas): Remove.
	(override_one_vtable): Remove.
	(merge_overrides): Likewise.
	(layout_virtual_bases): Make sure BINFO_OFFSET is set right for
	unreal chilren of virtual bases.
	(finish_struct_1): Don't use merge_overrides.  Don't use
	dfs_fixup_vtable_deltas.
	* tree.c (reverse_path): Return a TREE_LIST, not a chain of
	BINFOs.

From-SVN: r31724
2000-01-31 21:00:01 +00:00
Jason Merrill
d4cf5733ee jump.c (redirect_jump): Move a NOTE_INSN_FUNCTION_END to the new label.
* jump.c (redirect_jump): Move a NOTE_INSN_FUNCTION_END to the
        new label.

From-SVN: r31721
2000-01-31 13:52:34 -05:00
Jason Merrill
d4bf484274 tinfo.h: Rename USItype to myint32, depend on BITS_PER_UNIT.
* tinfo.h: Rename USItype to myint32, depend on BITS_PER_UNIT.

	* exception.cc (__throw_bad_typeid): Add missing std::.

From-SVN: r31718
2000-01-31 12:20:39 -05:00
Kaveh R. Ghazi
02e59efb69 * cp-tree.h (make_thunk): PROTO -> PARAMS.
From-SVN: r31717
2000-01-31 16:44:46 +00:00
Kaveh R. Ghazi
7025bf1981 gansidecl.h (PROTO, [...]): Delete macros.
* gansidecl.h (PROTO, VPROTO, PVPROTO): Delete macros.

        * sbitmap.h (sbitmap_first_set_bit, sbitmap_last_set_bit):
        PROTO -> PARAMS.

From-SVN: r31716
2000-01-31 16:39:49 +00:00