Commit Graph

19954 Commits

Author SHA1 Message Date
Rainer Orth 21f891de68 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
        * fixincludes (c_asm.h): Wrap Digital UNIX V4.0B DEC C specific
        asm() etc. function declarations in __DECC.

From-SVN: r24366
1998-12-17 10:22:30 -08:00
Mark Mitchell fc03edb313 pt.c (push_inline_template_parms_recursive): Set it.
* pt.c (push_inline_template_parms_recursive): Set it.
	(decl_template_parm_p): Remove.
	(check_template_shadow): Use DECL_TEMPLATE_PARM_P.
	(process_template_parm): Set it.
Missed in Mark's earlier checkin.

From-SVN: r24365
1998-12-17 10:08:34 -05:00
Nick Clifton b2e7e6fb8a Do not generate CLOBBERs for non-pseudo regs.
From-SVN: r24364
1998-12-17 14:02:32 +00:00
Nick Clifton 3cdbd1f8ac Add: #include "expr.h"
From-SVN: r24363
1998-12-17 13:54:39 +00:00
Kaveh R. Ghazi cce4a9580a * hwint.h: New file to consolidate HOST_WIDE_INT (etc) macros.
From-SVN: r24362
1998-12-17 13:09:00 +00:00
Tom Tromey d5ff227d18 parse-scan.y (report_main_declaration): Recognize `java.lang.String' in argument to main.
* parse-scan.y (report_main_declaration): Recognize
	`java.lang.String' in argument to main.

From-SVN: r24361
1998-12-17 12:50:02 +00:00
Jim Wilson 2df8df36a2 Fix canadian-cross build problem with haifa scheduler.
* Makefile.in (INTERNAL_CFLAGS): Add SCHED_CFLAGS.
	(ALL_CFLAGS): Delete SCHED_CFLAGS.

From-SVN: r24360
1998-12-17 04:35:30 -08:00
Jeff Law 6f7dec6117 Daily bump.
From-SVN: r24352
1998-12-16 17:45:02 -07:00
J"orn Rennecke 86147f4854 * loop.c (combine_givs_used_by_other): Don't depend on n_times_set.
From-SVN: r24351
1998-12-17 00:29:00 +00:00
Jeffrey A Law f8670be1f7 * config.sub: Handle hppa2.0.
From-SVN: r24350
1998-12-16 17:25:11 -07:00
Jeff Law a0d66c8d67 dummy import to prevent merge lossage
From-SVN: r24349
1998-12-16 15:24:51 -07:00
Per Bothner 83a86272a2 * parse.y (create_interface): Remove bogus test.
From-SVN: r24348
1998-12-16 09:44:49 -08:00
Nick Clifton 16b6e12048 Ensure that last optimisation level set overrides any previous levels.
From-SVN: r24347
1998-12-16 17:34:48 +00:00
Per Bothner f868ca8f89 jcf-parse.c (get_constant): Set TREE_TYPE for string constants.
�
	* jcf-parse.c (get_constant):  Set TREE_TYPE for string constants.
	(HANDLE_CONSTANTVALUE):  If flag_emit_class_files, call get_constant.

From-SVN: r24346
1998-12-16 09:01:53 -08:00
Tom Tromey 0252081c1a * parse-scan.y (qualified_name): Use correct sprintf format.
From-SVN: r24345
1998-12-16 15:53:13 +00:00
Mark Mitchell 50714e797c class.c (resolve_address_of_overloaded_function): Do conversion to correct type here, rather than ...
* class.c (resolve_address_of_overloaded_function): Do conversion
	to correct type here, rather than ...
	(instantiate_type): Here.
	* cp-tree.h (DECL_TEMPLATE_PARM_P): New macro.
	(DECL_TEMPLATE_TEMPLATE_PARM_P): Use it.
	(decl_template_parm_p): Remove.
	* decl.c (pushdecl): Don't set DECL_CONTEXT for a template
	paramter.
	* lex.c (do_identifier): Use DECL_TEMPLATE_PARM_P.
	(push_inline_template_parms_recursive): Set it.
	(decl_template_parm_p): Remove.
	(check_template_shadow): Use DECL_TEMPLATE_PARM_P.
	(process_template_parm): Set it.

From-SVN: r24344
1998-12-16 15:51:21 +00:00
Dave Brolley 05c32e169c lang-specs.h: Pass -MD, -MMD and -MG to cc1obj if configured with cpplib.
Wed Dec 16 16:33:04 1998  Dave Brolley  <brolley@cygnus.com>
	* objc/lang-specs.h: Pass -MD, -MMD and -MG to cc1obj if configured with
	cpplib.
	* cpplib.c (cpp_start_read): If in_fname is not initialized, try to
	initialize it using fname.

From-SVN: r24343
1998-12-16 08:38:33 -05:00
Dave Brolley 6163a7b2f2 lang-specs.h (default_compilers): Pass -MD, -MMD and -MG to cc1plus if configured with cpplib.
Wed Dec 16 16:33:58 1998  Dave Brolley  <brolley@cygnus.com>
	* lang-specs.h (default_compilers): Pass -MD, -MMD and -MG to cc1plus
	if configured with cpplib.

From-SVN: r24342
1998-12-16 08:38:14 -05:00
Dave Brolley ed9c93bf44 lang-specs.h: Pass -MD, -MMD and -MG to cc1obj if configured with cpplib.
Wed Dec 16 16:33:04 1998  Dave Brolley  <brolley@cygnus.com>
	* objc/lang-specs.h: Pass -MD, -MMD and -MG to cc1obj if configured with
	cpplib.

From-SVN: r24341
1998-12-16 08:37:08 -05:00
Zack Weinberg 692b872ea0 cpplib.c (do_include): Treat #include_next in the primary source file as #include plus warning.
1998-12-16  Zack Weinberg  <zack@rabi.phys.columbia.edu>
	* cpplib.c (do_include): Treat #include_next in the
	primary source file as #include plus warning.  Treat
	#include_next in a file included by absolute path as an
	error.  fp == CPP_NULL_BUFFER is a fatal inconsistency.

From-SVN: r24340
1998-12-16 08:23:47 -05:00
Kaveh R. Ghazi 36b8337d5c cccp.c: Don't define MIN/MAX anymore.
* cccp.c: Don't define MIN/MAX anymore.
        * cpplib.c: Likewise.
        * machmode.h: Likewise.
        * system.h: Provide definitions for MIN/MAX.

From-SVN: r24339
1998-12-16 09:34:57 +00:00
Jeff Law 93eba43433 Daily bump.
From-SVN: r24338
1998-12-15 17:45:16 -07:00
Zack Weinberg 2d234b4f64 * fix-header.c: Don't define xstrdup here.
From-SVN: r24337
1998-12-15 15:50:27 -07:00
Jeffrey A Law b884a51af9 * mn10200.md (addsi3 expander): Use "nonmemory_operand" for operand 2.
From-SVN: r24336
1998-12-15 15:44:50 -07:00
J"orn Rennecke a07516d393 loop.c (consec_sets_giv): New argument last_consec_insn.
* loop.c (consec_sets_giv): New argument last_consec_insn.
	(strength_reduce): Provide / use it.

From-SVN: r24335
1998-12-15 21:13:42 +00:00
Jeff Law ebc5a9c1d3 Fix dumb thinkos in last change.
From-SVN: r24334
1998-12-15 13:53:34 -07:00
Michael Hayes 35704c4661 loop.h (loop_info): New field 'vtop'.
* loop.h (loop_info): New field 'vtop'.
	* loop.c (check_dbra_loop):  Use loop_info->vtop rather than
	scanning loop for vtop.
	* unroll.c (subtract_reg_term, find_common_reg_term): New functions.
	(loop_iterations): Use them to determine if loop has a constant
 	number of iterations.  Set loop_info->vtop.  Don't subtract
	common reg term from initial_value and final_value if have a
	do-while loop.

From-SVN: r24333
1998-12-15 20:31:18 +00:00
Mark Mitchell c7dda1e388 decl.c (poplevel): Make sure ns_binding is initialized.
1998-12-15  Mark Mitchell  <mark@markmitchell.com>
	* decl.c (poplevel): Make sure ns_binding is initialized.

From-SVN: r24332
1998-12-15 13:59:57 +00:00
Jeffrey A Law 5ba52c2e99 * mn10300.md (bset, bclr): Operand 0 is a read/write operand.
From-SVN: r24331
1998-12-15 06:30:41 -07:00
Jeffrey A Law 9c907d548f mn10200.md (abssf2, negsf2): New expanders.
* mn10200.md (abssf2, negsf2): New expanders.
        * mn10300.md (absdf2, abssf2, negdf2, negsf2): New expanders.

From-SVN: r24330
1998-12-15 05:53:12 -07:00
Mark Mitchell 1caa11d3a3 decl.c (finish_function): Undo inadvertant change in previous patch.
* decl.c (finish_function): Undo inadvertant change in previous
	patch.

From-SVN: r24329
1998-12-15 12:49:05 +00:00
Nick Clifton ddc54eaa30 Cope with inlining functions which return a multiword CONCAT value
From-SVN: r24328
1998-12-15 11:56:36 +00:00
Zack Weinberg c49445e001 cppalloc.c: Add xstrdup here.
1998-12-15  Zack Weinberg  <zack@rabi.phys.columbia.edu>
	* cppalloc.c: Add xstrdup here.
	* cpplib.h: Remove savestring prototype.
	* cpplib.c: Remove savestring function. s/savestring/xstrdup/
	  throughout.
	* cppfiles.c: s/savestring/xstrdup/ throughout.

From-SVN: r24327
1998-12-15 06:23:27 -05:00
Zack Weinberg 941e09b65f cpplib.c: Make all directive handlers read their own arguments.
1998-12-14 00:56 -0500  Zack Weinberg  <zack@rabi.phys.columbia.edu>
	* cpplib.c: Make all directive handlers read their own
          arguments.
	  (struct directive): Remove last two arguments from FUNC
          member prototype. Remove `command_reads_line' member
          entirely.
	  (directive_table): Remove initializations of
          command_reads_line flag.  Pretty-print.
	  (eval_if_expression, do_define, do_line, do_include,
          do_undef, do_error, do_pragma, do_ident, do_if, do_xifdef,
          do_else, do_elif, do_sccs, do_assert, do_unassert,
          do_warning): Take only two args.
	  (cpp_define): Call do_define with two args and the text to
	  define stuffed into a buffer.
	  (make_assertion): Call do_assert with two args.
	  (handle_directive): Call do_line with two args. Call
	  kt->func with two args.  Remove command_reads_line
	  processing.
	  (do_define, do_undef, do_error, do_warning, do_pragma,
	  do_sccs): Read the rest of the line here.
	  (do_ident): Gobble rest of line, as cccp does.
	  (cpp_undef): New function.
	  (cpp_start_read): Call cpp_undef instead of do_undef.

From-SVN: r24326
1998-12-15 06:17:06 -05:00
Zack Weinberg 7061aa5a9e cpphash.h (union hash_value): Remove `keydef' member, add a `struct hashnode *aschain' member for #assert.
1998-12-15  Zack Weinberg  <zack@rabi.phys.columbia.edu>
	* cpphash.h (union hash_value): Remove `keydef' member, add a
          `struct hashnode *aschain' member for #assert.
	  * cpplib.c (struct tokenlist_list, struct
          assertion_hashnode): Delete structure definitions.
          (assertion_install, assertion_lookup, delete_assertion,
          check_assertion, compare_token_lists, reverse_token_list,
          read_token_list, free_token_list): Delete functions.
          (parse_assertion): New function.
	  (cpp_cleanup): Don't destroy the assertion_hashtable.
          (do_assert): Gut and rewrite.  #assert foo (bar) places
          entries for `#foo' and `#foo(bar)' in the macro hash table,
          type T_ASSERT.  The value union's `aschain' member is used
          to chain all answers for a given predicate together.
          (do_unassert): Also rewritten.  Take an un-asserted
          answer off the chain from its predicate and call
          delete_macro on the hashnode, or walk a predicate chain
          calling delete_macro on all the entries.
          (cpp_read_check_assertion): Simply call parse_assertion to
          get the canonical assertion name, and look that up in the
          hash table.
	* cpplib.h (ASSERTION_HASHNODE,ASSERTION_HASHSIZE,assertion_hashtab):
 	Removed.
	* cpphash.c (install): Use bcopy instead of an explicit loop
          to copy the macro name.
	* cppexp.c (cpp_lex): Convert the result of
          cpp_read_check_assertion to a `struct operation' directly;
          don't go through parse_number.

From-SVN: r24325
1998-12-15 06:09:16 -05:00
J"orn Rennecke 4b259e3fd8 loop.h (struct induction): Delete times_used member.
* loop.h (struct induction): Delete times_used member.
	* loop.c (n_times_set): Rename to set_in_loop.  Changed all users.
	(n_times_used): Rename to n_times_set.  Changed all users.
	(scan_loop): Free reg_single_usage before strength reduction.
	(record_giv, combine_givs): Remove handling of times_used member.
	(combine_givs_used_once): Rename to:
	(combine_givs_used_by_other) .  Changed all callers.

From-SVN: r24324
1998-12-15 10:31:52 +00:00
Tom Tromey 06d84d6935 gjavah.c (print_field_info): Changed how most negative number is printed.
* gjavah.c (print_field_info): Changed how most negative number is
	printed.

From-SVN: r24323
1998-12-15 09:44:14 +00:00
Alexandre Oliva 68b048138c * g++.old-deja/g++.other/conv5.C: New test.
From-SVN: r24320
1998-12-15 06:47:22 +00:00
Jason Merrill 5f2f160cab dwarf2out.c (gen_struct_or_union_type_die): Check AGGREGATE_TYPE_P instead of TREE_CODE_CLASS == 't'.
* dwarf2out.c (gen_struct_or_union_type_die): Check AGGREGATE_TYPE_P
	instead of TREE_CODE_CLASS == 't'.
	(gen_type_die): Likewise.
	(scope_die_for): Ignore FUNCTION_TYPE "scopes".

From-SVN: r24319
1998-12-14 20:48:48 -05:00
Jeff Law e291f368db Daily bump.
From-SVN: r24318
1998-12-14 17:45:07 -07:00
Per Bothner 659ad4501b parse.y (fold_constant_for_init): New function.
* parse.y (fold_constant_for_init):  New function.
	(resolve_expression_name):  Don't replace static final
 	constant-initialized fields by its value.
	(java_complete_lhs):  New.  Same as java_complete_tree, except does
	not replace static final constant-initialized fields by their values.
	(register_fields):  If there is an initializer, set DECL_INITIAL and
	MODIFY_EXPR_FROM_INITIALIZATION_P.
	(java_complete_tree):  For MODIFY_EXPR, use java_complete_lhs for lhs.
	Only call patch_initialized_static_field if
	MODIFY_EXPR_FROM_INITIALIZATION_P.
	(patch_initialized_static_field):  If not valid constant, clear
	DECL_INITIAL.
	* parse.y (lookup_field_wrapper):  Fix thinko.
	* parse.y (java_complete_tree):  In EXPR_WITH_FILE_LOCATION,
	set and restore global lineno.

From-SVN: r24317
1998-12-14 11:22:30 -08:00
Per Bothner 5b09b33e5f parse.y (fold_constant_for_init): New function.
d
	* parse.y (fold_constant_for_init):  New function.
	(resolve_expression_name):  Don't replace static final
 	constant-initialized fields by its value.
	(java_complete_lhs):  New.  Same as java_complete_tree, except does
	not replace static final constant-initialized fields by their values.
	(register_fields):  If there is an initializer, set DECL_INITIAL and
	MODIFY_EXPR_FROM_INITIALIZATION_P.
	(java_complete_tree):  For MODIFY_EXPR, use java_complete_lhs for lhs.
	Only call patch_initialized_static_field if
	MODIFY_EXPR_FROM_INITIALIZATION_P.
	(patch_initialized_static_field):  If not valid constant, clear
	DECL_INITIAL.
	* parse.y (lookup_field_wrapper):  Fix thinko.
	* parse.y (java_complete_tree):  In EXPR_WITH_FILE_LOCATION,
	set and restore global lineno.

From-SVN: r24316
1998-12-14 11:22:28 -08:00
Jim Wilson c1c7db89c0 Eliminate compiler warnings.
* real.c (endian): Disable last change unless
	HOST_BITS_PER_WIDE_INT is greater than 32.

From-SVN: r24315
1998-12-14 08:30:48 -08:00
Mark Mitchell d8f8dca15f class.c (pushclass): Tweak handling of class-level bindings.
* class.c (pushclass): Tweak handling of class-level bindings.
	(resolve_address_of_overloaded_function): Update pointer-to-member
	handling.
	(instantiate_type): Likewise.
	* cvt.c (cp_convert_to_pointer): Likewise.
	* decl.c (pop_binding): Take the DECL to pop, not just the name.
	Deal with `struct stat' hack.
	(binding_level): Add to documentation.
	(push_binding): Clear BINDING_TYPE.
	(add_binding): New function.
	(push_local_binding): Use it.
	(push_class_binding): Likewise.
	(poplevel): Adjust calls to pop_binding.
	(poplevel_class): Likewise.
	(pushdecl): Adjust handling of TYPE_DECLs; add bindings for hidden
	declarations to current binding level.
	(push_class_level_binding): Likewise.
	(push_overloaded_decl): Adjust handling of OVERLOADs in local
	bindings.
	(lookup_namespace_name): Don't crash when confronted with a
	TEMPLATE_DECL.
	(lookup_name_real): Do `struct stat' hack in local binding
	contexts.
	(build_ptrmemfunc_type): Adjust documentation.
	(grokdeclarator): Don't avoid building real array types when
	processing templates unless really necessary.
	(finish_method): Adjust calls to pop_binding.
	* decl2.c (reparse_absdcl_as_expr): Recursively call ourselves,
	not reparse_decl_as_expr.
	(build_expr_from_tree): Deal with a template-id as the function to
	call in a METHOD_CALL_EXPR.
	* pt.c (convert_nontype_argument): Tweak pointer-to-member handling.
	(maybe_adjust_types_For_deduction): Don't do peculiar things with
	METHOD_TYPEs here.
	(resolve_overloaded_unification): Handle COMPONENT_REFs.  Build
	pointer-to-member types where necessary.
	* tree.c (build_cplus_array_type_1): Don't avoid building real
	array types when processing templates unless really necessary.
	(build_exception_variant): Compare the exception lists correctly.

From-SVN: r24314
1998-12-14 15:35:40 +00:00
Tom Tromey 11b8962251 gjavah.c (print_field_info): If value to print is the smallest value of its size...
* gjavah.c (print_field_info): If value to print is the smallest
	value of its size, then print as hex to avoid later warnings from
	C++ compiler.

From-SVN: r24313
1998-12-14 15:32:49 +00:00
Mark Mitchell a5c23b031d Update test
From-SVN: r24312
1998-12-14 15:11:43 +00:00
Andrew MacLeod 3167de5b8b output.h (force_data_section): New prototype.
* output.h (force_data_section): New prototype.
	* varasm.c (force_data_section): New function to force the
	data section, regardless of what in_section thinks.
	* dwarf2out.c (output_call_frame_info): Call force_data_section
	since varasm may not realize we've changes sections.

From-SVN: r24311
1998-12-14 14:19:48 +00:00
Nick Clifton 80599fd90c Delete REG_RETVAL and REG_LIBCALL notes after completeing reload
From-SVN: r24310
1998-12-14 14:13:26 +00:00
Tom Tromey 8c2dfb32b7 gjavah.c (decompile_method): Decompile `return null'.
* gjavah.c (decompile_method): Decompile `return null'.
	(process_file): Generate `#pragma interface'.
	(method_declared): New global.
	(print_method_info): Set it.
	(HANDLE_CODE_ATTRIBUTE): Only print it method_declared set.
	(print_method_info): Handle abstract methods.

From-SVN: r24309
1998-12-14 11:25:19 +00:00
Nick Clifton 9fe3461ee7 Fix typo.
From-SVN: r24308
1998-12-14 09:35:58 +00:00