Commit Graph

19051 Commits

Author SHA1 Message Date
Jason Merrill
409666f729 new
From-SVN: r23118
1998-10-15 15:44:51 -04:00
Jason Merrill
0f8766b8af decl.c (grokfndecl): ::main and __builtin_* get C linkage.
* decl.c (grokfndecl): ::main and __builtin_* get C linkage.
	Do mangling here.
	(grokdeclarator): Instead of here.
	* friend.c (do_friend): Lose special handling of ::main and
	__builtin_*.
	* cp-tree.h (DECL_MAIN_P): Check for C linkage.
	* spew.c (yylex): Clear looking_for_typename if we got
	'enum { ... };'.

From-SVN: r23117
1998-10-15 15:43:51 -04:00
David Edelsohn
d46965b967 - recommit bct_p ATTRIBUTE_UNUSED change which somehow failed.
From-SVN: r23116
1998-10-15 13:37:58 -04:00
David Edelsohn
fca812fa4a loop.c (strength_reduce): Restore marking bct_p as ATTRIBUTE_UNUSED.
* loop.c (strength_reduce): Restore marking bct_p as
        ATTRIBUTE_UNUSED.
        * rs6000.c (optimization_options): Change #ifdef HAIFA to
        HAVE_decrement_and_branch_on_count.
        (small_data_operand): Remove TARGET_ELF condition for marking
        parameters ATTRIBUTE_UNUSED.

From-SVN: r23115
1998-10-15 12:52:52 -04:00
Alexandre Oliva
c415cdff3e Makefile.in: rebuilt with --include-deps, --build-dir and --srcdir-name
* Makefile.in: rebuilt with --include-deps, --build-dir and
	--srcdir-name
	* doc/Makefile.in: ditto
	* info/Makefile.in: ditto
	* lib/Makefile.in: ditto
	* makeinfo/Makefile.in: ditto
	* util/Makefile.in: ditto

From-SVN: r23114
1998-10-15 15:56:34 +00:00
Kaveh R. Ghazi
91e0f659c9 Warning fixes:
* choose-temp.c: Prototype mkstemps() when IN_GCC.
        * cplus-dem.c (consume_count): Cast argument of ctype macro to
        `unsigned char'.
        (cplus_demangle_opname): Cast the result of `strlen' to (int) when
        comparing against one.
        (cplus_mangle_opname): Likewise.
        (demangle_integral_value): Cast argument of ctype macro to
        `unsigned char'.
        (demangle_template_value_parm): Likewise.
        (demangle_template): Initialize variable `bindex'.  Cast the
        result of `strlen' to (int) when comparing against one.  Remove
        unused variable `start_of_value_parm'.
        (demangle_class_name): Cast the result of `strlen' to (int) when
        comparing against one.
        (demangle_prefix): Cast argument of ctype macro to `unsigned char'.
        (gnu_special): Likewise.  Cast the result of `strlen' to (int)
        when comparing against one.
        (demangle_qualified): Cast argument of ctype macro to `unsigned char'.
        (get_count): Likewise.
        (do_type): Likewise.  Cast the result of `strlen' to (int) when
        comparing against one.
        (demangle_fund_type): Cast argument of ctype macro to `unsigned char'.
        (demangle_function_name): Cast the result of `strlen' to (int)
        when comparing against one.
        * mkstemp.c (mkstemps): Cast variable `len' to (int) when
        comparing against one.

From-SVN: r23113
1998-10-15 15:55:04 +00:00
Mark Mitchell
ce0a595295 class.c (maybe_warn_about_overly_private_class): Improve error messages for class with only private constructors.
* class.c (maybe_warn_about_overly_private_class): Improve error
	messages for class with only private constructors.

From-SVN: r23111
1998-10-15 11:36:46 +00:00
Mark Mitchell
45869a6cab cp-tree.def (TYPENAME_TYPE): Add to documentation.
* cp-tree.def (TYPENAME_TYPE): Add to documentation.
	* cp-tree.h (TYPENAME_TYPE_FULLNAME): Document.
	(build_typename_type): New function.
	* decl.c (build_typename_type): Broken out from ...
	(make_typename_type): Use it.
	* search.c (lookup_field): Likewise.

From-SVN: r23110
1998-10-15 11:27:43 +00:00
Robert Lipe
80fba193dd sco5.h (MAX_OFILE_ALIGNMENT): Define.
* config/i386/sco5.h (MAX_OFILE_ALIGNMENT):  Define.
       (SELECT_SECTION): Resync with svr4.h.

From-SVN: r23109
1998-10-15 09:52:29 +00:00
Robert Lipe
1862988072 + * config/i386/sco5.h (MAX_OFILE_ALIGNMENT): Define.
+       * config/i386/sco5.h (MAX_OFILE_ALIGNMENT):  Define.
+       (SELECT_SECTION): Resync with svr4.h.

From-SVN: r23108
1998-10-15 09:51:20 +00:00
David Edelsohn
4cd8d6f49d loop.c (strength_reduce): Undo Oct 14 change marking bct_p ATTRIBUTE_UNUSED.
* loop.c (strength_reduce): Undo Oct 14 change marking bct_p
        ATTRIBUTE_UNUSED.

From-SVN: r23107
1998-10-15 05:46:38 -04:00
Kaveh R. Ghazi
12fe4621bf Warning fixes:
* expr.c (build_chill_card): Use &&, not &, when comparing truth
        values.
        * parse.c (parse_spec_module): Remove unused variable
        `module_name', but preserve function call from initialization.
        (parse_operand6): Mark variable `location' with ATTRIBUTE_UNUSED.
        * inout.c (init_text_location): Remove unused variable `textlength'.

From-SVN: r23106
1998-10-15 07:04:49 +00:00
Jeff Law
5557c30d8b Daily bump.
From-SVN: r23105
1998-10-14 18:45:01 -06:00
Robert Lipe
2d9db28e7a c-pragma.c (handle_pragma_token): Test for null tree before dereferencing TREE_CODE.
* c-pragma.c (handle_pragma_token): Test for null tree before
	dereferencing TREE_CODE.

From-SVN: r23104
1998-10-14 23:39:38 +00:00
Michael Hayes
e27f8c8a49 c4x.c: Convert to use GEN_INT.
* config/c4x/c4x.c: Convert to use GEN_INT.
	(c4x_parallel_process): Rework to handle new repeat loop structure.
	* config/c4x/c4x.md: Convert to use GEN_INT.
	(rptb_end): Convert to use GE test.  Replace uses with clobbers.
	(decrement_and_branch_on_count): Likewise.
	* config/c4x/c4x.h (REPEAT_BLOCK_PROCESS): Deleted hook now that
	loop.c has the desired functionality.
	(rc_reg_operand): New prototype.
	* config/c4x/t-c4x: Can now build all front ends.

From-SVN: r23103
1998-10-14 22:46:04 +00:00
Didier FORT
7f3feeea20 fixincludes: Fix up rpc/{clnt,svr,xdr}.h for SunOS.
* fixincludes: Fix up rpc/{clnt,svr,xdr}.h for SunOS.

From-SVN: r23100
1998-10-14 16:29:16 -06:00
Didier FORT
2e945f3803 fixincludes: Fix up rpc/{clnt,svr,xdr}.h for SunOS.
P
        * fixincludes: Fix up rpc/{clnt,svr,xdr}.h for SunOS.

From-SVN: r23099
1998-10-14 16:29:13 -06:00
Benjamin Kosnik
5b2e9bf44d pt.c (convert_nontype_argument): Check against type_referred_to.
~
1998-10-14 Benjamin Kosnik  <bkoz@rhino.cygnus.com>
        * pt.c (convert_nontype_argument): Check against type_referred_to.
        * decl.c (grokvardecl): Check for declarator name before building
        DECL_ASSEMBLER_NAME.

From-SVN: r23097
1998-10-14 21:16:37 +00:00
Joel Sherrill
7f94849f0c Makefile.in (stmp-fixinc): Do not install assert.h if not desired.
H
        * Makefile.in (stmp-fixinc): Do not install assert.h if not desired.
        * config/t-rtems: Do not install assert.h -- use newlib's.

From-SVN: r23096
1998-10-14 15:15:42 -06:00
Joel Sherrill
1a3d81719f Makefile.in (stmp-fixinc): Do not install assert.h if not desired.
P
        * Makefile.in (stmp-fixinc): Do not install assert.h if not desired.
        * config/t-rtems: Do not install assert.h -- use newlib's.

From-SVN: r23095
1998-10-14 15:15:39 -06:00
J"orn Rennecke
972b320cbf combine.c (combine_instructions): When finished, call init_recog.
8
	* combine.c (combine_instructions): When finished, call init_recog.
	* regmove.c (optimize_reg_copy_3): Reject volatile MEMs.

From-SVN: r23094
1998-10-14 14:50:40 -06:00
J"orn Rennecke
b1966eeb0b combine.c (combine_instructions): When finished, call init_recog.
�
	* combine.c (combine_instructions): When finished, call init_recog.
	* regmove.c (optimize_reg_copy_3): Reject volatile MEMs.

From-SVN: r23093
1998-10-14 14:50:37 -06:00
Mark Mitchell
486e40770d pt.c (lookup_template_class): Add comment.
* pt.c (lookup_template_class): Add comment.
	(instantiate_class_template): Don't mark the _TYPE node for
	member class templates as an instantiation.

From-SVN: r23092
1998-10-14 20:23:45 +00:00
Kaveh R. Ghazi
bd748f743d typeck.c (build_chill_cast): Fix typo in assignment statement.
* typeck.c (build_chill_cast): Fix typo in assignment statement.
        * tasking.c (build_signal_descriptor): Use IDENTIFIER_POINTER()
        when printing a `tree'.

From-SVN: r23091
1998-10-14 19:30:05 +00:00
Alexandre Petit-Bianco
0a2138e2d2 java-tree.h (pop_labeled_block, [...]): New function prototypes.
Wed Oct 14 18:21:29 1998  Alexandre Petit-Bianco  <apbianco@cygnus.com>
	* java-tree.h (pop_labeled_block, lang_printable_name,
 	maybe_add_interface, set_super_info, get_access_flags_from_decl,
 	interface_of_p, inherits_from_p, fix_classpath,
 	complete_start_java_method, emit_handlers, init_outgoing_cpool,
 	make_class_data, register_class, alloc_name_constant): New
 	function prototypes.
	* lang.c (lang_decode_option): Set argc argument unused. Fixed
 	indentation. Added cast to remove warning.
	(lang_printable_name): Set v argument unused.
	(lang_print_error): Added argument to lang_printable_name call.
	(java_dummy_print, print_lang_decl, print_lang_type,
 	print_lang_identifier, lang_print_xnode): All argument marked
 	unused.
	* lex.c (java_unget_unicode): Removed unnecessary argument.
	(java_allocate_new_line): Unused local variable is gone.
	(java_read_char): Added parenthesis in expressions to remove
 	warnings.  Added final return statement.
	(java_read_unicode): Added parenthesis in expression to remove
 	warning.
	(java_parse_end_comment): Fixed java_unget_unicode invocation.
	(java_parse_escape_sequence): Likewise.
	(java_lex): Unused local variables are gone. Fixed
 	java_unget_unicode invocation.
	* lex.h (set_float_handler): Prototype added when JC1_LITE not
 	defined.
	* parse.h (ERROR_CANT_CONVERT_TO_BOOLEAN): Fixed
 	lang_printable_name invocation in macro.
	(ERROR_CANT_CONVERT_TO_NUMERIC, ERROR_CAST_NEEDED_TO_INTEGRAL):
 	Likewise.
	(duplicate_declaration_error): Suppressed unused argument in
 	prototype.
	(identical_subpath_p): Function declaration is gone.
	(patch_invoke): Suppressed unused argument in prototype.
	(patch_cast, build_labeled_block, check_thrown_exceptions):
 	Likewise.
	* parse.y (setjmp.h): Included
	(toplev.h): Likewise.
	(field_declaration:): Suppressed unused local
	(label_decl:): Fixed build_labeled_block invocation.
	(java_pop_parser_context): Put extra parenthesis around assignment
 	in if.
	(yyerror): Suppressed unused local variables.
	(variable_redefinition_error): Fixed lang_printable_name
 	invocation.
	(create_interface): Suppressed unused local variables.
	(create_class): Likewise.
	(duplicate_declaration_error): Suppressed unused argument. Fixed
 	lang_printable_name invocation.
	(register_fields): Suppressed unused local variable. Fixed
 	duplicate_declaration_error invocation.
	(method_header): Suppressed unused local variable.
	(method_declarator, parser_check_super): Likewise.
	(java_complete_class): Suppressed unused local variable. Fixed
 	fatal error message.
	(complete_class_report_errors): Added default: in switch.
	(java_check_regular_methods): Fixed lang_printable_name
 	invocations.
	(check_throws_clauses): Likewise.
	(java_check_abstract_methods): Suppressed unused local
 	variable. Fixed lang_printable_name invocation.
	(read_import_entry): Added supplemental return statement.
	(read_import_dir): Suppressed unused local variables.
	(check_pkg_class_access, declare_local_variables): Likewise.
	(source_start_java_method): Suppressed unused extern variable
 	declarations
	(expand_start_java_method): Suppressed unused extern and local
 	variable declarations.
	(java_complete_expand_methods): Likewise.
	(java_complete_expand_method): Suppressed unused local variables.
	(make_qualified_name): Likewise.
	(resolve_qualified_expression_name): Added default: in
 	switch. Fixed lang_printable_name invocation.
	(class_instance_creation_expression): Added parenthesis around
 	expressions.
	(patch_method_invocation_stmt): Fixed lang_printable_name and
 	patch_invoke invocations.
	(check_for_static_method_reference): Fixed lang_printable_name
 	invocation.
	(patch_invoke): Suppressed unused arguments and local variables.
	(lookup_method_invoke): Suppressed unused local variables.
	(qualify_ambiguous_name): Added default: in switch.
	(identical_subpath_p): Function removed.
	(patch_assignment): Suppressed unused local variables. Suppressed
 	unnecessary if statement. Fixed lang_printable_name invocations.
	(try_builtin_assignconv): Fixed lang_printable_name invocations.
	(valid_ref_assignconv_cast_p): Parenthesis around
 	expression. Suppressed unused local variables.
	(build_binop): Suppressed unused local variables. fixed
 	lang_printable_name invocations.
	(string_constant_concatenation): Suppressed unused local
 	variables.
	(patch_unaryop): Fixed lang_printable_name invocation.
	(patch_cast): Suppressed unnecessary argument. Fixed
 	lang_printable_name invocation.
	(patch_array_ref): Fixed lang_printable_name invocation.
	(patch_newarray, patch_return, patch_if_else_statement): Likewise.
	(build_labeled_block): Suppressed unused argument.
	(generate_labeled_block): Fixed build_labeled_block invocation.
	(build_loop_body): Suppressed unused local variables.
	(patch_loop_statement): Likewise.
	(patch_exit): Fixed lang_printable_name invocation.
	(patch_switch_statement): Likewise.
	(case_identity): First argument marked unused.
	(patch_try_statement): Fixed lang_printable_name invocations.
	(patch_synchronized_statement, patch_throw_statement): Likewise.
	(check_thrown_exceptions): Fixed check_thrown_exceptions and
 	lang_printable_name invocations.
	(check_thrown_exceptions_do): Suppressed unused argument.
Suppresses warnings during the compilation of parse.y (including
lex.c) and lang.c

From-SVN: r23090
1998-10-14 12:18:07 -07:00
Per Bothner
c8bcefd81d toplev.c: If flag_syntax_only, don't open or write assembler file.
* toplev.c:  If flag_syntax_only, don't open or write assembler file.

From-SVN: r23089
1998-10-14 09:15:11 -07:00
Per Bothner
1fe65c00ce toplev.c: If flag_syntax_only, don't open or write assembler file.
�
	* toplev.c:  If flag_syntax_only, don't open or write assembler file.

From-SVN: r23088
1998-10-14 09:15:09 -07:00
Alexandre Petit-Bianco
b9f7e36ca1 decl.c (runtime_exception_type_node, [...]): New global variables.
Tue Oct 13 03:50:28 1998  Alexandre Petit-Bianco  <apbianco@cygnus.com>
	* decl.c (runtime_exception_type_node, error_exception_type_node):
 	New global variables.
	(init_decl_processing): Initialized.
	* expr.c (java_lang_expand_expr): Set caught exception type to
 	null if catch handler argument doesn't exit.
	* java-tree.def (SYNCHRONIZED_EXPR, THROW_EXPR): New Java specific
 	tree codes.
	* java-tree.h (runtime_exception_type_node,
 	error_exception_type_node): Global variables declared.
	(DECL_FUNCTION_THROWS): New macro.
	(DECL_FUNCTION_BODY): Modified comment.
	(DECL_SPECIFIC_COUNT): Likewise.
	(struct lang_decl): New field throws_list.
	(IS_UNCHECKED_EXPRESSION_P): New macro.
	* lex.c (java_lex): Generate location information for THROW_TK.
	* parse.h (PUSH_EXCEPTIONS, POP_EXCEPTIONS, IN_TRY_BLOCK_P,
 	EXCEPTIONS_P): New macros.
	(enum jdep_code): New value JDEP_EXCEPTION.
	(BUILD_MONITOR_ENTER, BUILD_MONITOR_EXIT,
 	BUILD_ASSIGN_EXCEPTION_INFO, BUILD_THROW, SET_WFL_OPERATOR,
 	PATCH_METHOD_RETURN_ERROR): New macros.
	(patch_method_invocation_stmt): Added new argument to prototype.
	(patch_synchronized_statement, patch_throw_statement,
 	check_thrown_exceptions, check_thrown_exceptions_do,
 	purge_unchecked_exceptions, check_throws_clauses): New function
 	prototypes.
	* parse.y Fixed typo in keyword section.
	(throw:): Rule tagged <node>.
	(THROW_TK): Keyword tagged <operator>.
	(method_header:): Last argument to call to method_header passed
 	from throws: rule.
	(throws:, class_type_list:, throw_statement:,
 	synchronized_statement:, synchronized:): Defined actions.
	(method_header): New local variable current. Register exceptions
 	from throws clause.
	(java_complete_tree): Complete and verify exceptions from throws
 	clause.
	(complete_class_report_errors): Error message on exceptions not
 	found
	(java_check_regular_methods): Fixed typo. Shortcut on private
 	overriding methods. Changed error message on method
 	redefinition. Check for throws clause compatibility.
	(check_throws_clauses): New function.
	(java_check_abstract_methods): Use DECL_NAME for wfl or current
 	method. Changed error message on method redefinition.
	(currently_caught_type_list): New static variable.
	(java_complete_expand_methods): Purge unchecked exceptions from
 	throws clause list. Call PUSH_EXCEPTIONS before walk and
 	POP_EXCEPTIONS after.
	(resolve_qualified_expression_name): Pass new argument as NULL to
 	patch_method_invocation_stmt.
	(patch_method_invocation_stmt): New argument ref_decl. Invoke
 	PATCH_METHOD_RETURN_ERROR when returning with error. Reverse
 	argument list when appropriate. Use new argument if non null to
 	store selected method decl.
	(patch_invoke): Convert if necessary args of builtin types before
 	forming CALL_EXPR. Argument list no longer reversed here.
	(invocation_mode): Treat final methods as static methods.
	(java_complete_tree): New cases for THROW_EXPR: and
 	SYNCHRONIZED_EXPR:. Check thrown exceptions when completing
 	function call.
	(complete_function_arguments): No more RECORD_TYPE
 	conversion. Function parameter nodes no longer saved.
	(valid_ref_assignconv_cast_p): Avoid handling null type.
	(patch_binop): Fixed null constant reference handling.
	(build_try_statement): Use BUILD_ASSIGN_EXCEPTION_INFO and
 	BUILD_THROW macros.
	(patch_try_statement): Fixed comments. Record caught types in
 	list, push the list, expand try block and pop the list.
	(patch_synchronized_statement, patch_throw_statement,
 	check_thrown_exceptions, check_thrown_exceptions_do,
 	purge_unchecked_exceptions): New functions.
	* typeck.c (lookup_argument_method): Allow WFL in place of method
 	DECL_NAME during method definition check
Implements the `synchronized' statement, the `throw' statements and
the `throws' clause. Fixes method invocation bugs.

From-SVN: r23087
1998-10-14 08:11:04 -07:00
Robert Lipe
8e30605ec7 objc-torture.exp: Add -I so we can find objc headers.
From-SVN: r23086
1998-10-14 14:13:56 +00:00
Tom Tromey
fc45c7efec jcf-write.c (write_classfile): Add output class file as target.
* jcf-write.c (write_classfile): Add output class file as target.
	* lang-options.h: Added -MD, -MMD, -M, and -MM.
	* jcf.h: Added declarations for dependency-tracking functions.
	* lang-specs.h: Handle -M, -MM, MD, and -MMD.
	* lang.c (lang_decode_option): Recognize -MD and -MMD.
	(finish_parse): Call jcf_dependency_write.
	(dependency_tracking): New global.
	(DEPEND_SET_FILE): New define.
	(DEPEND_ENABLE): New define.
	(init_parse): Enable dependency tracking if required.
	Include "flags.h".
	* Makefile.in (JAVA_OBJS): Added jcf-depend.o.
	(../jcf-dump$(exeext)): Depend on and link with jcf-depend.o.
	(../gcjh$(exeext)): Likewise.
	(jcf-depend.o): New target.
	* Make-lang.in (JAVA_SRCS): Added jcf-depend.c.
	(GCJH_SOURCES): Likewise.
	* jcf-io.c (open_class): Call jcf_dependency_add_file.  Added
	dep_name argument.
	(find_classfile): Added dep_name argument.
	(find_class): Compute name of dependency.
	(open_in_zip): Call jcf_dependency_add_file.
	* gjavah.c (output_file): No longer global.
	(usage): Don't mention "gjavah".
	(help): Likewise.
	(java_no_argument): Likewise.
	(version): Likewise.
	(main): Recognize and handle -M family of options.
	(print_mangled_classname): Return is void.
	(process_file): Handle case where output is suppressed.
	(HANDLE_END_FIELD): Likewise.
	(HANDLE_METHOD): Likewise.
	* jcf-depend.c: New file.

From-SVN: r23085
1998-10-14 12:54:59 +00:00
Kaveh R. Ghazi
bf94d1ecc7 Add ATTRIBUTE_NORETURN in a bunch of places:
* cppalloc.c (memory_full): Mark function prototype with
	ATTRIBUTE_NORETURN.
	* demangle.h (collect_exit): Likewise.
	* fix-header.c (v_fatal, fatal): Likewise.
	* gcc.c (pfatal_with_name, pfatal_pexecute, fatal, fancy_abort):
	Likewise.
	* gcov.c (print_usage): Likewise.
	* genattr.c (fatal, fancy_abort): Likewise.
	* genattrtab.c (fatal, fancy_abort): Likewise.
	* gencodes.c (fatal, fancy_abort): Likewise.
	* genconfig.c (fatal, fancy_abort): Likewise.
	* genemit.c (fatal, fancy_abort): Likewise.
	* genextract.c (fatal, fancy_abort): Likewise.
	* genflags.c (fatal, fancy_abort): Likewise.
	* genopinit.c (fatal, fancy_abort): Likewise.
	* genoutput.c (fatal, fancy_abort): Likewise.
	* genpeep.c (fatal, fancy_abort): Likewise.
	* genrecog.c (fatal, fancy_abort): Likewise.
	* libgcc2.c (__eprintf, __default_terminate, __sjthrow,
	__sjpopnthrow, __throw): Likewise.
	* objc/objc-act.c (objc_fatal): Likewise.
	* protoize.c (usage, aux_info_corrupted,
	declare_source_confusing): Likewise.
	* rtl.c (dump_and_abort): Likewise.
	* rtl.h (sets_cc0_p): Likewise.
	* toplev.c (float_signal, pipe_closed): Likewise.

From-SVN: r23084
1998-10-14 10:37:09 +00:00
Jeff Law
c9ab145849 Forgot to commit.
From-SVN: r23083
1998-10-14 04:35:26 -06:00
Andreas Schwab
b621b712e5 dwarf2out.c (expand_builtin_dwarf_reg_size): Look at all ranges when generating the decision tree for the general case.
* dwarf2out.c (expand_builtin_dwarf_reg_size): Look at all ranges
	when generating the decision tree for the general case.
	* config/m68k/m68k.h (HARD_REGNO_MODE_OK): Don't accept modes
	wider that 12 bytes in fpu regs or wider than 8 byte in fpa regs.

From-SVN: r23082
1998-10-14 03:43:37 -06:00
Andreas Schwab
5789e7cbb6 981001-4.c: Remove use of GCC extension that triggers a compiler bug.
* compile/981001-4.c: Remove use of GCC extension that triggers a
        compiler bug.

From-SVN: r23081
1998-10-14 03:34:15 -06:00
Jeffrey A Law
52d4e5b7ee Makefile.in (DEVO_SUPPORT): Add config.if.
�
        * Makefile.in (DEVO_SUPPORT): Add config.if.

From-SVN: r23080
1998-10-14 03:32:28 -06:00
Kaveh R. Ghazi
e51712db0d Warning fixes:
* Makefile.in (sched.o): Depend on recog.h.
        * alias.c (REG_BASE_VALUE): Cast the result of REGNO() macro to
        (unsigned) when comparing against one.
        (find_base_value): Likewise.
        (record_base_value): Cast variable `regno' to (unsigned) when
        comparing against one.  Cast the result of REGNO() macro to
        (unsigned) when comparing against one.
        (memrefs_conflict_p): Change type of variables `r_x' and `r_y'  to
        unsigned.
        (init_alias_analysis): Add unsigned variable `ui'.  Use it as loop
        variable where an unsigned index is needed.
        * caller-save.c (init_caller_save): Cast `-1' to (enum insn_code)
        before comparing against one.
        * collect2.c: Add prototypes for functions `error', `fatal' and
        `fatal_perror'.  Make these functions take variable arguments
        instead of faking it with a fixed number of args.
        (write_c_file_stat): Cast the argument of ctype macro to (unsigned
        char).
        * combine.c (can_combine_p): Mark parameter `pred' with
        ATTRIBUTE_UNUSED.
        (find_split_point): Cast variable `src' to (unsigned
        HOST_WIDE_INT) when comparing against one.
        HOST_WIDE_INT) when comparing against one.
        (simplify_rtx): Cast 1 to (unsigned HOST_WIDE_INT) in shift.
        (simplify_logical): Likewise.
        (force_to_mode): Cast result of INTVAL() macro to (unsigned
        HOST_WIDE_INT) when comparing against one.  Cast 1 to (unsigned
        HOST_WIDE_INT) in shift.
        (simplify_and_const_int): Cast result of INTVAL() macro to
        `unsigned HOST_WIDE_INT' when comparing against one.
        (merge_outer_ops): Cast variable const0 to `unsigned
        HOST_WIDE_INT' when comparing against the result of
        GET_MODE_MASK() macro.
        (simplify_comparison): Likewise for variable `c0'.  Cast variable
        `const_op' to `unsigned HOST_WIDE_INT' when comparing against
        one.  Cast `1' to `unsigned HOST_WIDE_INT' in shift.  Cast the
        result of `GET_MODE_MASK()/2' to `HOST_WIDE_INT' when comparing
        against one.  Cast `1' to `unsigned HOST_WIDE_INT' in shift.  Cast
        result of INTVAL() macro to `unsigned HOST_WIDE_INT' when
        comparing against one.
        (distribute_notes): Wrap variable `cc0_setter' in macro `HAVE_cc0'.
        config/mips/mips.c (gen_int_relational): Cast result of INTVAL()
        macro to `unsigned HOST_WIDE_INT' when comparing against one.
        (output_block_move): Cast `sizeof' expression to (int) when
        comparing against one.
        (function_arg): Cast BITS_PER_WORD to `unsigned' when comparing
        against one.
        (save_restore_insns): Cast `base_offset' to `long' to match format
        specifier in fprintf.
        * config/mips/mips.h (Pmode): Cast the result of `Pmode' macro
        to `enum machine_mode'.
        * flow.c (life_analysis_1): Remove unused variable `insn'.
        * gcc.c (translate_options): Move variables `j' and `k' into the
        scope in which they are used.  Change their types to `size_t'.
        (set_spec): Cast the argument of ctype macro to `unsigned char'.
        (read_specs): Likewise.
        (process_command): Cast `sizeof' to (int) when comparing against one.
        (do_spec_1): Cast the argument of ctype macro to `unsigned char'.
        (handle_braces): Cast both sides of `==' expression to `long' to
        ensure sign matching.
        (main): Cast variable `i' to `int' when comparing against one.
        * gcov-io.h (__fetch_long): Change type of parameter `bytes' from
        int to size_t.  Cast variable `i' to size_t when comparing against
        one.
        * genattrtab.c (convert_set_attr_alternative): Remove unused
        parameter `insn_code'.  All callers changed.
        (convert_set_attr): Likewise.
        * genrecog.c (add_to_sequence): Cast result of XVECLEN() macro to
        size_t when comparing against one.  Likewise for variable `len'.
        * global.c (global_alloc): Cast variable `max_regno' to size_t
        when comparing against one.  Likewise for variable `max_allocno'.
        * jump.c (sets_cc0_p): Mark parameter `x' with ATTRIBUTE_UNUSED.
        * local-alloc.c (validate_equiv_mem_from_store): Mark parameter
        `set' with ATTRIBUTE_UNUSED.
        (find_free_reg): Cast `sizeof' expression to (int) when comparing
        against one.
        * loop.c (count_loop_regs_set): Remove unused variable `dest'.
        (strength_reduce): Mark parameter `bct_p' with ATTRIBUTE_UNUSED.
        (get_condition): Cast variable `const_val' to `unsigned
        HOST_WIDE_INT' when comparing against one.  Cast unsigned
        expression to HOST_WIDE_INT when comparing against one.
        (insert_loop_mem): Mark parameter `data' with ATTRIBUTE_UNUSED.
        (load_mems_and_recount_loop_regs_set): Cast variable `nregs' to
        `unsigned' when comparing against one.
        * protoize.c (is_id_char): Change type of parameter `ch' to
        unsigned char.
        (munge_compile_params): Cast argument of ctype macro to (const
        unsigned char).
        (process_aux_info_file): Cast variable `aux_info_size' to int when
        comparing against one.
        (forward_to_next_token_char): Cast argument of ctype macro to
        `const unsigned char'.
        (edit_formals_lists): Likewise.
        (find_rightmost_formals_list): Likewise.
        (add_local_decl): Likewise.
        (add_global_decls): Likewise.
        (edit_fn_definition): Likewise.
        (do_cleaning): Likewise.
        (scan_for_missed_items): Likewise.
        (edit_file): Cast variable `orig_size' to (int) when comparing
        against one.
        (main): Cast argument of ctype macro to `const unsigned char'.
        * recog.c (const_int_operand): Mark parameter `mode' with
        ATTRIBUTE_UNUSED.
        * regclass.c (record_reg_classes): Change type of variable `c' to
        `unsigned char'.  Cast `char' array index to `unsigned char'.
        * reload.c (push_secondary_reload): Cast argument to
        REG_CLASS_FROM_LETTER() macro to `unsigned char'.
        * reload1.c (calculate_needs): Cast `char' array index to
        `unsigned char'.
        (set_label_offsets): Change type of variable `i' to unsigned int.
        Cast result of XVECLEN() macro to unsigned when comparing against
        one.
        (mark_not_eliminable): Change type of variable `i' to unsigned.
        (order_regs_for_reload): Likewise.  Cast `max_regno' to unsigned
        when comparing against one.
        (reload_as_needed): Cast macro NUM_ELIMINABLE_REGS to (int) when
        comparing against one.
        (choose_reload_regs): Hide unused label `fail'.
        (reload_cse_simplify_operands): Cast `char' array index to
        `unsigned char'.
        (reload_combine_note_store): Mark parameter `set' with
        ATTRIBUTE_UNUSED.  Cast UNITS_PER_WORD to unsigned when comparing
        against one.
        (reload_cse_move2add): Remove unused variable `src2'.
        * sched.c: Include recog.h.
        (sched_note_set): Remove unused parameter `b'.  All callers
        changed.
        (split_hard_reg_notes): Likewise for parameter `orig_insn'.
        (blockage_range): Cast result of UNIT_BLOCKED() macro to (int)
        when comparing against one.
        * stupid.c (stupid_find_reg): Mark parameter `changes_size' with
        ATTRIBUTE_UNUSED.  Cast `sizeof' expression to (int) when
        comparing against one.
        * unroll.c (precondition_loop_p): Remove unused parameter
        `loop_end'.  All callers changed.

From-SVN: r23079
1998-10-14 09:02:55 +00:00
Jason Merrill
902648f892 new
From-SVN: r23078
1998-10-13 22:59:09 -04:00
Jason Merrill
7f7c930eec * decl.c (grokfndecl): Fix my thinko.
From-SVN: r23077
1998-10-13 22:58:38 -04:00
Richard Henderson
f69864aab5 Document eh_epilogue.
From-SVN: r23076
1998-10-13 19:03:03 -07:00
Bernd Schmidt
18a90182e3 reload1.c (maybe_fix_stack_asms): New static function.
* reload1.c (maybe_fix_stack_asms): New static function.
	(reload): Call it.

From-SVN: r23075
1998-10-13 19:21:06 -06:00
Bernd Schmidt
7609e7209a reload.h (compute_use_by_pseudos): Declare.
* reload.h (compute_use_by_pseudos): Declare.
	* reload1.c (spilled_pseudos, insns_need_reload): New variables.
	(something_needs_reloads): Delete variable.
	(finish_spills): New function.
	(compute_use_by_pseudos): New function.
	(delete_caller_save_insns): Lose argument FIRST.  All callers changed.
	Use the reload_insn_chain instead of walking the rtl directly.
	(reload): Allocate and free spilled_pseudos.
	Ensure that all calls of spill_hard_reg are followed by a call to
	finish_spills.
	Use the insns_need_reload list instead of something_needs_reloads
	to find out if reload_as_needed must be called.
	Clear unused_insn_chains at the end.
	(calculate_needs_all_insns): Lose FIRST parameter.  All callers
	changed.
	Delete code to keep track of current basic block.
	Walk reload_insn_chain instead of the rtl structure.  Build the
	insns_need_reload chain.
	Remember which insns need reloading/elimination by setting the
	appropriate fields in struct insn_chain, not by putting modes on the
	insn.
	(calculate_needs): Lose THIS_BLOCK arg.  Accept arg CHAIN instead of
	arg INSN.  All callers changed.
	Delete declaration of struct needs.
	Don't set something_needs_reloads.
	Record insn needs in the CHAIN argument.
	(spill_hard_reg): Record the affected pseudos in spilled_pseudos.
	(reload_as_needed): Lose FIRST arg.  All callers changed.
	Walk the reload_insn_chain instead of the rtx structure.
	Delete code to keep track of current basic block.
	Rename one of the NEXT variables to OLD_NEXT.
	(allocate_reload_reg): Accept arg CHAIN instead of arg INSN.  All
	callers changed.
	(choose_reload_regs): Likewise.
	(emit_reload_insns): Replace INSN and BB args with arg CHAIN.  All
	callers changed.
	* caller-save.c (MOVE_MAX_WORDS): New macro.  Use it throughout
	instead of (MOVE_MAX / UNITS_PER_WORD) computation.
	(hard_regs_live, hard_regs_need_restore): Delete variables.
	(n_regs_saved): Now static.
	(referenced_regs, this_insn_sets): New variables.
	(setup_save_areas): Restructure the code a bit.
	(restore_referenced_regs): Delete function.
	(mark_referenced_regs): New function, similar to the old
	restore_referenced_regs, but mark registers in referenced_regs.
	(clear_reg_live): Delete function.
	(mark_set_regs): Renamed from set_reg_live.  All callers changed.
	Only mark registers in this_insn_sets.
	(save_call_clobbered_regs): Rework this function to walk the
	reload_insn_chain instead of using the list of instructions directly.
	Delete code to keep track of register lives, compute live regs on the
	fly from information in the chain.
	Instead of calling restore_referenced_regs, use mark_referenced_regs,
	then walk the set it computes and call insert_restore as appropriate.
	(insert_restore): Lose INSN and BLOCK args.  Add CHAIN arg.  All
	callers changed.
	Restructure the code a bit.  Test hard_regs_saved instead of
	hard_regs_need_restore.
	(insert_save): Lose INSN and BLOCK args.  Add CHAIN and TO_SAVE
	args.  All callers changed.
	Restructure the code a bit.  Use TO_SAVE to determine which regs to
	save instead of more complicated test.
	(insert_one_arg): Lose INSN and BLOCK args.  Add CHAIN arg.  All
	callers changed.
	Create a new insn_chain structure for the new insn and place it
	into the chain.
	* rtl.texi: Update documentation to reflect that reload no longer
	puts modes on the insns.

From-SVN: r23074
1998-10-13 19:14:42 -06:00
Jeff Law
f5964dd9ca Daily bump.
From-SVN: r23073
1998-10-13 18:45:02 -06:00
Herman A.J. ten Brugge
506b012c6f real.c (emdnorm and etoasc): Disable round to even for c4x target to be compatible with TI compiler.
* real.c (emdnorm and etoasc): Disable round to even for c4x target
        to be compatible with TI compiler.

From-SVN: r23072
1998-10-13 18:07:47 -06:00
Andreas Schwab
2fdc44405f function.c (purge_addressof_1): Force the first argument of a CALL insn to memory.
�
        * function.c (purge_addressof_1): Force the first argument of a
        CALL insn to memory.

From-SVN: r23071
1998-10-13 17:58:34 -06:00
Andreas Schwab
ce69488134 function.c (purge_addressof_1): Force the first argument of a CALL insn to memory.
P
        * function.c (purge_addressof_1): Force the first argument of a
        CALL insn to memory.

From-SVN: r23070
1998-10-13 17:58:33 -06:00
Jeffrey A Law
ae0b51efbd rtl.h: Delete duplicate prototypes.
* rtl.h: Delete duplicate prototypes.  Add some missing
        prototypes.
        * rtlanal.c: (for_each_rtx): Formatting tweak.

From-SVN: r23069
1998-10-13 17:41:11 -06:00
Herman A.J. ten Brugge
1d118f17e9 * Makefile.in (USER_H): Add va-c4x.h to definition.
From-SVN: r23068
1998-10-13 17:35:08 -06:00
Jeffrey A Law
ae76f1bedd mkstemp.c: Check HAVE_SYS_TIME_H before including sys/time.h
* mkstemp.c: Check HAVE_SYS_TIME_H before including sys/time.h
        * configure.in (AC_CHECK_HEADERS): Check for sys/time.h too.
        * config.in, configure: Rebuilt.

From-SVN: r23067
1998-10-13 17:08:18 -06:00
Richard Henderson
470032d72e function.c (purge_addressof_1): Fix typo in inequality: do bitfield optimization for equal mode sizes.
* function.c (purge_addressof_1): Fix typo in inequality: do
        bitfield optimization for equal mode sizes.
        * expmed.c (store_bit_field): Don't take subregs of subregs in
        the movstrict case.  Tidy a potential problem in the multi-word case.
        (extract_bit_field): Likewise.

From-SVN: r23066
1998-10-13 16:06:47 -07:00
Jeffrey A Law
73aeb2ff9b getopt.c: Check HAVE_STRINGS_H before including strings.h.
* getopt.c: Check HAVE_STRINGS_H before including strings.h.
        * configure.in (AC_CHECK_HEADERS): Check for strings.h too.
        * config.in, configure: Rebuilt.

From-SVN: r23065
1998-10-13 16:59:40 -06:00