Commit Graph

17122 Commits

Author SHA1 Message Date
Mark Mitchell 4146c3afe3 class.c (instantiate_type): Handle pointer-to-members where the member is a template.
* class.c (instantiate_type): Handle pointer-to-members where the
	member is a template.
	* init.c (build_offset_ref): Likewise.
	* typeck.c (build_unary_op): Likewise.

From-SVN: r20283
1998-06-07 14:52:11 +00:00
John Carr cb9e12a746 sol2.h (INIT_SUBTARGET_OPTABS): Use Solaris libc float/long long conversion functions.
Sun Jun  7 14:15:45 1998  John Carr  <jfc@mit.edu>
        * sol2.h (INIT_SUBTARGET_OPTABS): Use Solaris libc float/long long
        conversion functions.

From-SVN: r20277
1998-06-07 07:15:53 -07:00
Richard Henderson f84639ba68 com.c (lang_init_options): New function.
* com.c (lang_init_options): New function.
        * top.c (ffe_decode_option): Remove all trace of -fset-g77-defaults.
        Set ffe_is_do_internal_checks_ with -version.
        * lang-options.h: Likewise.
        * lang-specs.h: Likewise.

From-SVN: r20276
1998-06-07 07:08:58 -07:00
Richard Henderson 9116eca2f8 lex.c (lang_init_options): New function.
* lex.c (lang_init_options): New function.
        (lang_init): Remove flag_exceptions == 2 hack.

From-SVN: r20275
1998-06-07 07:07:25 -07:00
Richard Henderson b53beeb291 toplev.c (flag_exceptions): Default to 0.
* toplev.c (flag_exceptions): Default to 0.
        (compile_file): Remove flag_exceptions == 2 hack.
        (main): Call lang_init_options.
        * tree.h: Declare it.
        * c-lang.c: Implement it.
        * objc/objc-act.c: Likewise.

From-SVN: r20274
1998-06-07 07:06:47 -07:00
Mark Mitchell 874503bcad class.c (instantiate_type): Handle pointer-to-members where the member is a template.
* class.c (instantiate_type): Handle pointer-to-members where the
	member is a template.
	* init.c (build_offset_ref): Likewise.
	* typeck.c (build_unary_op): Likewise.

From-SVN: r20269
1998-06-07 12:13:54 +00:00
David Edelsohn dfdfa60f54 rs6000.md (restore_stack_block): Generate MEM and specify mode.
* rs6000.md (restore_stack_block): Generate MEM and specify mode.
        * rs6000.h (STACK_SAVEAREA_MODE): SAVE_FUNCTION is VOIDmode.
        * rs6000.c (rs6000_output_load_toc_table): Use fputs.
        (output_function_profiler): Use asm_fprintf and fputs.

From-SVN: r20268
1998-06-07 05:34:09 -04:00
Jeff Law a0b152cd98 Daily bump.
From-SVN: r20267
1998-06-06 18:45:02 -06:00
Jason Merrill 3070ba0b86 * search.c (envelope_add_decl): Tweak for implicit typename.
From-SVN: r20264
1998-06-06 14:13:12 -04:00
Per Bothner e37cda9b2c One more typo.
From-SVN: r20263
1998-06-06 03:42:32 -07:00
Per Bothner 77346de2e5 Fixed typo: lang_specific_extra_ofiles -> lang_specific_extra_outfiles.
From-SVN: r20262
1998-06-06 03:41:05 -07:00
Kaveh R. Ghazi 83e0821b60 Some fixes for KNR compilers:
* gencheck.c: Remove redundant stdio.h include.  Add a definition
        of xmalloc for when we are forced to link with alloca.o.
        * reload1.c (reload_reg_free_for_value_p): Use `(unsigned)1'
        instead of `1U'.
        * fold-const.c (constant_boolean_node): Make definition static to
        match the prototype.

From-SVN: r20261
1998-06-06 09:25:16 +00:00
Per Bothner 8db79477cd Fix typo.
From-SVN: r20260
1998-06-05 17:49:35 -07:00
Jeff Law a007341fef Daily bump.
From-SVN: r20259
1998-06-05 18:45:02 -06:00
Jason Merrill 598c8c2c40 call.c (joust): Also warn about confusing conversion op/constructor overload resolution.
* call.c (joust): Also warn about confusing conversion op/constructor
	overload resolution.

From-SVN: r20258
1998-06-05 19:03:33 -04:00
Jason Merrill 1dd6b205d6 new
From-SVN: r20257
1998-06-05 18:57:38 -04:00
Jason Merrill a47855649e spew.c (yylex): Also return the TYPE_DECL if got_object.
* spew.c (yylex): Also return the TYPE_DECL if got_object.
	Don't clear got_object after '~'.
	* call.c (build_scoped_method_call): Tweak destructor handling.
	(build_method_call): Likewise.
	* pt.c (tsubst_copy, case METHOD_CALL_EXPR): Don't mess with
	TYPE_MAIN_VARIANT for destructors.
	* semantics.c (finish_object_call_expr): Complain about calling a
	TYPE_DECL.

From-SVN: r20256
1998-06-05 17:57:05 -04:00
Per Bothner e211a323f6 Fixed minor typo.
From-SVN: r20252
1998-06-05 09:02:14 -07:00
Per Bothner 6ff0d2a070 gcc.c (lang_specific_pre_link): New LANG_SPECIFIC_DRIVER function.
�
	* gcc.c (lang_specific_pre_link):  New LANG_SPECIFIC_DRIVER function.
	(lang_specific_extra_outfiles):  New LANG_SPECIFIC_DRIVER variable.
	(do_spec, input_filename, input_filename_length):  Make public.
	(main):  Adjust outfiles allocation by lang_specific_extra_outfiles.
	Call lang_specific_pre_link befor elinking.

From-SVN: r20251
1998-06-05 08:57:13 -07:00
Per Bothner f271358e78 gcc.c (lang_specific_pre_link): New LANG_SPECIFIC_DRIVER function.
`
	* gcc.c (lang_specific_pre_link):  New LANG_SPECIFIC_DRIVER function.
	(lang_specific_extra_outfiles):  New LANG_SPECIFIC_DRIVER variable.
	(do_spec, input_filename, input_filename_length):  Make public.
	(main):  Adjust outfiles allocation by lang_specific_extra_outfiles.
	Call lang_specific_pre_link befor elinking.

From-SVN: r20250
1998-06-05 08:57:11 -07:00
Per Bothner 98b570c6a0 g77spec (lang_specific_pre_link, [...]): Define - update needed by gcc.c change.
�
	* g77spec (lang_specific_pre_link, lang_specific_extra_ofiles):
	Define - update needed by gcc.c change.

From-SVN: r20249
1998-06-05 08:54:06 -07:00
Per Bothner 01c49e8e64 g77spec (lang_specific_pre_link, [...]): Define - update needed by gcc.c change.
* g77spec (lang_specific_pre_link, lang_specific_extra_ofiles):
	Define - update needed by gcc.c change.

From-SVN: r20248
1998-06-05 08:54:05 -07:00
Per Bothner 9ffe87d0cd g++spec (lang_specific_pre_link, [...]): Define - update needed by gcc.c change.
�
	* g++spec (lang_specific_pre_link, lang_specific_extra_ofiles):
	Define - update needed by gcc.c change.

From-SVN: r20247
1998-06-05 08:51:32 -07:00
Per Bothner 240661ba4d g++spec (lang_specific_pre_link, [...]): Define - update needed by gcc.c change.
(
	* g++spec (lang_specific_pre_link, lang_specific_extra_ofiles):
	Define - update needed by gcc.c change.

From-SVN: r20246
1998-06-05 08:51:31 -07:00
David Edelsohn 7fe90e7b3e document -maix64 and -mpowerpc64 options of rs6000 port.
improve documentation of -mxl-call option.
add @kindex to a few more items.

From-SVN: r20245
1998-06-05 11:13:49 -04:00
J"orn Rennecke ec667585e9 * execute/980605-1.c: New test.
From-SVN: r20244
1998-06-05 14:59:49 +01:00
Jeffrey A Law 2db4599393 haifa-sched.c (rank_for_schedule): For "equally good insns", prefer the insn which has the most insns dependent on it.
* haifa-sched.c (rank_for_schedule): For "equally good insns", prefer
        the insn which has the most insns dependent on it.

From-SVN: r20243
1998-06-05 05:32:28 -06:00
Jeff Law 192231fbe5 The right file.
From-SVN: r20242
1998-06-05 03:48:37 -06:00
Jeff Law 0a626bc851 Copied in the wrong file. I'll have to go find the right one.
From-SVN: r20241
1998-06-05 03:43:33 -06:00
John Carr 74186471a0 * alias.c (find_base_value): Avoid reading past end of reg_base_value.
From-SVN: r20240
1998-06-05 06:06:22 +00:00
Richard Henderson 989f090c07 * alpha.md (insxh-1): New insxl pattern for combine.
From-SVN: r20239
1998-06-04 20:10:46 -07:00
Dave Love b9e199ac5d Commentary.
From-SVN: r20238
1998-06-05 02:32:51 +00:00
Jason Merrill 19333f7003 x
From-SVN: r20237
1998-06-04 22:32:42 -04:00
Martin v. Löwis 3e3f722c44 cp-tree.h (DECL_NAMESPACE_ALIAS, [...]): Declare.
* cp-tree.h (DECL_NAMESPACE_ALIAS, ORIGINAL_NAMESPACE): Declare.
	* decl.c (lookup_name_real): Add namespaces_only parameter.
	If set, return only NAMESPACE_DECLs.
	(select_decl): Likewise.
	(identifier_type_value): Give additional parameter.
	(lookup_name_nonclass): Likewise.
	(lookup_name): Likewise.
	(find_binding): Skip namespace aliases.
	(binding_for_name): Likewise.
	(push_namespace): Check for namespace aliases.
	(lookup_name_namespace_only): New function.
	(begin_only_namespace_names, end_only_namespace_names): New functions.
	* decl2.c (set_decl_namespace): Skip namespace aliases.
	(do_using_directive): Likewise.
	(do_namespace_alias): Produce namespace aliases, fix alias
	redeclaration.
	* error.c (dump_decl): Support SCOPE_REF.
	* parse.y (extdef): Wrap lookup with namespace_only for namespace
	aliases and using declarations.

From-SVN: r20236
1998-06-04 22:26:55 -04:00
Jason Merrill 122d34f626 fix
From-SVN: r20235
1998-06-04 22:20:36 -04:00
Jeff Law 47103f593f Daily bump.
From-SVN: r20234
1998-06-04 18:45:32 -06:00
H.J. Lu b657fc397e i386.c (output_fp_conditional_move): New function to output floating point conditional move.
* i386/i386.c (output_fp_conditional_move): New function
        to output floating point conditional move.
        (output_int_conditional_move): New function to output integer
        conditional move.
        * i386/i386.md (movsicci+5, movhicc+5, movdicc+5): Call
        output_int_conditional_move () to output int conditional move.
        (movsfcc+5, movdfcc+5, movxfcc+5): Call
        output_fp_conditional_move () to output floating point
        conditional move.
        * i386/i386.c (put_condition_code): In INT mode, check
        cc_prev_status.flags & CC_NO_OVERFLOW for GE and LT.

From-SVN: r20233
1998-06-04 18:13:57 -06:00
Dave Love 265078b93f Commentary.
From-SVN: r20232
1998-06-04 14:39:01 +00:00
Jeff Law 0a95276e82 Regenerated.
From-SVN: r20231
1998-06-04 07:18:07 -06:00
Dave Brolley 202fe2d6a7 dbxout.c (dbxout_type): Output arrays of bits as if they were bitstrings for Chill
Thu Jun  4 16:09:51 1998  Dave Brolley  <brolley@cygnus.com>
	* dbxout.c (dbxout_type): Output arrays of bits as if
	they were bitstrings for Chill

From-SVN: r20230
1998-06-04 09:15:44 -04:00
David Edelsohn a260abc996 tree.c (get_inner_array_type): New function.
Thu Jun  4 14:35:27 1998  David Edelsohn  <edelsohn@mhpcc.edu>
	* tree.c (get_inner_array_type): New function.
	* tree.h (get_inner_array_type): Prototype.
	* expr.h (STACK_SAVEAREA_MODE): New macro.
	* expr.c (expand_builtin_setjmp): Initialize sa_mode using
	STACK_SAVEAREA_MODE.
	(expand_builtin_longjmp): Likewise.
	* explow.c (emit_stack_save): Likewise.
	(allocate_dynamic_stack_space): Use Pmode not insn_operand_mode.
	* rs6000/aix41.h (ASM_CPU_SPEC): Define relative to ASM_DEFAULT_SPEC.
	(CPP_CPU_SPEC): Define relative to CPU_DEFAULT_SPEC.
	* rs6000/aix43.h: New file.
	* rs6000/t-aix43: New file.
	* rs6000/x-aix41: New file.
	* rs6000/x-aix43: New file.
	* configure.in (rs6000-ibm-aix*): Use them.
	* rs6000/powerpc.h: Delete.
	* rs6000/sysv4.h: Move necessary powerpc.h definitions to here.
	* rs6000/netware.h: and here.
	* rs6000/win-nt.h: and here.
	* rs6000/rs6000.c (processor_target_table, 620): Do not affect
	MASK_POWERPC64.
	(rs6000_override_options): Ignore flag_pic for AIX.
	(rs6000_immed_double_const): Delete.
	(u_short_cint_operand): Don't assume 32-bit CONST_INT.
	(reg_or_u_short_operand): Don't assume 32-bit CONST_INT.
	(num_insns_constant): mask64_operand() is 2 insns.
	(logical_operand): Don't assume 32-bit CONST_INT.
	(non_logical_cint_operand): Don't assume 32-bit CONST_INT.
	(easy_fp_constant): Any CONST_DOUBLE_HIGH is okay for 64-bit.
	(mask_constant): HOST_WIDE_INT parameter.
	(non_and_cint_operand): Delete.
	(mask64_operand): New function.
	(and64_operand): New function.
	(function_arg_advance): DImode arguments do not need special
	alignment when 64-bit.
	(function_arg): Likewise.
	(setup_incoming_varargs): Reverse reg_size assignment.
	(print_operand): HOST_WIDE_INT second parameter.
	(print_operand, 'B'): New case.
	(print_operand, 'M'): Fix typo in lossage string.
	(print_operandm 'S'): New case.
	(rs6000_stack_info): Reverse reg_size assignment.  Use total_raw_size
	to compute AIX push_p.  Use reg_size to compute {cr,lr}_save_offset.
	(rs6000_output_load_toc_table): Reverse init_ptr assignment.  Use
	TARGET_64BIT not TARGET_POWERPC64.  Convert fprintf to fputs.
	Load GOT highpart, don't add it.  Add lowpart with {cal|la}.
	(rs6000_allocate_stack_space): Use {cal|la}.
	(output_epilog): Use {cal|la}
	(output_function_profiler): Add call glue to mcount call.
	Load GOT highpart, don't add it.  Add lowpart with {cal|la}.
	* rs6000/rs6000.h (TARGET_SWITCHES): Add powerpc64.
	(STACK_BOUNDARY): Depend on TARGET_32BIT.
	(ADJUST_FIELD_ALIGN): Calculate array alignment using innermost type.
	(CONST_OK_FOR_LETTER_P): Don't assume 32-bit CONST_INT.
	(EXTRA_CONSTRAINTS): Remove NT 'S' and 'T'.  Replace 'S' with
	64-bit mask operand.
	(RS6000_SAVE_TOC): Depend on TARGET_32BIT.
	(STACK_SAVEAREA_MODE): New macro.
	(LEGITIMATE_CONSTANT_P): DImode okay for 64bit.
	(LEGITIMIZE_RELOAD_ADDRESS): New macro.
	(RTX_COSTS, AND/IOR/XOR): Reflect current machine description.
	(ASM_FILE_START): Emit 64-bit ABI directive.
	(ASM_DECLARE_FUNCTION_NAME): Align CSECT on doubleword in 64-bit mode.
	(ASM_OUTPUT_SPECIAL_POOL_ENTRY): DImode okay for 64-bit.
	(PREDICATE_CODES): Add "and64_operand" and "mask64_operand".
	Delete "non_and_cint_operand".  "input_operand" includes CONST_DOUBLE.
	* rs6000/rs6000.md (iorsi3, xorsi3): Use HOST_WIDE_INT for mask.
	Restore define_splits.
	(floatsidf2, floatunssidf2): Remove !TARGET_POWERPC64 final constraint.
	(floatsidf2_internal, floatunssidf2_internal2): Likewise.
	Do not specify base register operand mode.
	(floatsidf2_loadaddr): Do not specify base register operand mode.
	(floatsidf2_store1, floatsidf2_store2): Operand 1 must be base
	register; do not specify mode.  Remove !TARGET_POWERPC64 final
	constraint.
	(floatsidf2_load): Do not specify base register operand mode.  Remove
	!TARGET_POWERPC64 final constraint.
	(fix_truncdfsi2_internal, fix_truncdfsi2_{store,load}): Do not specify
	base register operand mode.
	(adddi3): Split large constants early.
	(absdi3): Shift by 63, not 31.
	(*mulsidi3_ppc64): New pattern.
	(rotldi3): Add masking combiner patterns.
	(anddi3): Add rldic{r,l} masking.  Remove split of large constants
	because PPC insns zero-extend.
	(iordi3, xordi3): Split large constants early.
	(movsi matcher): Remove S and T constraints.
	(movsf const_double): create SImode constant from TARGET_DOUBLE.
	(movdf_hardfloat32): Add default abort() case.
	(movdf easy_fp_const): create DImode constant from TARGET_DOUBLE.
	(movdi): Remove 64-bit constant generator.  Try to convert
	CONST_DOUBLE to CONST_INT.  Handle TOC memory constants.
	(movdi_32): Add default abort() case.
	(movdi_64): Add numerous ways to split 64-bit constants.
	Make catch-all define_split more optimal and never FAIL.
	(movti_ppc64): Add default abort() case.
	(allocate_stack): Remove operand modes.  Use Pmode.
	(restore_stack_block): Remove operand modes.  Generate Pmode
	temporary.
	(save_stack_nonlocal, restore_stack_nonlocal):  Generate Pmode
	temporary.  Save area is double Pmode.
	(call_indirect_aix64, call_value_indirect_aix64): New patterns.
	(call, call_value): Do not specify address operand mode.  Choose
	appropriate AIX ABI.
	(*call_local64, *ret_call_local64): New patterns.
	(*call_nonlocal_aix64, *ret_call_nonlocal_aix64): New patterns.
	(*ret_call_nonlocal_aix32): Use call_value_indirect for REG.
	(compare): Materialize DImode truthvalues.

From-SVN: r20229
1998-06-04 07:47:15 -04:00
Jason Merrill a66c6fe2a8 new
From-SVN: r20228
1998-06-04 07:45:42 -04:00
Jason Merrill db36eaf7d0 * tree.c (really_overloaded_fn): Only see through one TREE_LIST.
From-SVN: r20227
1998-06-04 07:45:17 -04:00
Jason Merrill ad1169f719 new
From-SVN: r20226
1998-06-04 07:16:03 -04:00
Craig Burley a835e35137 com.c (ffecom_init_0): Fix setup of INTEGER(KIND=7) pointer type.
Mon Jun  1 19:37:42 1998  Craig Burley  <burley@gnu.org>
	* com.c (ffecom_init_0): Fix setup of INTEGER(KIND=7)
	pointer type.
	* info.c (ffeinfo_type): Don't crash on null type.
	* expr.c (ffeexpr_fulfill_call_): Don't special-case
	%LOC(expr) or LOC(expr).
	Delete FFEGLOBAL_argsummaryPTR.
	* global.c, global.h: Delete FFEGLOBAL_argsummaryPTR.

From-SVN: r20225
1998-06-04 10:41:23 +00:00
Robert Lipe e69bc5b0b3 rtti5.C float1.C were duplicated as 980310-2.C, 980310-C.
rtti5.C float1.C were duplicated as 980310-2.C, 980310-C.   Deleted
the former.

From-SVN: r20224
1998-06-04 08:29:07 +00:00
Jason Merrill 73d243c0c5 tweak
From-SVN: r20223
1998-06-03 22:27:45 -04:00
Jason Merrill 9d24de29f5 restore
From-SVN: r20222
1998-06-03 22:26:15 -04:00
Martin v. Löwis 0228fa7e4e decl2.c (do_toplevel_using_decl): When decl is a TYPE_DECL, treat it as using ::decl.
* decl2.c (do_toplevel_using_decl): When decl is a TYPE_DECL,
	treat it as using ::decl.

From-SVN: r20221
1998-06-03 22:13:29 -04:00
Jason Merrill dc724178aa update
From-SVN: r20220
1998-06-03 21:49:32 -04:00