Commit Graph

17787 Commits

Author SHA1 Message Date
Benjamin Kosnik
32fcacb013
try 3

From-SVN: r21439
1998-07-28 14:01:25 +00:00
Jason Merrill
282a221c4e class.c (finish_struct_1): Convert integer_zero_node to ssizetype before passing it to set_rtti_entry.
* class.c (finish_struct_1): Convert integer_zero_node to
 	ssizetype before passing it to set_rtti_entry.
	* typeck2.c (initializer_constant_valid_p): Allow conversion of 0
	of any size to a pointer.

From-SVN: r21438
1998-07-28 10:00:46 -04:00
Benjamin Kosnik
9e393e151a *** empty log message ***
From-SVN: r21436
1998-07-28 13:38:38 +00:00
Vladimir N. Makarov
1ed0205e35 cse.c (cse_insn): Enable subsitution inside libcall only for REG, SUBREG, MEM.
�
	* cse.c (cse_insn): Enable subsitution inside libcall only for REG,
	SUBREG, MEM.
	* rtlanal.c (replace_rtx): Prohibit replaces in	CONST_DOUBLE.

From-SVN: r21435
1998-07-28 12:54:04 +00:00
Mark Mitchell
4d17a06f32 cplus-dem.c (type_kind_t): New type.
* cplus-dem.c (type_kind_t): New type.
	(demangle_template_value_parm): Add type_kind_t parameter.  Rely
	on this paramter, rather than demangling the type again.
	(demangle_integral_value): Pass tk_integral.
	(demangle_template_: Pass the value returned from do_type.
	(do_type): Return a type_kind_t.  Pass tk_integral to
	demangle_template_value_parm for array bounds.
	(demangle_fund_type): Likewise.

From-SVN: r21434
1998-07-28 11:45:32 +00:00
Mark Mitchell
36a117a5b3 cp-tree.h (TI_USES_TEMPLATE_PARMS): Remove.
* cp-tree.h (TI_USES_TEMPLATE_PARMS): Remove.
	(build_template_decl_overload): Remove.
	(set_mangled_name_for_decl): New function.
	(innermost_args): Remove is_spec parameter.
	(most_specialized, most_specialized_class): Remove declarations.
	(lookup_template_class): Add entering_scope parameter.
	(maybe_process_partial_specialization): New function.
	(finish_template_decl): Likewise.
	(finish_template_type): Likewise.
	* class.c (finish_struct): Clean up processing of member template
	specializations.
	* decl.c (pushtag): Fix	formatting.
	(lookup_tag): Improve handling of pseudo-global levels.
	(make_typename_type): Adjust call to lookup_template_class.
	(shadow_tag): Use maybe_process_partial_specialization.
	(xref_tag): Improve handling of member friends.
	(start_function): Call push_nested_class before
	push_template_decl.  Don't call push_template_decl for
	specializations.
	* decl2.c (grok_x_components): Don't call xref_tag for
	template instantiations.  Handle UNION_TYPEs like RECORD_TYPEs.
	(grokclassfn): Use set_mangled_name_for_decl.
	(arg_assoc_class): Adjust call to innermost_args.
	(mark_used): Don't call instantiate_decl for a TEMPLATE_DECL.
	* error.c (dump_function_name): Improve printing of template
	function names.
	* friend.c (is_friend): Don't compare types of decls to determine
	friendship, unless flag_guiding_decls.
	(make_friend_class): Partial specializations cannot be friends.
	(do_friend): Use set_mangled_name_for_decl.  Call
	push_template_decl_real instead of push_template_decl.
	* method.c (build_decl_overload_real): Remove prototype.  Give it
	external linkage.
	(build_overload_identififer): Adjust call to innermost_args.
	(build_template_decl_overload): Remove.
	(set_mangled_name_for_decl): New function.
	* parse.y (.finish_template_type): New non-terminal.
	(template_def): Use finish_template_decl.  Use template_extdef
	instead of extdef.
	(template_extdef, template_datadef): New non-terminals, containing
	only those rules for things which can be templates.
	(datadef): Tidy.
	(template_type, self_template_type): Use .finish_template_type.
	(named_class_head): Use maybe_process_partial_specialization.
	* pt.c (mangle_class_name_for_template): Remove context parameter.
	(get_class_bindings): Remove outer_args parameter.
	(complete_template_args): Remove.
	(add_outermost_template_args): New function.
	(register_specialization): Return the specialization.
	(unregister_specialization): New function.
	(tsubst_template_parms): Likewise.
	(most_specialized, most_specialized_class): Prototype here as
	static.
	(original_template): Rename to most_general_template.
	(tsubst_template_parms): New function.
	(set_mangled_name_for_template_decl): Likewise.
	(TMPL_ARGS_DEPTH): New macro.
	(TMPL_ARGS_HAVE_MULTIPLE_LEVELS): Adjust.
	(TMPL_ARGS_LEVEL): New macro.
	(SET_TMPL_ARGS_LEVEL): Likewise.
	(TMPL_ARG): Likewise.
	(SET_TMPL_ARG): Likewise.
	(TMPL_ARGS_DEPTH): Likewise.
	(finish_member_template_decl): Use finish_template_decl.
	(maybe_process_partial_specialization): New function, split out
	from tsubst.
	(inline_needs_template_parms): Use TMPL_PARMS_DEPTH.
	(maybe_begin_member_template_processing): Use new macros.
	(is_member_template): Likewise.
	(is_member_template_class): Likewise.
	(add_to_template_args): Likewise.  Deal with multiple levels of
	args.
	(maybe_process_partial_specialization): New function.
	(retrieve_specialization): Add consistency check.
	(determine_specialization): Return full argument list.
	(check_explicit_specialization): Tweak friend handling.  Use full
	argument lists.  Simplify.
	(current_template_args): Use new macros.
	(push_template_decl_real): Change ill-named mainargs to specargs.
	Check that a partial specialization actually specializes at least
	one parameter.   Improve friend handling.  Modify for full
	template arguments.
	(classtype_mangled_name): Don't mangle the names of
	specializations.
	(lookup_template_class): Add entering_scope parameter.  Use it to
	avoid finding a template type when an instantiation is required.
	Simplify.  Use full template arguments.
	(tsubst_friend_function): Use unregister_specialization.  Use new
	macros.  Use full template arguments.
	(tsubst_friend_class): Substitute, using tsubst_template_parms,
	into the template parameters before passing them to
	redeclare_class_template.
	(instantiate_class_template): Simplify.  Use full template
	arguments.  Adjust calls to get_class_bindings.  Use
	SET_IDENTIFIER_TYPE_VALUE where needed.  Improve friend handling.
	(innermost_args): Use new macros.
	(tsubst_aggr_type): New function, split out from tsubst.
	(tsubst): Use tsubst_aggr_type, tsubst_template_parms, new calling
	conventions for lookup_tmeplate_class.  Refine handling of partial
	instantiations.   Remove calls to complete_template_args.
	Simplify.  Add consistency checks.  Use set_mangled_name_for_decl
	and set_mangled_name_for_template_decl.
	(tsubst_copy): Use tsubst_aggr_type.
	(instantiate_template): Use full template arguments.
	(more_specialized): Improve formatting.
	(more_specialized_class): Adjust calls to get_class_bindings.
	(get_bindings_real): Don't call complete_template_args.
	(most_specialized): Don't overwrite input; create a new list.
	(most_specialized_class): Use most_general_template.
	(regenerate_decl_from_template): Use unregister_specialization.
	Use full template arguments.
	(instantiate_decl): Use full template arguments.
	(set_mangled_name_for_template_decl): New function.
	* semantics.c (begin_class_definition): Use
	maybe_process_partial_specialization.
	(finish_member_class_template): New function.
	(finish_template_decl): Likewise.
	(finish_template_type): Likewise.
	(typeck.c): Don't crash after issuing a compiler_error.
	* Makefile.in (CONFLICTS): Adjust; we removed a s/r conflict.

From-SVN: r21433
1998-07-28 01:03:16 +00:00
Jeff Law
0167ae91ff Daily bump.
From-SVN: r21431
1998-07-27 18:45:03 -06:00
Jason Merrill
3551c17764 * typeck2.c (build_functional_cast): Handle default-initialization.
From-SVN: r21427
1998-07-27 17:47:41 -04:00
Jason Merrill
b3abfd6fc1 tree.c (simple_cst_equal, [...]): OK if the elts are identical.
* tree.c (simple_cst_equal, case CONSTRUCTOR): OK if the elts are
	identical.

From-SVN: r21425
1998-07-27 17:42:35 -04:00
Jeffrey A Law
198f32a6e4 * pa.c (move_operand): Accept CONSTANT_P_RTX.
From-SVN: r21423
1998-07-27 15:20:00 -06:00
Mike Stump
31e9c6ed12 * compare_tests: New script.
From-SVN: r21422
1998-07-27 15:12:03 -06:00
Alexandre Oliva
91fa313b84 * test_summary: assigned copyright to FSF
From-SVN: r21421
1998-07-27 21:01:54 +00:00
Gerald Pfeifer
59d3b2e4f1 test_summary: Corrected script name in comments providing documentation.
P
	* test_summary: Corrected script name in comments providing
	documentation.  Added linebreaks for lines with > 80 characters.

From-SVN: r21420
1998-07-27 14:37:47 -06:00
Gerald Pfeifer
18aca90238 test_summary: Corrected script name in comments providing documentation.
F
	* test_summary: Corrected script name in comments providing
	documentation.  Added linebreaks for lines with > 80 characters.

From-SVN: r21419
1998-07-27 14:37:46 -06:00
Jason Merrill
66c2127e18 * call.c (build_over_call): Pass 1 to popclass.
From-SVN: r21418
1998-07-27 13:03:39 -04:00
Jason Merrill
92ac31f12b parse.y (direct_notype_declarator): Add precedence declaration to notype_unqualified_id case.
* parse.y (direct_notype_declarator): Add precedence declaration
	to notype_unqualified_id case.
	* tree.c (ovl_member): Fix for single function in OVL.

From-SVN: r21417
1998-07-27 10:38:11 -04:00
Dave Brolley
74a4fbfcc8 stor-layout.c (layout_type): Handle arrays of bits, for Chill.
Mon Jul 27 17:18:52 1998  Dave Brolley  <brolley@cygnus.com>
	* stor-layout.c (layout_type): Handle arrays of bits, for Chill.
	* expr.c (get_inner_reference): Handle zero-based, unsigned, array
	index conversion.

From-SVN: r21416
1998-07-27 10:37:00 -04:00
Jeff Law
4944f54f41 mn10300.h (DEBUGGER_AUTO_OFFSET): Define.
`
        * mn10300.h (DEBUGGER_AUTO_OFFSET): Define.
        (DEBUGGER_ARG_OFFSET): Likewise.
        * mn10300.md (movsf): Remove last change.  Not needed.

From-SVN: r21415
1998-07-27 07:53:27 -06:00
Jeff Law
217b83c96a mn10300.h (DEBUGGER_AUTO_OFFSET): Define.
* mn10300.h (DEBUGGER_AUTO_OFFSET): Define.
        (DEBUGGER_ARG_OFFSET): Likewise.
        * mn10300.md (movsf): Remove last change.  Not needed.

From-SVN: r21414
1998-07-27 07:53:24 -06:00
Dave Brolley
45e0984cdb c-lex.c (yylex): Fix boundary conditions in character literal and string literal loops.
Mon Jul 27 14:22:36 1998  Dave Brolley  <brolley@cygnus.com>
	* c-lex.c (yylex): Fix boundary conditions in character literal and
	string literal loops.

From-SVN: r21413
1998-07-27 08:51:56 -04:00
Dave Brolley
ea6c114284 c-lex.c (yylex): Fix boundary conditions in character literal and string literal loops.
1998-07-27  Dave Brolley  <brolley@cygnus.com>
	* c-lex.c (yylex): Fix boundary conditions in character literal and
	string literal loops.

From-SVN: r21412
1998-07-27 08:37:16 -04:00
Stan Cox
84530511d2 configure.in: Added i[34567]86-*-win32.
config.sub: Ditto.
configure: Rebuilt.
longlong.h (count_leading_zeros): Sparclite scan instruction
i386.c (ix86_prologue): Added SUBTARGET_PROLOGUE invocation.
i386/cygwin32.h (STARTFILE_SPEC, LIB_SPEC, SUBTARGET_PROLOGUE): Add -pg support.
i386/win.h: New file.  Hybrid mingw32.h/cygwin32.h configuration.

From-SVN: r21411
1998-07-27 11:56:18 +00:00
Jason Merrill
cb99b4a0ce x
From-SVN: r21409
1998-07-27 07:09:14 -04:00
Jeff Law
51d68ee878 Daily bump.
From-SVN: r21404
1998-07-26 18:45:02 -06:00
Dave Love
a64d77963e 980615-0.f: New test.
1998-07-26  Dave Love  <d.love@dl.ac.uk>
	* g77.f-torture/noncompile/980615-0.f: New test.

From-SVN: r21403
1998-07-26 14:57:37 +00:00
Dave Love
19ede93469 New test.
From-SVN: r21402
1998-07-26 14:55:48 +00:00
Craig Burley
99b712ffc9 Fix 980615-0.f:
Sat Jul 25 17:23:55 1998  Craig Burley  <burley@gnu.org>
	Fix 980615-0.f:
	* stc.c (ffestc_R1229_start): Set info to ANY as well.

From-SVN: r21401
1998-07-26 14:49:27 +00:00
Dave Love
a30ab391c3 BUGS, [...]: Rebuilt.
1998-07-26  Dave Love  <d.love@dl.ac.uk>
	* BUGS, INSTALL, NEWS: Rebuilt.

From-SVN: r21399
1998-07-26 14:36:13 +00:00
Dave Love
d9b9ee6406 Rebuilt.
From-SVN: r21398
1998-07-26 14:35:03 +00:00
Jeff Law
7935f0d59f Daily bump.
From-SVN: r21394
1998-07-25 18:45:01 -06:00
H.J. Lu
61dd26e6ba i386.h (CONST_DOUBLE_OK_FOR_LETTER_P): Return 0 when eliminating the frame pointer and compiling PIC code and reload...
* i386.h (CONST_DOUBLE_OK_FOR_LETTER_P): Return 0 when eliminating
        the frame pointer and compiling PIC code and reload has not completed.

From-SVN: r21392
1998-07-25 18:34:10 -06:00
H.J. Lu
3abe23a0eb 980312-1.c: Do link instead of compile.
* gcc.dg/980312-1.c: Do link instead of compile.
        * gcc.dg/980313-1.c: Likewise.

From-SVN: r21391
1998-07-25 18:16:26 -06:00
H.J. Lu
60aeab7f32 i386.c (output_to_reg): Add code to emulate non-popping DImode case.
�
        * i386.c (output_to_reg): Add code to emulate non-popping DImode
        case.

From-SVN: r21389
1998-07-25 18:12:12 -06:00
Jeffrey A Law
bc6bd744c5 * gcc.c-torture/compile/980726-1.c: New test.
From-SVN: r21388
1998-07-25 18:05:36 -06:00
Jeffrey A Law
9616dd8d5f * regmove.c (regmove_optimize): Fix typo initializing regmove_bb_head.
From-SVN: r21386
1998-07-25 18:03:18 -06:00
Gerald Pfeifer
f8c86b58a2 Makefile.in (install-info): Only try to update the info directory file if it exists in the first place.
8
        * Makefile.in (install-info): Only try to update the info
        directory file if it exists in the first place.

From-SVN: r21383
1998-07-25 16:30:26 -06:00
Gerald Pfeifer
b0a766e89d Makefile.in (install-info): Only try to update the info directory file if it exists in the first place.
�
        * Makefile.in (install-info): Only try to update the info
        directory file if it exists in the first place.

From-SVN: r21382
1998-07-25 16:30:24 -06:00
Dave Love
e5d82dcf39 Makefile.in (s-libe77, [...]): Rely on VPATH, dropping explicit use of $(srcdir) in various places.
1998-07-24  Dave Love  <d.love@dl.ac.uk>
	* Makefile.in (s-libe77, ${srcdir}/configure, g2c.h, Makefile,
	config.status, rebuilt): Rely on VPATH, dropping explicit use of
	$(srcdir) in various places.

From-SVN: r21379
1998-07-25 05:38:51 +00:00
Dave Love
b07d089197 (s-libe77, ${srcdir}/configure, g2c.h, Makefile,
config.status, rebuilt): Rely on VPATH, dropping explicit use of
$(srcdir) in various places.

From-SVN: r21378
1998-07-25 05:37:48 +00:00
Dave Love
8b62e122ec io0.f: New test.
1998-07-25  Dave Love  <d.love@dl.ac.uk>
	* g77.f-torture/execute/io0.f: New test.

From-SVN: r21372
1998-07-25 04:36:27 +00:00
Dave Love
d730ed9642 New test.
From-SVN: r21371
1998-07-25 04:33:22 +00:00
Jason Merrill
b8b1a3c1fc decl.c (lookup_name_real): OK, do return the from_obj value unless got_object depends on template parms.
* decl.c (lookup_name_real): OK, do return the from_obj value
	unless got_object depends on template parms.

From-SVN: r21370
1998-07-24 23:19:28 -04:00
Jeff Law
dd7ff7a98f Daily bump.
From-SVN: r21368
1998-07-24 18:45:01 -06:00
Klaus Espenlaub
4f057fe754 correct change attribution
From-SVN: r21367
1998-07-24 16:11:35 -04:00
Klaus Espenlaub
4cacd7a002 * rs6000.h (ASM_OUTPUT_CONSTRUCTOR, ASM_OUTPUT_DESTRUCTOR): Delete.
From-SVN: r21366
1998-07-24 12:04:27 -04:00
Jason Merrill
67152996a3 x
From-SVN: r21365
1998-07-24 10:58:19 -04:00
Jason Merrill
bc22fa9801 * parse.y (nested_name_specifier_1): Pull out the TYPE_MAIN_VARIANT.
From-SVN: r21364
1998-07-24 10:51:54 -04:00
Jason Merrill
d1fec18074 * pt.c (coerce_template_parms): Also complain about local enums.
From-SVN: r21363
1998-07-24 10:02:32 -04:00
Jeffrey A Law
e2bc7d00a6 mn10300.md (movqi, [...]): Correctly handle CONST_DOUBLE source.
* mn10300.md (movqi, movhi, movsi, movsf): Correctly handle
        CONST_DOUBLE source.

From-SVN: r21362
1998-07-24 07:21:44 -06:00
Jason Merrill
c6160f8f95 cp-tree.h: Add prototype for set_identifier_local_value.
* cp-tree.h: Add prototype for set_identifier_local_value.
	* decl.c (set_identifier_local_value_with_scope): Make static,
	prototype.
	* search.c (covariant_return_p): Likewise.
	* except.c (build_terminate_handler, alloc_eh_object): Likewise.
	* call.c (build_method_call): Only pull out the type of a destructor
	if it's a template type parm.
	* decl.c (lookup_name_real): Never return the from_obj value.

From-SVN: r21361
1998-07-24 08:36:55 -04:00