Commit Graph

19156 Commits

Author SHA1 Message Date
Michael Hayes
b18cfc2861 rtl.def (POST_MODIFY, PRE_MODIFY): New generalized operators for addressing modes with side effects.
* rtl.def (POST_MODIFY, PRE_MODIFY): New generalized operators for
  	addressing modes with side effects.  These are currently
  	placeholders for the C4x target.

From-SVN: r23228
1998-10-22 16:11:16 +00:00
Tom Tromey
f76707606e java-tree.h (finalize_identifier_node): Don't declare.
* java-tree.h (finalize_identifier_node): Don't declare.
	* class.c (make_class_data): Don't push "final" field.
	* decl.c (init_decl_processing): Don't push "final" field.
	(finalize_identifier_node): Removed.
	(init_decl_processing): Don't set finalize_identifier_node.

From-SVN: r23227
1998-10-22 15:52:53 +00:00
Bernd Schmidt
86219cc76f loop.c (express_from): Make sure that when generating a PLUS of a PLUS...
* loop.c (express_from): Make sure that when generating a PLUS of
        a PLUS, any constant expression appears on the outermost PLUS.

From-SVN: r23226
1998-10-22 09:48:47 -06:00
Andreas Schwab
db1b5e8135 * compile/981022-1.c, compile/981022-1.x: New test and driver.
From-SVN: r23225
1998-10-22 09:03:45 -06:00
Martin v. Löwis
f09bbbedfb parse.y (named_class_head): Push into class while parsing the base class list.
* parse.y (named_class_head): Push into class while parsing the
	base class list.
	* decl2.c (push_scope, pop_scope): New functions.
	* tree.h: Declare them.

From-SVN: r23224
1998-10-22 14:52:02 +00:00
Martin v. Löwis
e0afe616d4 * init.c (build_new_1): Delay cleanup until end of full expression.
From-SVN: r23223
1998-10-22 14:48:22 +00:00
Per Bothner
298978c933 Makefile.in (distdir-cvs, [...]): Clean up so it works if "$(srcdir)" != ".".
* Makefile.in (distdir-cvs, distdir-start):  Clean up so it
        works if "$(srcdir)" != ".".

From-SVN: r23222
1998-10-22 08:47:52 -06:00
Jeff Law
4ac2fccfc7 Fix typo.
From-SVN: r23221
1998-10-22 08:31:13 -06:00
Tom Tromey
257fafbbe3 [multiple changes]
1998-10-22  Tom Tromey  <tromey@cygnus.com>
	* config-lang.in (stagestuff): Added jcf-dump and jv-scan.
Sun Oct 11 10:31:52 1998  Anthony Green  <green@cygnus.com>
	* Make-lang.in (java): Depend on jcf-dump and jv-scan.
	(JV_SCAN_SOURCES): New macro.
	(JCF_DUMP_SOURCES): Likewise.
	(jcf-dump$(exeext)): New target.
	(jv-scan$(exeext)): New target.
1998-10-22  Tom Tromey  <tromey@cygnus.com>
	* Makefile.in (LEX): Removed.
	(LEXFLAGS): Likewise.
	(SET_BISON): New macro.
	(BISON): Removed.
	($(PARSE_C)): Use SET_BISON.  Run bison from srcdir to avoid
	spurious diffs in parse.c.
	($(PARSE_SCAN_C)): Likewise.
	(PARSE_DIR): New macro.
	(PARSE_C): Use it.
	(PARSE_SCAN_C): Likewise.
	(PARSE_RELDIR): New macro.

From-SVN: r23220
1998-10-22 13:06:56 +00:00
Tom Tromey
8603f9c5b0 jcf-io.c (find_class): Use saw_java_source to determine when to look for `.java' file.
* jcf-io.c (find_class): Use saw_java_source to determine when to
	look for `.java' file.
	* jcf-parse.c (saw_java_source): New global.
	(yyparse): Set it if `.java' file seen.
	* Make-lang.in (JAVA_SRCS): Added jcf-path.c.
	(GCJH_SOURCES): Likewise.
	* Makefile.in (datadir): New macro.
	(libjava_zip): Likewise.
	(JAVA_OBJS): Added jcf-path.o.
	(../jcf-dump$(exeext)): Depend on and link with jcf-depend.o.
	(../gcjh$(exeext)): Likewise.
	(jcf-path.o): New target.
	* java-tree.h (fix_classpath): Removed decl.
	* jcf-parse.c (fix_classpath): Removed.
	(load_class): Don't call fix_classpath.
	* parse.y (read_import_dir): Don't call fix_classpath.
	* lex.h: Don't mention classpath.
	* lex.c (java_init_lex): Don't initialize classpath.
	* jcf-io.c (classpath): Removed global.
	(find_class): Use jcf_path iteration functions.  Correctly search
	class path for .java file.
	(open_in_zip): New argument `is_system'.
	* jcf-dump.c (main): Call jcf_path_init.  Recognize all new
	classpath-related options.
	* lang.c (lang_decode_option): Handle -fclasspath, -fCLASSPATH,
	and -I.
	(lang_init): Call jcf_path_init.
	* lang-options.h: Mention -I, -fclasspath, and -fCLASSPATH.
	* lang-specs.h: Handle -I.  Minor cleanup to -M options.
	Correctly put braces around second string in each entry.
	* gjavah.c (main): Call jcf_path_init.  Recognize all the new
	classpath-related options.
	(help): Updated for new options.
	* jcf.h: Declare functions from jcf-path.c.  Don't mention
	`classpath' global.
	* jcf-path.c: New file.
	* jcf-depend.c: Include jcf.h.
	* jcf-write.c (localvar_alloc): Returns `void'.
	(localvar_free): Removed unused variable.
	* lang.c (OBJECT_SUFFIX): Define if not already defined.
	(init_parse): Use OBJECT_SUFFIX, not ".o".

From-SVN: r23219
1998-10-22 12:06:05 +00:00
Kaveh R. Ghazi
8a829fd982 * configure.in: Use AC_CONFIG_AUX_DIR($topsrcdir).
From-SVN: r23218
1998-10-22 11:39:46 +00:00
Robert Lipe
d2ec8b393c * config.guess: Match any version of Unixware7.
From-SVN: r23217
1998-10-22 08:57:09 +00:00
Jeff Law
79654235e2 Daily bump.
From-SVN: r23216
1998-10-21 18:45:02 -06:00
Jim Wilson
7be7a07d27 Fix sparc builtin_memcpy miscompilation.
* expmed.c (store_bit_field): If need to add a SUBREG, then remove
	existing SUBREG if we can, otherwise abort.

From-SVN: r23215
1998-10-21 12:27:19 -07:00
Martin v. Löwis
822a4ff162 New test case.
From-SVN: r23214
1998-10-21 14:41:04 +00:00
Mark Mitchell
6946bc60bf c-common.c (c_apply_type_quals_to_decl): Don't crash when `restrict' is applied to a non-pointer variable.
* c-common.c (c_apply_type_quals_to_decl): Don't crash when
	`restrict' is applied to a non-pointer variable.

From-SVN: r23213
1998-10-21 09:59:32 +00:00
Mark Mitchell
3932261a55 invoke.texi: Document -flang-isoc9x.
* invoke.texi: Document -flang-isoc9x.
	* Makefile.in (OBJS): Add splay-tree.o.
	(c-common.o): Depend on rtl.h.
	(splay-tree.o): List dependencies and provide build rule.
	* rtl.h (record_alias_subset): New function.
	* alias.c: Include splay-tree.h.
	(alias_set_entry): New type.
	(CHECK_ALIAS_SETS_FOR_CONSISTENCY): Remove.
	(DIFFERENT_ALIAS_SETS_P): Use mem_in_disjoint_alias_sets_p.
	(mems_in_disjoin_alias_sets_p): New function.
	(alias_set_compare): Likewise.
	(insert_subset_children): Likewise.
	(get_alias_set_entry): Likewise.
	* tree.h (TYPE_RESTRICT): New macro.
	(TYPE_UNQUALIFIED): New manifest constant.
	(TYPE_QUAL_CONST): Likewise
	(TYPE_QUAL_VOLATILE): Likewise.
	(TYPE_QUAL_RESTRICT): Likewise.
	(tree_type): Add restrict_flag.  Reduce count of free bits.
	(DECL_POINTER_ALIAS_SET): New macro.
	(DECL_POINTER_ALIAS_SET_KNOWN_P): Likewise.
	(tree_decl): Add pointer_alias_set.
	(build_qualified_type): New function.
	(build_type_variant): Define in terms of build_qualified_type.
	* tree.c (set_type_quals): New function.
	(make_node): Initializae DECL_POINTER_ALIAS_SET.
	(build_type_attribute_variant): Use build_qualified_type and
	set_type_quals.
	(build_type_variant): Rename, and modify, to become...
	(build_qualified_type): New function.
	(build_complex_type): Use set_type_quals.
	* c-tree.h (C_TYPE_OBJECT_P): New macro.
	(C_TYPE_FUNCTION_P): Likewise.
	(C_TYPE_INCOMPLETE_P): Likewise.
	(C_TYPE_OBJECT_OR_INCOMPLETE_P): Likewise.
	(c_apply_type_quals_to_decl): New function.
	(c_build_qualified_type): New function.
	(c_build_type_variant): Define in terms of c_build_qualified_type.
	(flag_isoc9x): Declare.
	* c-typeck.c (qualify_type): Use c_build_qualified_type.
	(common_type): Change to use TYPE_QUALS.
	(comptypes): Likewise.
	(convert_for_assignment): Likewise.
	* c-aux-info.c (gen_type): Likewise.  Deal with `restrict'.
	* c-decl.c (flag_isoc9x): Define.
	(c_decode_option): Handle -flang-isoc9x.
	(grokdeclarator): Update to handle restrict.  Use TYPE_QUALS,
	c_build_qualified_type, etc.  Use c_apply_type_quals_to_decl.
	* c-lex.c (init_lex): Deal with restrict.
	(init_lex): Don't treat restrict as a reserved word in
	-traditional mode, or without -flang-isoc9x.
	* c-lex.h (rid): Add RID_RESTRICT.
	* c-parse.gperf (restrict, __restrict, __restrict__): Make
	equivalent to RID_RESTRICT.
	* c-parse.in (TYPE_QUAL): Update comment.
	* c-common.c: Include rtl.h.
	(c_find_base_decl): New function.
	(c_build_type_variant): Rename, and modify, to become ...
	(c_build_qualified_type): New function.
	(c_apply_type_quals_to_decl): Likewise.
	(c_get_alias_set): For INDIRECT_REFs, check to see if we can find
	a particular alias set for the reference.
	* toplev.c (documented_lang_options): Add -flang-isoc9x.

From-SVN: r23212
1998-10-21 09:53:40 +00:00
Mark Mitchell
52e90c5508 * splay-tree.h: New file.
From-SVN: r23211
1998-10-21 09:19:42 +00:00
Mark Mitchell
ed87f9c827 splay-tree.c: New file.
* splay-tree.c: New file.
	* Makefile.in (CFILES): Add it.
	(REQUIRED_OFILES): Likewise.
	(splay-tree.o): Add dependencies.

From-SVN: r23210
1998-10-21 09:19:13 +00:00
Nick Clifton
7e58a4d3ea Document ARM specific command line switches.
From-SVN: r23209
1998-10-21 09:16:23 +00:00
Alexandre Petit-Bianco
866e9df806 class.c (emit_register_classes): Renamed from emit_register_class.
Wed Oct 21 07:54:11 1998  Alexandre Petit-Bianco  <apbianco@cygnus.com>
	* class.c (emit_register_classes): Renamed from
 	emit_register_class.
	* java-tree.h (emit_register_classes): Prototype renamed from
 	emit_register_class.
	* jcf-parse.c (yyparse): Call emit_register_classes once before
 	returning.
	* parse.y (java_expand_classes): No longer register classes.
Prevents the generation of multiple static constructor for a
compilation unit.

From-SVN: r23208
1998-10-21 01:00:11 -07:00
Jason Merrill
cd916110da * typeck.c (build_component_ref): Use of a type here is an error.
From-SVN: r23207
1998-10-20 23:52:48 -04:00
Jeff Law
352f608aaa Daily bump.
From-SVN: r23206
1998-10-20 18:45:02 -06:00
Graham Stott
7655071ffc reload.c (loc_mentioned_in_p): Add missing braces to bind else to correct if.
8
	* reload.c (loc_mentioned_in_p): Add missing braces to bind
	else to correct if.

From-SVN: r23205
1998-10-20 12:07:49 -06:00
Graham Stott
b09df90bd5 reload.c (loc_mentioned_in_p): Add missing braces to bind else to correct if.
�
	* reload.c (loc_mentioned_in_p): Add missing braces to bind
	else to correct if.

From-SVN: r23204
1998-10-20 12:07:47 -06:00
Tom Tromey
645278bcac * gcc.c (option_map): Added --classpath and --CLASSPATH.
From-SVN: r23203
1998-10-20 17:02:48 +00:00
Andreas Schwab
e0c13971df cplus-dem.c (demangle_qualified): Fix off-by-one when checking range of 'K' index.
Tue Oct 20 12:29:02 1998  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
        * cplus-dem.c (demangle_qualified): Fix off-by-one when checking
        range of 'K' index.

From-SVN: r23202
1998-10-20 12:30:45 +00:00
Alexandre Petit-Bianco
b351b287b7 class.c (is_compiled_class): New local variable seen_in_zip.
Tue Oct 20 09:15:38 1998  Alexandre Petit-Bianco  <apbianco@cygnus.com>
	* class.c (is_compiled_class): New local variable
 	seen_in_zip. Identify classes found in currently compiled source
 	file(s).
	* decl.c (complete_start_java_method): Fixed typo.
	* java-tree.h (CLASS_FROM_CURRENTLY_COMPILED_SOURCE_P,
 	HAS_BEEN_ALREADY_PARSED_P, IS_A_COMMAND_LINE_FILENAME_P): New macros.
	(CLASS_P): Moved around.
	(java_parse_abort_on_error): Macro moved from jcf-parse.c
	* jcf-parse.c (java_parse_abort_on_error): Macro moved to
 	java-parse.h
	(jcf_parse_source): Changed leading comment. Removed unnecessary
 	fclose and CLASS_FROM_SOURCE_P marking.
	(parse_source_file): New local variables remember_for_generation
 	and filename. Mark parsed file name identifier node. Removed block
 	executed when parse_only was null. Set remember_for_generation.
	Use it as an argument to java_pop_parser_context.
	(yyparse): New local variables several_files, list, next node and
 	current_file_list. Split ampersand separated file names into
 	current_file_list. Iterate through the list and parse accordingly.
	* parse.h (java_pop_parser_context): New function prototype.
	* parse.y (ctxp_for_generation): New static global variable.
	(java_pop_parser_context): New argument generate. Link popped ctxp
 	to ctxp_for_generation list accordingly.
	(java_complete_expand_methods): Fixed indentation.
	(java_expand_classes): New function.
Add support for the use of `&' as a file separator on the jc1 command
line.

From-SVN: r23201
1998-10-20 04:16:37 -07:00
Per Bothner
2331d640ce *** empty log message ***
From-SVN: r23200
1998-10-20 03:56:33 -07:00
Per Bothner
a533752270 *** empty log message ***
From-SVN: r23199
1998-10-20 03:17:08 -07:00
Gavin Romig-Koch
cb2fdc843b regclass.c (fix_register): Add error message.
* regclass.c (fix_register): Add error message.
	* invoke.texi (-fcall-used-REG,-fcall-saved-REG): Note the
	  new error message

From-SVN: r23198
1998-10-20 08:03:37 +00:00
Kaveh R. Ghazi
0ca3fb0a16 New warning, `missing-noreturn':
* c-decl.c (warn_missing_noreturn): New global variable.
        (c_decode_option): Check for new flags -W{no-}missing-noreturn.
        (finish_function): Implement missing noreturn warning.
        * c-tree.h (warn_missing_noreturn): Declare extern.
        * invoke.texi: Document new flags.
        * toplev.c (documented_lang_options): Add description.

From-SVN: r23197
1998-10-20 07:32:08 +00:00
Michael Hayes
f1c374cbf1 c4x.c (c4x_parallel_process): Disable until BCT loop optimization stable for the C4x.
* config/c4x/c4x.c (c4x_parallel_process): Disable until BCT
	loop optimization stable for the C4x.
	(c4x_rptb_info_t, c4x_dump, c4x_rptb_in_range, c4x_rptb_unjumped_loop,
	c4x_rptb_find_comp_and_jump, c4x_rptb_loop_info_get,
	c4x_rptb_emit_init, c4x_rptb_process): Deleted (superceded by BCT
	loop optimization).
	(c4x_address_conflict): Be more paranoid when packing a volatile
	memref in a parallel load/store.

From-SVN: r23196
1998-10-20 03:18:57 +00:00
Michael Hayes
95cb020334 c4x.md (repeat_block_top, [...]): Deleted.
* config/c4x/c4x.md (repeat_block_top, repeat_block_end,
 	repeat_block_filler): Deleted.
	(*ashlqi3_set, *ashrqi3_const_set, *ashrqi3_nonconst_clobber):
 	Condition code not set if destination register from 'c' class.
	(*subbqi3_carry_clobber): Fix typo.

From-SVN: r23195
1998-10-20 03:01:10 +00:00
Jeff Law
c171c2878d Daily bump.
From-SVN: r23194
1998-10-19 18:45:02 -06:00
Martin v. Löwis
163c4dc51f New test case.
From-SVN: r23192
1998-10-19 23:23:04 +00:00
Jeffrey A Law
15f8470fd0 gcse.c (compute_hash_table): Correctly identify hard regs which are clobbered across calls.
* gcse.c (compute_hash_table): Correctly identify hard regs which are
        clobbered across calls.

From-SVN: r23191
1998-10-19 17:17:48 -06:00
Jeff Law
18e765cbda [multiple changes]
1998-10-18 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
        * reorg.c (steal_delay_list_from_target) Check for insns that
        modify the condition codes and effect the direction of the jump
        in the sequence.
Sat Oct 17 13:09:09 1998  Graham  <grahams@rcp.co.uk>
        * function.c (purge_addressof_1): Replace call to
        emit_insns_before() with emit_insn_before().

From-SVN: r23189
1998-10-19 14:23:44 -06:00
Jason Merrill
ea4d3ff6e0 new
From-SVN: r23188
1998-10-19 16:13:26 -04:00
Jason Merrill
1590ea76e9 update
From-SVN: r23187
1998-10-19 16:13:15 -04:00
Jason Merrill
51924768e7 Revamp references to member functions.
* method.c (hack_identifier): Call build_component_ref for a
	reference to a member function.
	* typeck.c (build_component_ref): Only return a single function
	if it's static.  Otherwise, return a COMPONENT_REF.
	(build_x_function_call): Handle a COMPONENT_REF.
	(build_unary_op): Handle all unknown-type things.
	* decl2.c (arg_assoc): Handle COMPONENT_REF.
	* class.c (instantiate_type): Complain if the function we get is a
	nonstatic member function.  Remove code for finding "compatible"
	functions.
	* pt.c (tsubst_copy): Handle NOP_EXPR.
	* tree.c (build_dummy_object): New fn.
	(maybe_dummy_object): New fn.
	(is_dummy_object): New fn.
	* cp-tree.h: Declare them.
	* cvt.c (cp_convert_to_pointer): Use maybe_dummy_object.
	* error.c (dump_expr, case OFFSET_REF): Use is_dummy_object.
	* init.c (build_member_call): Use maybe_dummy_object and
	is_dummy_object.
	(build_offset_ref): Use maybe_dummy_object.
	(resolve_offset_ref): Use is_dummy_object.
	* typeck.c (build_x_function_call): Call build_dummy_object.
	(unary_complex_lvalue): Call is_dummy_object.
	* typeck.c (build_component_addr): Make sure field is a field.
	* call.c (build_new_op): Delete obsolete code.
	* pt.c (tsubst, TEMPLATE*PARM*): Abort if we don't have any args.

From-SVN: r23186
1998-10-19 16:08:23 -04:00
Mike Stump
4f2905fb4b * libgcc2.c (__pure_virtual): Call __terminate instead of _exit.
From-SVN: r23185
1998-10-19 15:34:53 -04:00
Per Bothner
8b27f22596
Undo some mistakes from previous merge.

From-SVN: r23184
1998-10-19 06:43:57 -07:00
Per Bothner
c20012b633
Undo some mistakes from previous merge.

From-SVN: r23183
1998-10-19 06:43:55 -07:00
Jeffrey A Law
dbcce8f8e8 * 981019-1.c: New test.
From-SVN: r23182
1998-10-19 07:04:43 -06:00
Jeff Law
2fb5435af8 Fix dumb thinko.
From-SVN: r23181
1998-10-19 07:03:32 -06:00
Bernd Schmidt
51d87cd905 * jump.c (sets_cc0_p): Compile only if HAVE_cc0.
From-SVN: r23180
1998-10-19 06:28:19 -06:00
Jeffrey A Law
e1f7435e41 loop.c (scan_loop): Be more selective about what invariants are moved out of a loop.
* loop.c (scan_loop): Be more selective about what invariants are
        moved out of a loop.

From-SVN: r23178
1998-10-19 06:20:32 -06:00
Jeffrey A Law
38bf4c6fcd Bump for snapshot
From-SVN: r23176
1998-10-19 04:47:33 -06:00
Jeffrey A Law
c3cad2213e libgcc2.c (eh_context_static): Do not call malloc to allocate the static eh_context structure.
* libgcc2.c (eh_context_static): Do not call malloc to allocate the
        static eh_context structure.

From-SVN: r23175
1998-10-19 04:44:52 -06:00