Commit Graph

10060 Commits

Author SHA1 Message Date
Richard Kenner
46f9b82863 (output_cbranch): When checking for a jump to the given insn's delay slot...
(output_cbranch): When checking for a jump to the given insn's delay
slot, handle the case where JUMP_LABEL for the given insn does not
point to the first label in a series of labels.
(output_bb, output_dbra, output_movb): Likewise.

From-SVN: r10090
1995-06-29 05:51:43 -04:00
Richard Kenner
1078699763 (call expanders): Reload the PIC register from the fixed callee saved register.
(call expanders): Reload the PIC register from the fixed callee saved
register.  Don't try to save the PIC register before the call.

From-SVN: r10089
1995-06-28 18:04:43 -04:00
Richard Kenner
853e4dfd6b (hppa_save_pic_table_rtx): Delete variable.
(hppa_expand_prologue): For PIC generation, copy the PIC register into
a fixed callee register at the end of the prologue of non-leaf
functions.

From-SVN: r10088
1995-06-28 18:04:16 -04:00
Richard Kenner
71fce386de (PIC_OFFEST_TABLE_REGNUM_SAVED): Define to %r4.
(CONDITIONAL_REGISTER_USAGE): Make it fixed when compiling PIC code.
(INIT_EXPANDERS): Delete.

From-SVN: r10087
1995-06-28 18:03:47 -04:00
Richard Kenner
98bfe58b0c (ASM_SPEC): Removed -h flag.
From-SVN: r10086
1995-06-28 18:01:09 -04:00
Richard Kenner
85300b55bc (AIX4): More robust release numbering discovery.
From-SVN: r10083
1995-06-28 17:57:23 -04:00
Richard Kenner
bcad7343b5 (progname): Remove definition from here.
From-SVN: r10082
1995-06-28 17:53:55 -04:00
Richard Kenner
fff752ad80 (final_scan_insn): Fix error in last change.
From-SVN: r10081
1995-06-28 17:29:39 -04:00
Richard Kenner
ca48b851d1 (CPP_SPEC): Remove CPU name synonyms.
(ASM_SPEC): Set assembler target according to compiler target.

From-SVN: r10080
1995-06-28 17:01:52 -04:00
Richard Kenner
7cb1db4eda (CPP_SPEC): Remove CPU name synonyms.
From-SVN: r10079
1995-06-28 17:00:59 -04:00
Richard Kenner
fcbdcbb8a2 (CPP_SPEC): Remove CPU name synonyms.
(ASM_SPEC): Likewise.

From-SVN: r10078
1995-06-28 16:58:45 -04:00
Richard Kenner
3675ff98b4 (processor_target_table): Remove CPU name synonyms.
From-SVN: r10077
1995-06-28 16:57:30 -04:00
Jason Merrill
415bfbd0b4 jason@cygnus.com
From-SVN: r10076
1995-06-28 16:54:28 -04:00
Jason Merrill
f79c7a76be (cplus_expand_expr): Don't mess with temp slots.
From-SVN: r10075
1995-06-28 16:53:02 -04:00
Jason Merrill
f7522313f5 mrs@cygnus.com.
From-SVN: r10074
1995-06-28 16:40:23 -04:00
Jason Merrill
14b6073073 (tsubst, PARM_TYPE): Propagate DECL_ARTIFICIAL.
From-SVN: r10073
1995-06-28 16:37:51 -04:00
Richard Kenner
b7707b2373 (INSTALL_HEADERS_DIR): Delete; done by configure.
From-SVN: r10072
1995-06-28 16:25:47 -04:00
Richard Kenner
a376491451 (alloca): Extern decl added for non-GNU compiler.
From-SVN: r10071
1995-06-28 16:10:43 -04:00
Richard Kenner
5f91c70932 (reg_set_p_1): Now static; add extra parm.
From-SVN: r10070
1995-06-28 16:08:29 -04:00
Richard Kenner
ec5cd3864c Delete redundant forward decls.
(expand_anon_union_decl): Correctly call expand_decl.

From-SVN: r10069
1995-06-28 16:02:59 -04:00
Richard Kenner
c62bdc79b5 (strip_off_ending): Strip off any ending; don't pretend we know what
valid endings are.

From-SVN: r10068
1995-06-28 15:48:17 -04:00
Richard Kenner
c0318c9910 (ASM_OUTPUT_SECTION_NAME): Don't crash if DECL is null.
From-SVN: r10067
1995-06-28 15:24:21 -04:00
Richard Kenner
4c99e795dd ({load,store}_multiple): Don't use indirect_operand in define_insn;
use explicit MEM of register_operand instead.

From-SVN: r10066
1995-06-28 11:31:07 -04:00
Richard Kenner
2dfd595d54 (fold_truthop): Commute unextend and convert on l_const and r_const.
From-SVN: r10065
1995-06-27 19:09:37 -04:00
Richard Kenner
1a16a053da (decl_attributes, case A_CONSTRUCTOR, A_DESTRUCTOR): Set TREE_USED.
From-SVN: r10064
1995-06-27 16:42:57 -04:00
Michael Meissner
c645b1c9ab Do not test overflow bit for decrement_and_branch
From-SVN: r10063
1995-06-27 18:41:38 +00:00
Richard Kenner
de2b56f93d (final_scan_insn): Don't call alter_cond unless condition is on cc0.
From-SVN: r10062
1995-06-27 12:39:46 -04:00
Richard Kenner
9c51f37585 (expand_expr, TARGET_EXPR): Only use original_target if !ignore.
From-SVN: r10061
1995-06-27 07:58:20 -04:00
Richard Kenner
65fed0cb23 (expand_asm_operands): Handle input operands that may not be in a
register.

From-SVN: r10060
1995-06-27 07:27:14 -04:00
Richard Kenner
2ecc7cad44 (L_dvmd_tls): Renamed from L_divmodsi_tools.
From-SVN: r10059
1995-06-26 19:23:01 -04:00
Richard Kenner
f9395f023e (LIB1ASMFUNCS): Rename _dvmd_tls from _divmodsi_tools.
From-SVN: r10058
1995-06-26 19:22:48 -04:00
Richard Kenner
3c80bccc1d Update copyright.
From-SVN: r10057
1995-06-26 19:19:06 -04:00
Richard Kenner
f47f2c17db (find_splittable_regs): When completely unrolling loop, check for
non-invariant initial biv values.

From-SVN: r10056
1995-06-26 19:17:37 -04:00
Richard Kenner
0184223489 (expand_expr, case COND_EXPR): Protect the condition from being evaluated more than once.
(expand_expr, case COND_EXPR): Protect the condition from being evaluated more
than once.
(do_jump, case TRUTH_ANDIF_EXPR, TRUTH_ORIF_EXPR): Likewise.

From-SVN: r10055
1995-06-26 18:57:58 -04:00
Richard Kenner
586c54377c (string.h): Fix return value for mem{ccpy,chr,cpy,set} and
str{len,spn,cspn} on sysV68.

From-SVN: r10054
1995-06-26 18:52:27 -04:00
Michael Meissner
9d03c0dee3 Make long double == double.
From-SVN: r10053
1995-06-26 13:55:49 +00:00
Richard Kenner
a7f875d76e (expand_return): Correctly handle returning BLKmode structures in registers when...
(expand_return): Correctly handle returning BLKmode structures in
registers when the size of the structure is not a multiple of
word_size.

From-SVN: r10052
1995-06-22 23:01:38 -04:00
Richard Kenner
1b5c58730b (expand_call): Correctly handle returning BLKmode structures in registers when...
(expand_call): Correctly handle returning BLKmode structures in
registers when the size of the structure is not a multiple of
word_size.

From-SVN: r10051
1995-06-22 23:01:03 -04:00
Richard Kenner
8ecb1d9245 Rename called function.
From-SVN: r10050
1995-06-22 22:51:13 -04:00
Richard Kenner
d8f1d4874b mrs@cygnus.com
From-SVN: r10049
1995-06-22 22:46:21 -04:00
Richard Kenner
9fffd09332 (start_function): For pre-parsed functions, layout all of the parm decls again.
(grokvardecl): TREE_PUBLIC depends on DECL_THIS_EXTERN, not DECL_EXTERNAL.

From-SVN: r10048
1995-06-22 22:45:46 -04:00
Richard Kenner
3b98dc43ed Unknown; from MRS.
From-SVN: r10047
1995-06-22 22:43:49 -04:00
Richard Kenner
b532e7f1dc (build_signature_table_constructor): Use DECL_CONTEXT instead of...
(build_signature_table_constructor): Use DECL_CONTEXT instead of
DECL_CLASS_CONTEXT for calculating the vfield offset so abstract
virtual functions are handled correctly.
(build_signature_table_constructor): Store the correct delta in signature table
entries.  It does not yet work for classes with virtual base classes as
implementations of signatures.
(build_signature_method_call): Add the delta to the object_ptr before
generating the function call.
(build_signature_method_call): Dereference the optr for the direct and virtual
calls.
(build_signature_table_constructor): Make the tag for default
implementations -1 instead of 2.
(build_signature_method_call): Change the generated conditional expression
correspondingly.
(build_signature_pointer_constructor): Deleted the sorry message that said we
can't handle multiple inheritance for implementations of signatures
(build_signature_method_call): Use the offset from the sigtable entry instead
of the vptr field from the signature pointer for building a virtual function
call.
(build_vptr_ref): Deleted.
(build_signature_pointer_or_reference_type): Deleted construction of the vptr
field.
(build_signature_pointer_constructor): Deleted initialization of/assignment to
the vptr field.
(build_signature_table_constructor): Convert the signature table entry fields
to their correct types.
(build_signature_table_constructor): Don't call digest_init for the fields of
a sigtable entry, it's wasted time.
(build_signature_table_constructor): Correctly set the offset and index fields
of a sigtable entry.  Build the constructor the way digest_init does,
digest_init can't handle initializing an anonymous union inside a struct.
(build_signature_method_call): Use the index field instead of the delta field
to get the vtable index.
(build_signature_table_constructor): Rename code and offset to tag and delta,
respectively.
(build_signature_method_call): Ditto.  Use above variables.

From-SVN: r10046
1995-06-22 22:42:04 -04:00
Richard Kenner
e1b7b0cb2e (build_opfncall): Use DECL_CHAIN, not TREE_CHAIN for results from lookup_fnfields.
(build_opfncall): Use DECL_CHAIN, not TREE_CHAIN for results from
lookup_fnfields.  Always give warning/error on bad code.
(build_overload_int): New routine.  Break out functionality from
build_overload_value so we can reuse it.
(build_overload_value): Handle pointer to member functions as value parameters
for templates.
(build_overload_identifier): Since template parameters are shared
among all instantiations, we have to substitute in the real types in
TREE_TYPE (parm).

From-SVN: r10045
1995-06-22 22:38:00 -04:00
Richard Kenner
46b49f6ce9 (dont_allow_type_definitions): Define.
(SIGNATURE_VPTR_NAME): Deleted.  We use the right vptr field in the object now
instead of in the signature pointer/ref.
(build_vptr_ref): Deleted extern declaration.
(tag_identifier, offset_identifier): Added extern decls.
(SIGTABLE_CODE_NAME): Renamed to SIGTABLE_TAG_NAME.
(SIGTABLE_PFN_NAME): Deleted, we'll use VTABLE_PFN_NAME instead.

From-SVN: r10044
1995-06-22 22:36:47 -04:00
Richard Kenner
d2be99bd64 (can_convert): Also check for distance > 0.
(can_convert_arg): Ditto.
(user_harshness): Ditto.
(build_method_call): Make instance_ptr the signature pointer itself instead of
dereferencing the optr.

From-SVN: r10043
1995-06-22 22:33:59 -04:00
Richard Kenner
c407792d6d (build_delete): If the TYPE_DOMAIN is not set, give an error instead of core dumping.
(build_delete): If the TYPE_DOMAIN is not set, give an error instead
of core dumping.
(build_vec_delete): Resolve an offset ref before we try to use it.
(member_init_ok_or_else): Don't allow initialization of an ancestor's member
from within a constructor.

From-SVN: r10042
1995-06-22 22:33:12 -04:00
Richard Kenner
75b0bbced9 (instantiate_class_template): Add the new instantiation to template_classes.
(do_pending_expansions): Call instantiate_member_templates on all of
the classes in template_classes.
(coerce_template_parms): Since template parameters are shared among all
instantiations, we have to substitute in the real types in TREE_TYPE (parm).
(push_template_decls): Ditto.
(grok_template_type): Deleted as template parameters are shared	among all
instantiations.

From-SVN: r10041
1995-06-22 22:32:12 -04:00
Richard Kenner
acc9fe2086 (get_vbase): New routine to switch hierarchies from the CLASSTYPE_VBASECLASSES to the normal one.
(get_vbase): New routine to switch hierarchies from the CLASSTYPE_VBASECLASSES
to the normal one.
(expand_indirect_vtbls_init): Use get_vbase to figure out how we want to
convert to a vbase pointer.

From-SVN: r10040
1995-06-22 22:30:56 -04:00
Richard Kenner
ff86beb76a Call cplus_decl_attributes with prefix_attributes where appropriate.
(primary, handler_seq): Set it.

From-SVN: r10039
1995-06-22 22:29:39 -04:00