Commit Graph

25953 Commits

Author SHA1 Message Date
Jan Hubicka
2247f6ed8d i386.h (PREDICATE_CODES): Add aligned_operand.
* i386.h (PREDICATE_CODES): Add aligned_operand.
	* i386.c (aligned_operand): New function.
	(ix86_aligned_p): Kill.
	* i386.md (movhi_1): Emit mov for aligned operands.
	(promoting peep2s): Use aligned_operand.

From-SVN: r31586
2000-01-24 15:54:35 +00:00
Nathan Sidwell
059fa5e776 cp-tree.h (CPTI_BAD_CAST, [...]): New cp_tree_index values.
* cp-tree.h (CPTI_BAD_CAST, CPTI_BAD_TYPEID, CPTI_DCAST): New
	cp_tree_index values.
	(throw_bad_cast_node, throw_bad_typeid_node, dynamic_cast_node):
	New global node #defines for them.
	* rtti.c (call_void_fn): Replace with ...
	(build_runtime_decl): ... new static function.
	(throw_bad_cast): Use throw_bad_cast_node and build_runtime_decl.
	(throw_bad_typeid): Use throw_bad_typeid_node and build_runtime_decl.
	(build_dynamic_cast_1): Always produce correctly typed result.
	Explicitly produce type_info addresses. Use dynamic_cast_node.
	* exception.cc (__throw_bad_cast): Return `void *'.
	(__throw_bad_typeid): Return `const type_info &'.

From-SVN: r31585
2000-01-24 12:16:59 +00:00
Gabriel Dos Reis
f1c9d505f9 stl_iterator.h: Make it possible to use standard class `iterator'.
2000-01-19  Gabriel Dos Reis  <dosreis@cmla.ens-cachan.fr>

        * stl_iterator.h: Make it possible to use standard class
        `iterator'.

From-SVN: r31584
2000-01-24 11:25:23 +00:00
Nathan Sidwell
1aa4ccd428 cp-tree.h (get_vtable_decl): Prototype new function.
* cp-tree.h (get_vtable_decl): Prototype new function.
	* class.c (get_vtable_decl): New function. Broken out from ...
	(build_vtable): ... here. Use it.
	* decl2.c (finish_vtable_vardecl): Ignore dummy vtables created
	by get_vtable_decl.

From-SVN: r31583
2000-01-24 10:59:02 +00:00
Nathan Sidwell
db1147b2e2 cp-tree.h (CPTI_TP_DESC_TYPE, [...]): Remove cp_tree_index enumerations.
* cp-tree.h (CPTI_TP_DESC_TYPE, CPTI_ACCESS_MODE_TYPE,
	CPTI_USER_DESC_TYPE, CPTI_CLASS_DESC_TYPE, CPTI_ATTR_DESC_TYPE,
	CPTI_PTMF_DESC_TYPE): Remove cp_tree_index enumerations.
	(CPTI_TI_DESC_TYPE, CPTI_REF_DESC_TYPE, CPTI_ARY_DESC_TYPE,
	CPTI_ENUM_DESC_TYPE, CPTI_CLASS_DESC_TYPE, CPTI_SI_CLASS_DESC_TYPE,
	CPTI_VMI_CLASS_DESC_TYPE, CPTI_BASE_DESC_TYPE): New enumerations.
	(CPTI_TINFO_FN_ID, CPTI_TINFO_FN_TYPE): Rename to ...
	(CPTI_TINFO_DECL_ID, CPTI_TINFO_DECL_TYPE): ... here.
	(CPTI_TINFO_VAR_ID): New enumeration.
	(__tp_desc_type_node, __access_mode_type_node,
	__bltn_desc_type_node, __user_desc_type_node,
	__class_desc_type_node, __ptr_desc_type_node,
	__attr_desc_type_node, __func_desc_type_node,
	__ptmf_desc_type_node, __ptmd_desc_type_node): Remove #defines.
	(ti_desc_type_node, bltn_desc_type_node, ptr_desc_type_node,
	ref_desc_type_node, ary_desc_type_node, func_desc_type_node,
	enum_desc_type_node, class_desc_type_node,
	si_class_desc_type_node, vmi_class_desc_type_node,
	ptmd_desc_type_node, base_desc_type_node): New #defines.
	(tinfo_fn_id, tinfo_fn_type): Rename to ...
	(tinfo_decl_id, tinfo_decl_type): ... here. Adjust.
	(tinfo_var_id): New enumeration.
	(DECL_TINFO_FN_P): Augment comment.
	* decl.c (cp_global_trees): Adjust documentation.
	* rtti.c (init_rtti_processing): Adjust for tinfo_decl_id,
	tinfo_decl_type and tinfo_var_id.
	(get_tinfo_decl_dynamic): Adjust for tinfo_decl_type.
	(build_typeid): Remove unused variable.
	(get_tinfo_var): Use tinfo_var_id.
	(tinfo_name): New static function.
	(get_tinfo_decl): Adjust for tinfo_decl_id and tinfo_decl_type.
	(tinfo_from_decl): Likewise.
	(get_base_offset): New static function, broken out of
	expand_class_desc.
	(expand_si_desc): Use tinfo_name.
	(expand_class_desc): Likewise. Lose local static variable.
	Use base_desc_type_node. Use get_base_offset.
	(expand_ptr_desc): Use tinfo_name.
	(expand_attr_desc): Likewise.
	(expand_generic_desc): Likewise.

	* tinfo.cc (__GXX_ABI_VERSION): Test value and existance.
	* tinfo.h (__GXX_ABI_VERSION): Test value and existance.

From-SVN: r31582
2000-01-24 10:23:26 +00:00
Jeff Law
e1a86dbb90 Daily bump.
From-SVN: r31581
2000-01-24 01:45:07 -07:00
Zack Weinberg
3a2e9dd24d fixfixes.c (fix_char_macro_uses): Correct regular expression to allow underscores in macro names.
* fixinc/fixfixes.c (fix_char_macro_uses): Correct regular
	expression to allow underscores in macro names.
	(fix_char_macro_defines): Increment scanning pointer.

From-SVN: r31580
2000-01-24 04:53:58 +00:00
Richard Henderson
5495cc558b osf.h (TARGET_HAS_XFLOATING_LIBS): Define.
* alpha/osf.h (TARGET_HAS_XFLOATING_LIBS): Define.
        * alpha/osf5.h: New file.
        * configure.in (alpha-*-osf5): Add it to tm_file.

        * emit-rtl.c (operand_subword): Support TFmode on a 64-bit target.

        * alpha-protos.h (alpha_emit_xfloating_arith): Declare.
        (alpha_emit_xfloating_cvt, function_arg): Declare.
        * alpha.c (alpha_emit_conditional_branch): Call
        alpha_emit_xfloating_compare for TFmode compares.
        (alpha_lookup_xfloating_lib_func): New.
        (alpha_compute_xfloating_mode_arg): New.
        (alpha_emit_xfloating_libcall): New.
        (alpha_emit_xfloating_arith): New.
        (alpha_emit_xfloating_compare): New.
        (alpha_emit_xfloating_cvt): New.
        (print_operand): Add default abort case.
        (function_arg): Mind FUNCTION_ARG_PASS_BY_REFERENCE.
        * alpha.h (TARGET_HAS_XFLOATING_LIBS): New.
        (BIGGEST_ALIGNMENT): Increase to 128 bits.
        (RETURN_IN_MEMORY): True for TF/TCmode.
        (ALPHA_ARG_SIZE): TF/TCmode is passed indirect.
        (FUNCTION_ARG): Move to function_arg.
        (FUNCTION_ARG_PASS_BY_REFERENCE): New.
        (ASM_OUTPUT_LONG_DOUBLE): New.
        (ASM_OUTPUT_DOUBLE): Always output bits.
        * alpha.md (addtf3, divtf3, multf3, subtf3, cmptf): New.
        (fix_trunctfdi2, floatditf2, floatunsditf2): New.
        (extenddftf2, trunctfdf2): New.

From-SVN: r31579
2000-01-23 20:02:40 -08:00
Alexandre Oliva
ac4904440b sol2-sld-64.h (TRANSFER_FROM_TRAMPOLINE): Moved...
* config/sparc/sol2-sld-64.h (TRANSFER_FROM_TRAMPOLINE): Moved...
* config/sparc/sol2.h: ... here.

From-SVN: r31578
2000-01-24 00:47:38 +00:00
Michael Hayes
d6181b1bdc basic-block.h (struct loops): New field `levels'.
2000-01-24  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>

	* basic-block.h (struct loops): New field `levels'.
	* flow.c (flow_loops_level_compute): Traverse all outer loops.
	(flow_loop_level_compute): Initialise level to 1.
	(flow_loops_find): Set loops->levels.
	(flow_loops_dump): Print loops->levels.

From-SVN: r31577
2000-01-23 23:10:09 +00:00
Richard Henderson
7e259f255f libgcc2.c (dwarf_reg_size_table): Size with DWARF_FRAME_REGISTERS.
* libgcc2.c (dwarf_reg_size_table): Size with DWARF_FRAME_REGISTERS.
        (throw_helper): Iterate over DWARF_FRAME_REGISTERS.

From-SVN: r31576
2000-01-23 14:33:30 -08:00
Richard Henderson
837748497c i386.c (dbx_register_map, [...]): New.
* i386.c (dbx_register_map, svr4_dbx_register_map): New.
        * i386.h (DBX_REGISTER_NUMBER): Use them.
        * i386/beos-elf.h, i386/freebsd-elf.h, i386/i386elf.h: Likewise.
        * i386/linux.h, i386/osfrose.h, i386/ptx4-i.h: Likewise.
        * i386/rtemself.h, i386/sco5.h, i386/sysv4.h: Likewise.
        * i386/sequent.h: Kill incorrect comment.

From-SVN: r31575
2000-01-23 13:43:06 -08:00
Mark Mitchell
d416576b49 (struct globals): Likewise.
From-SVN: r31574
2000-01-23 20:42:53 +00:00
Mark Mitchell
ba793d6e42 cp-tree.h (__eprintf): Remove declaration.
* cp-tree.h (__eprintf): Remove declaration.
	* tree.c (__eprintf): Remove definition.

	* cp-tree.h (CLASSTYPE_MARKED_N, SET_CLASSTYPE_MARKED_N,
	CLEAR_CLASSTYPE_MARKED_N): Avoid signed vs. unsigned warnings.

From-SVN: r31573
2000-01-23 19:51:01 +00:00
Mark Mitchell
ae373eda2f ggc-page.c (struct page_entry): Make context_depth' an unsigned short'.
* ggc-page.c (struct page_entry): Make `context_depth' an
	`unsigned short'.

From-SVN: r31572
2000-01-23 19:18:45 +00:00
Brad Lucier
92ac3c0f75 * class.c (dump_class_hierarchy): Print HOST_WIDE_INT properly.
From-SVN: r31571
2000-01-23 18:58:54 +00:00
Mark Mitchell
bf419747e9 cp-tree.h (register_dtor_fn): New function.
* cp-tree.h (register_dtor_fn): New function.
	* decl.c (destroy_local_static): Rename to ...
	(register_dtor_fn): ... this.  Give it external linkage.
	(expand_static_init): Use it.
	* decl2.c (do_static_initialization): Likewise, if using
	__cxa_atexit.
	(do_static_destruction): Check that __cxa_atexit is not in use.
	(finish_file): Don't call do_static_destruction if using
	__cxa_atexit.

	* typeck.c (convert_arguments): Restore two-message error
	reporting.

From-SVN: r31570
2000-01-23 18:40:20 +00:00
Clinton Popetz
5c75f60e28 loop.c (check_dbra_loop): When checking a loop for reversability...
* loop.c (check_dbra_loop): When checking a loop for
	reversability, check the source of any stores to ensure
	they don't depend on an initial value.

From-SVN: r31569
2000-01-23 11:07:00 -05:00
Robert Lipe
62bfd50d95 Improve comment on SUPPORTS_WEAK.
From-SVN: r31568
2000-01-23 13:46:16 +00:00
Jeff Law
2177f0c966 Daily bump.
From-SVN: r31567
2000-01-23 01:45:06 -07:00
Anthony Green
7bee4c4c0d config.h.in: Rebuilt.
* include/config.h.in: Rebuilt.
	* acconfig.h: Add undef for __NO_MATH_INLINES.
	* configure: Rebuilt.
	* configure.in: Add test for `g++ -O2 -ffloat-store' bug.

From-SVN: r31566
2000-01-22 21:15:58 +00:00
Michael Hayes
7bea4e7a3a c4x.h (ASM_OUTPUT_BSS): Redefine.
2000-01-23  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>

	* config/c4x/c4x.h (ASM_OUTPUT_BSS): Redefine.

From-SVN: r31565
2000-01-22 21:13:59 +00:00
Zack Weinberg
ae5c839b09 fixincl.c: Move declarations of 'pz_fname' and 'pz_scan' into scope of entire function.
* fixinc/fixincl.c: Move declarations of 'pz_fname' and
	'pz_scan' into scope of entire function.  Only affects
	compiles with -DDEBUG.

From-SVN: r31564
2000-01-22 20:55:18 +00:00
Alan Modra
e8c3586ab8 Fix definition of UNIQUE_SECTION so that zero initialised data is placed
into .data.

From-SVN: r31563
2000-01-22 19:49:21 +00:00
Bernd Schmidt
37b80d2e02 catch a SUBREG containing a constant.
From-SVN: r31562
2000-01-22 19:42:34 +00:00
Jim Wilson
5787d8dadf Test for directory before trying to cd into it
From-SVN: r31561
2000-01-22 19:05:31 +00:00
Jeff Law
821ee7fb35 Daily bump.
From-SVN: r31560
2000-01-22 01:45:07 -07:00
Zack Weinberg
4571dc2729 cpphash.c (change_newlines): Delete function.
* cpphash.c (change_newlines): Delete function.
	(struct argdata): Delete 'newlines' and 'use_count' fields.
	(macroexpand): Remove code referencing those fields.

From-SVN: r31559
2000-01-22 04:18:41 +00:00
Zack Weinberg
8694a43cce Another test for preprocessor corner cases
From-SVN: r31558
2000-01-22 04:12:52 +00:00
Michael Hayes
4cda35d4c9 loop.c (loops_info): New variable.
* loop.c (loops_info): New variable.
	(loop_optimize): Allocate loops->array and free it on exit.
	Allocate memory for loops_info and assign to each loop,
 	replacing alloca.
	(find_and_verify_loops): Do not allocate loops->array.

From-SVN: r31556
2000-01-22 02:23:14 +00:00
Zack Weinberg
e8736c0002 Test for reload bug with 'long long' function parameters.
Found with 2.95.2 on x86; already fixed in 2.96.
Reported by D.J. Bernstein.

From-SVN: r31555
2000-01-22 01:08:14 +00:00
Zack Weinberg
84c70deca5 * fixinc/fixfixes.c (machine_name_fix): Don't free 'scratch'.
From-SVN: r31554
2000-01-22 00:40:49 +00:00
Tom Tromey
8a9220959f natConstructor.cc (newInstance): Use _Jv_CallAnyMethodA.
* java/lang/reflect/natConstructor.cc (newInstance): Use
	_Jv_CallAnyMethodA.
	* include/jvm.h: Declare _Jv_CallAnyMethodA.
	* java/lang/reflect/natMethod.cc (_Jv_CallAnyMethodA): Renamed
	from _Jv_CallNonvirtualMethodA.  Changed interface; overloaded.
	Include <jni.h>.
	(COPY): Removed.
	(invoke): Use _Jv_CallAnyMethodA.
	(VAL): Redefined.
	* java/lang/Class.h (Class): Declare JvGetFirstStaticField,
	JvNumStaticFields, JvNumMethods, and JvGetFirstMethod as friend
	functions.
	(struct _Jv_Method): Added getNextMethod method.
	(JvNumMethods): New function.
	(JvGetFirstMethod): Likewise.
	* gcj/field.h (JvGetFirstStaticField): New function.
	(JvNumStaticFields): Likewise.
	(getNextField): Renamed from getNextInstanceField.
	(struct _Jv_Field): New method getClass.
	* jni.cc: Wrote many new functions.
	* include/jni.h (JNI_TRUE): Define.
	(JNI_FALSE): Likewise.
	(jobject, jclass, jstring, jarray, jthrowable, jobjectArray,
	jbyteArray, jshortArray, jintArray, jlongArray, jbooleanArray,
	jcharArray, jfloatArray, jdoubleArray): New typedefs.
	(jfieldID, jmethodID): Likewise.
	(JNI_COMMIT, JNI_ABORT): New defines.
	(JNINativeMethod): New struct.
	(struct JNINativeInterface): Correctly declared more entries.
	(class _Jv_JNIEnv): Added `ex' member.
	(JNI_VERSION_1_1): New define.
	(JNI_VERSION_1_2): Likewise.

	* boehm.cc (_Jv_MarkObj): Use getNextField, not
	getNextInstanceField.

From-SVN: r31553
2000-01-21 23:50:31 +00:00
Tom Tromey
24823dcf49 * libjava.compile/BlankFinal.java: New file.
From-SVN: r31552
2000-01-21 21:12:47 +00:00
Kaveh Ghazi
0a06884142 Fix typo in ChangeLog
From-SVN: r31551
2000-01-21 20:59:01 +00:00
Kaveh R. Ghazi
df32d2ce42 buffer.h: PROTO -> PARAMS.
* buffer.h: PROTO -> PARAMS.
        * check-init.c: Likewise.
        * class.c: Likewise.
        * constants.c: Likewise.
        * convert.h: Likewise.
        * decl.c: Likewise.
        * except.c: Likewise.
        * expr.c: Likewise.
        * gjavah.c: Likewise.
        * java-except.h: Likewise.
        * java-tree.h: Likewise.
        * jcf-depend.c: Likewise.
        * jcf-dump.c: Likewise.
        * jcf-parse.c: Likewise.
        * jcf-path.c: Likewise.
        * jcf-reader.c: Likewise.
        * jcf-write.c: Likewise.
        * jcf.h: Likewise.
        * jv-scan.c: Likewise.
        * jvgenmain.c: Likewise.
        * jvspec.c: Likewise.
        * lang.c: Likewise.
        * lex.c: Likewise.
        * lex.h: Likewise.
        * parse-scan.y: Likewise.
        * parse.h: Likewise.
        * parse.y: Likewise.
        * typeck.c: Likewise.
        * verify.c: Likewise.
        * xref.c: Likewise.
        * xref.h: Likewise.
        * zextract.c: Likewise.
        * zipfile.h: Likewise.

From-SVN: r31550
2000-01-21 20:57:00 +00:00
Jakub Jelinek
7652adb5c6 sparc.md (movsi_pic_label_ref): Avoid creating new pseudos if expanded after first flow.
* config/sparc/sparc.md (movsi_pic_label_ref): Avoid creating new
	pseudos if expanded after first flow.
	(movdi_pic_label_ref): Likewise.

From-SVN: r31549
2000-01-21 21:49:33 +01:00
Joern Rennecke
57e9826105 Typo fix.
From-SVN: r31548
2000-01-21 10:36:05 +00:00
Jeff Law
fb0d0f72c6 Daily bump.
From-SVN: r31547
2000-01-21 01:45:07 -07:00
Richard Henderson
7c22ee2b18 * jump.c (jump_optimize_1): Don't do addr_vec optimizations at -O0.
From-SVN: r31546
2000-01-20 14:08:29 -08:00
Jeffrey A Law
7e7cf28ad2 * gcc.c-torture/execute/20000120-2.c: New test.
From-SVN: r31545
2000-01-20 12:45:39 -07:00
Jeffrey A Law
33f6849b91 * gcc.c-torture/execute/20000120-1.c: New test.
From-SVN: r31544
2000-01-20 12:35:29 -07:00
Zack Weinberg
81f5ec6d50 Fix typo in last commit
From-SVN: r31543
2000-01-20 18:28:37 +00:00
Zack Weinberg
52c207e293 Makefile.in (fixinc.sh): Depend on specs.
* Makefile.in (fixinc.sh): Depend on specs.
        * fixinc/Makefile.in: Add rule to create machname.h.
        (fixlib.o): Depend on machname.h.
        * fixinc/fixtests.c (machine_name): New test.
        * fixinc/fixfixes.c (machine_name): New fix.
        * fixinc/fixlib.c (mn_get_regexps): New helper function for
        the machine_name test and fix.
        * fixinc/fixlib.h: Prototype it.
        * fixinc/inclhack.def (machine_name): Use the C test and fix.
	* fixinc/fixincl.x, fixinc/inclhack.sh: Rebuild.

        * gcc.c (do_spec_1) [case P]: Take care not to create
        identifiers with three leading or trailing underscores.

	* fixinc/Makefile.in (FIXINC_DEFS): Add -DIN_GCC.
	(fixincl): Don't specify libraries twice on link line.
	(gnu-regex.o): Remove special rule.
	* fixinc/gnu-regex.c: Define REGEX_MALLOC if C_ALLOCA was
	defined by config.h.  Do not define _REGEX_RE_COMP.
	(regcomp): Allocate and initialize a fastmap.
	* fixinc/gnu-regex.h: Do not define _REGEX_RE_COMP.

From-SVN: r31542
2000-01-20 18:25:12 +00:00
Brad Lucier
d3de1cf7f0 * Makefile.in (predict.o): Depend on $(EXPR_H), not expr.h.
From-SVN: r31540
2000-01-20 09:34:26 -08:00
Tom Tromey
0b9309b6e4 resolve.cc (StringClass): Removed.
* resolve.cc (StringClass): Removed.
	* defineclass.cc (StringClass): Removed.

From-SVN: r31539
2000-01-20 17:32:26 +00:00
Nathan Sidwell
f08dda39ed Remap dynamic cast hint values to be consistent across ABIs.
* search.c (dynamic_cast_base_recurse): Remap generated value.
	(get_dynamic_cast_base_type): Adjust documentation.
	* tinfo.h (__user_type_info::dyncast): Likewise.
	(__user_type_info::find_public_subobj): Remap BOFF meaning.
	* tinfo.cc (__si_type_info::do_dyncast): Remap BOFF meaning.
	(__class_type_info::do_dyncast): Likewise.
	(__class_type_info::do_find_public_subobj): Likewise.
	* tinfo2.cc (__dynamic_cast): Remap BOFF parameter.

From-SVN: r31538
2000-01-20 11:05:19 +00:00
Gabriel Dos Reis
f621dedc05 typeck.c (build_unary_op): Use cp_pedwarn, not pedwarn.
2000-01-19  Gabriel Dos Reis  <dosreis@cmla.ens-cachan.fr>

        * typeck.c (build_unary_op): Use cp_pedwarn, not pedwarn.

        * typeck2.c (incomplete_type_error): Restore previous cp_error and
        cp_error_at call sequence.

From-SVN: r31537
2000-01-20 09:24:01 +00:00
Jeff Law
66af917072 Daily bump.
From-SVN: r31536
2000-01-20 01:45:06 -07:00
Brad Lucier
2984dacf54 class.c (dump_class_hierarchy): Make format agree with argument; cast pointer to unsigned long and print with %lx.
* class.c (dump_class_hierarchy): Make format agree with argument;
	cast pointer to unsigned long and print with %lx.

From-SVN: r31535
2000-01-20 08:12:26 +00:00