Commit Graph

29115 Commits

Author SHA1 Message Date
David Billinghurst
7bb41c5a6a * g77.f-torture/execute/20000503-1.x: Delete. Test now passes.
From-SVN: r34974
2000-07-11 17:45:16 -06:00
David Billinghurst
e1a60e2cfc Remove. No longer expected to fail.
From-SVN: r34973
2000-07-11 17:44:21 -06:00
Zack Weinberg
417f3e3a5e [multiple changes]
2000-07-11  Zack Weinberg  <zack@wolery.cumb.org>

	* cpplex.c (parse_name): No longer inline (premature optimization).
	(do_pop_context): Fold into pop_context.
	(pop_context): Returns int.
	(lex_next): Hoist test for end of directive into pop_context.
	(push_macro_context): Returns int; takes just reader and token.
	Hoist test for excessive nesting to caller.
	(push_arg_context): Returns void; takes just reader and token.
	Do not call stringify_arg or get_raw_token.
	(get_raw_token): Convert tail recursion through	push_arg_context
	to a loop at this level.  Call stringify_arg here if appropriate.
	(maybe_paste_with_next): Convert tail recursion to a while loop.
	Hoist test of paste_level to caller.

	(stringify_arg): Push arg context at beginning.
	(cpp_get_token): Split out core into _cpp_get_token.  Call
	process_directive here.  Throw away CPP_PLACEMARKER tokens.
	(_cpp_get_token): Convert tail recursion through
	push_macro_context to a loop at this level.
	(_cpp_glue_header_name, is_macro_disabled, stringify_arg,
	_cpp_get_raw_token): Use _cpp_get_token.
	(_cpp_skip_rest_of_line): Drop the context stack directly; do
	not call pop_context.
	(_cpp_run_directive): Call lex_next directly.

	* cpphash.h: Prototype _cpp_get_token.
	* cppexp.c (lex): Use it.
	* cpphash.c (parse_define): Use it.
	* cpplib.c (get_define_node, do_undef, parse_include,
	read_line_number, do_line, do_ident, do_pragma, do_pragma_gcc,
	do_pragma_implementation, do_pragma_poison, do_pragma_dependency,
	parse_ifdef, validate_else): Use it.
	(cpp_push_buffer): Tweak error message; abort if anyone tries
	to push a buffer while macro expansions are stacked.

2000-07-11  Donn Terry  <donnte@microsoft.com>

	* cpplex.c (free_macro_args, save_token): Cast arg of free
	and/or xrealloc to PTR.
	(_cpp_init_input_buffer): Clear all fields of the base context.

From-SVN: r34972
2000-07-11 23:20:53 +00:00
Bruce Korb
268afb999d new tests results from changes
From-SVN: r34971
2000-07-11 22:29:52 +00:00
Benjamin Chelf
10b9cbbef4 Regenerate after this patch:
2000-07-10  Benjamin Chelf  <chelf@codesourcery.com>

        * c-parse.in (BREAK): Change to build tree, then generate RTL.
        (CONTINUE): Likewise.
        (RETURN): Likewise.
        (CASE): Likewise.
        (DEFAULT): Likewise.

From-SVN: r34970
2000-07-11 22:21:58 +00:00
Bruce Korb
4f923eb83d fixinc/inclhack.def(libc1_ifdefd_memx) omit #if/#endif pair
From-SVN: r34969
2000-07-11 22:20:38 +00:00
Clinton Popetz
ee138cf89a gensupport.c (process_rtx): Make rtl checking stop complaining about the define_insn while it is being...
* gensupport.c (process_rtx): Make rtl checking stop
	complaining about the define_insn while it is being
	converted from a define_insn_and_split.

From-SVN: r34968
2000-07-11 18:08:47 -04:00
Phil Edwards
c0ed1dea37 docs: Update sourceware->sources in every HTML file.
2000-07-11  Phil Edwards  <pme@sourceware.cygnus.com>

	* docs:  Update sourceware->sources in every HTML file.  Minor updates.

From-SVN: r34967
2000-07-11 21:45:08 +00:00
Phil Edwards
4003801c76 Force checkin of footer.html to push webpages.
From-SVN: r34966
2000-07-11 21:41:38 +00:00
Clinton Popetz
821a8792df mips.c (simple_memory_operand): Access the INTVAL of the address, not it's containing MEM.
* config/mips/mips.c (simple_memory_operand): Access the
	INTVAL of the address, not it's containing MEM.

From-SVN: r34965
2000-07-11 17:30:23 -04:00
Bruce Korb
9bb2d43633 irix_multiline_cmnt is now obsolete
From-SVN: r34964
2000-07-11 21:13:42 +00:00
Nick Clifton
b49c94cb62 fix spelling typo
From-SVN: r34963
2000-07-11 18:43:51 +00:00
Andrew Haley
c2584d76af static_init2.java: New file.
2000-07-11  Andrew Haley  <aph@cygnus.com>

        * libjava.compile/static_init2.java: New file.

From-SVN: r34962
2000-07-11 17:45:27 +00:00
Mark Mitchell
72a50ab013 class.c (layout_class_type): Add pointers to virtual bases after base classes under the old ABI.
* class.c (layout_class_type): Add pointers to virtual bases after
	base classes under the old ABI.

From-SVN: r34961
2000-07-11 17:31:21 +00:00
Bruce Korb
c5d9004e96 Remove obsolete fix tests
From-SVN: r34960
2000-07-11 15:51:18 +00:00
Kaveh R. Ghazi
b449f23a14 * cpplex.c (T, I, S, C, N): Avoid non-constant initializers.
From-SVN: r34959
2000-07-11 14:28:09 +00:00
Neil Booth
9e88fd4a0b * gcc.dg/cpp/cmdlne-C.c: Fix typo.
From-SVN: r34958
2000-07-11 13:51:39 +00:00
Neil Booth
745ef6d6ec cpp.texi: Update.
* cpp.texi: Update.
	* gcc.dg/cpp/cmdlne-C.c: New test.

From-SVN: r34957
2000-07-11 13:39:09 +00:00
Neil Booth
9b55f29a84 cppinit.c: (cpp_reader_init): Allow digraphs by default.
* cppinit.c: (cpp_reader_init): Allow digraphs by default.
	(handle_option): Set digraphs according to standard.
	Merge OPT_lang_c89 handler with OPT_std_c89.

	* cpplex.c: (lex_line, can_paste): Honour digraphs in
	accordance with	the digraphs flag.

	* cpplib.h: (struct cpp_options): New option digraphs.

From-SVN: r34956
2000-07-11 08:58:28 +00:00
Jeff Law
bb6a53c76b Daily bump.
From-SVN: r34955
2000-07-11 01:45:08 -06:00
Alexandre Petit-Bianco
e67eb1a0f5 Fixing a really lame patch. Sorry for the ChangeLog tweaking.)
From-SVN: r34954
2000-07-10 21:00:14 -07:00
Zack Weinberg
98cd1bd53e Add tradcif.c: tradcif.y dependency
From-SVN: r34953
2000-07-11 01:36:39 +00:00
Hans-Peter Nilsson
6ed6bf3250 Oops, fix date in ChangeLog entry
From-SVN: r34951
2000-07-10 22:40:31 +00:00
Hans-Peter Nilsson
62a37b6f4d inclhack.def (libc1_ifdefd_memx): New fix.
* fixinc/inclhack.def (libc1_ifdefd_memx): New fix.
	* fixinc/fixincl.x: Regenerate.
	* fixinc/tests/base/testing.h: Add testcase.

Co-Authored-By: Bruce Korb <bkorb@gnu.org>

From-SVN: r34950
2000-07-10 22:37:54 +00:00
Jason Merrill
ad66df7aa0 stl_function.h (bind1st, bind2nd): Rename __opr to __oper, as __opr is used internally by egcs.
* stl_function.h (bind1st, bind2nd): Rename __opr to __oper,
        as __opr is used internally by egcs.
        * stl_numeric.h (__power, power): Likewise.

        * stl_algo.h (transform): Rename __opr to __oper, as __opr is used
        internally by egcs.
        Reported by Harri Porten <porten@tu-harburg.de>

From-SVN: r34949
2000-07-10 17:04:22 -04:00
Richard Henderson
ec039e3c26 ia64.c (got_symbolic_operand): New.
* config/ia64/ia64.c (got_symbolic_operand): New.
        (symbolic_operand, move_operand): Revert 0701 change.
        * config/ia64/ia64.h (PREDICATE_CODES): Update.
        * config/ia64/ia64-protos.h (got_symbolic_operand): Declare.
        * config/ia64/ia64.md (movdi): Revert 0701 wrt symbolic_operand;
        split the offset into a 14-bit low part instead of a 13-bit low part.
        (load_fptr): Mark the mem as unchanging.
        (load_symptr): Use got_symbolic_operand.

From-SVN: r34948
2000-07-10 13:51:23 -07:00
Nick Clifton
14e7eabd24 Fix compile time warning message
From-SVN: r34947
2000-07-10 20:25:56 +00:00
Chandrakala Chavva
46d3a87396 flags.h: Add new variable flag_single_precision_constant.
* flags.h : Add new variable flag_single_precision_constant.
        * toplev.c (display_help) : Add -fsingle-precision-constant option.
        (flag_single_precision_constant): New.
        * c-lex.c (yylex): Convert floating point constant to single
        precision constant.
        * invoke.texi : Add documentation for this new option.

From-SVN: r34946
2000-07-10 16:10:15 -04:00
Gabriel Dos Reis
92c26242fa diagnostic.c (output_octal): Second parameter is unsigned.
2000-07-10  Gabriel Dos Reis  <gdr@codesourcery.com>

	* diagnostic.c (output_octal): Second parameter is unsigned.
	(output_long_octal): Likewise.
	(output_hexadecimal): Likewise.
	(output_long_hexadecimal): Likewise.
	(output_format): Adjust arguments extraction. Tweak.
	(output_verbatim, verbatim): End variable argument list.
	(report_diagnostic): Improve documentation.

From-SVN: r34945
2000-07-10 17:14:25 +00:00
Ben Chelf
5ecdf775f3 c-parse.y: Regenerate.
2000-07-10  Benjamin Chelf  <chelf@codesourcery.com>

	* c-parse.y: Regenerate.
	* c-pasre.c: Likewise.

From-SVN: r34944
2000-07-10 04:03:04 -07:00
Benjamin Chelf
0dfdeca6e0 c-common.h (build_stmt): Declare.
2000-07-10  Benjamin Chelf  <chelf@codesourcery.com>

	* c-common.h (build_stmt): Declare.
	(build_continue_stmt): Likewise.
	(build_break_stmt): Likewise.
	(build_return_stmt): Likewise.

	* c-decl.c (do_case): Rewrite to do what previously done in
	c-parse.in.

	* c-semantics.c (build_stmt): Define.
	(build_return_stmt): Likewise.
	(build_break_stmt): Likewise.
	(build_continue_stmt): Likewise.
	(build_case_label): Likewise.

	* c-parse.in (BREAK): Change to build tree, then generate RTL.
	(CONTINUE): Likewise.
	(RETURN): Likewise.
	(CASE): Likewise.
	(DEFAULT): Likewise.

	* c-parse.y: Regenerate.
	* c-pasre.c: Likewise.

	* cp/semantics.c (finish_for_stmt): Remove call to emit_line_note.
	(finish_continue_stmt): Likewise.
	(begin_for_stmt): Remove call to note_level_for_for.
	(finish_goto_stmt): Change call from build_min_nt
	to build_stmt.
	(finish_expr_stmt): Likewise.
	(begin_if_stmt): Likewise.
	(begin_while_stmt): Likewise.
	(finish_while_stmt): Likewise.
	(finish_return_stmt): Likewise.
	(begin_for_stmt): Likewise.
	(finish_for_stmt): Likewise.
	(finish_break_stmt): Likewise.
	(begin_switch_stmt): Likewise.
	(finish_case_label): Likewise.
	(genrtl_try_block): Likewise.
	(begin_try_block): Likewise.
	(begin_handler): Likewise.
	(begin_compound_stmt): Likewise.
	(finish_asm_stmt): Likewise.
	(finish_label_stmt): Likewise.
	(add_decl_stmt): Likewise.
	(finish_subobject): Likewise.
	(finish_decl_cleanup): Likewise.
	(finish_named_return_value): Likewise.
	(setup_vtbl_ptr): Likewise.
	(add_scope_stmt): Likewise.
	* cp/decl.c (finish_constructor_body): Likewise.
	(finish_destructor_body): Likewise.
	* cp/optimize.c (copy_body_r): Likewise.
	(initialize_inlined_parameters): Likewise.
	(declare_return_variable): Likewise.
	(expand_call_inline): Likewise.

From-SVN: r34943
2000-07-10 03:56:23 -07:00
Jakub Jelinek
f12eef5818 semantics.c (expand_body): Sync interface information at the end of function body expansion.
* semantics.c (expand_body): Sync interface information
	at the end of function body expansion.

From-SVN: r34942
2000-07-10 09:54:41 +02:00
Jeff Law
3f2efc377f Daily bump.
From-SVN: r34941
2000-07-10 01:45:10 -06:00
Jason Merrill
4a53008b1e * expr.c (expand_expr): Bail earlier if we get an error_mark_node.
From-SVN: r34940
2000-07-10 03:20:47 -04:00
Jason Merrill
9a6bb3f78c tree.h (STRIP_NOPS): Check for error_mark_node.
* tree.h (STRIP_NOPS): Check for error_mark_node.
        (STRIP_SIGN_NOPS, STRIP_TYPE_NOPS): Likewise.
        (dwarf2out_*): Remove duplicate declarations.

        * c-decl.c (duplicate_decls): Copy DECL_ABSTRACT_ORIGIN from
        DECL_ABSTRACT_ORIGIN, not DECL_ORIGIN.

From-SVN: r34939
2000-07-10 03:18:06 -04:00
Jason Merrill
2bb5d995f2 init.c (build_new_1): Bail early if the call to new fails.
* init.c (build_new_1): Bail early if the call to new fails.

        * decl.c (compute_array_index_type): Check specifically for
        an INTEGER_CST, not just TREE_CONSTANT.

        * decl.c (duplicate_decls): Don't call duplicate_decls on
        the DECL_TEMPLATE_RESULT.
        (decls_match): Return 0 if the DECL_TEMPLATE_RESULTs have different
        codes.

        * error.c (dump_template_bindings): Don't crash if we had an
        invalid argument list.

        * typeck.c (c_expand_start_case): Do narrowing here.
        * semantics.c (finish_switch_cond): Not here.

        * parse.y (asm_clobbers): Do string concatenation.

From-SVN: r34938
2000-07-10 03:16:23 -04:00
Mark Mitchell
089acd579b decl.c (pushtag): Don't put local classes in template functions on the local_classes list.
* decl.c (pushtag): Don't put local classes in template functions
	on the local_classes list.

	* decl2.c (get_guard): Add missing return for old ABI local
	variable case.

From-SVN: r34937
2000-07-10 06:32:58 +00:00
Mark Mitchell
7b019c1999 cp-tree.h (char_type_p): New function.
* cp-tree.h (char_type_p): New function.
	* decl.c (init_decl_processing): Don't initialize
	signed_wchar_type_node or unsigned_wchar_type_node.
	(complete_array_type): Handle brace-enclosed string-constants.
	* rtti.c (emit_support_tinfos): Remove #if 0'd code.
	* tree.c (char_type_p): New function.
	* typeck2.c (digest_init): Use char_type_p.

From-SVN: r34936
2000-07-10 03:47:36 +00:00
Gabriel Dos Reis
93d87cb15d diagnostic.c (wrap_text): New function.
2000-07-10  Gabriel Dos Reis  <gdr@codesourcery.com>

	* diagnostic.c (wrap_text): New function.
	(maybe_wrap_text): Likewise.
	(output_add_string): Use it.
	(output_format): Likewise.
	(count_error): Use verbatim instead of notice.
	(report_error_function): Likewise. Don't use plain fprintf.
	(finish_diagnostic): New function.
	(output_do_verbatim): Tweak.  Commonalize functionalities in
	output_verbatim and verbatim.
	(output_verbatim): Adjust.
	(verbatim): Likewise.
	(report_diagnostic): Define.

	* diagnostic.h (report_diagnostic): Prototype.

From-SVN: r34935
2000-07-09 22:51:25 +00:00
Zack Weinberg
66267cdb85 * cppexp.c (_cpp_parse_expr): Don't use unary plus.
From-SVN: r34934
2000-07-09 20:44:51 +00:00
Neil Booth
91fcd1584b cpphash.h: ISvspace, is_vspace, is_nvspace: New.
* cpphash.h: ISvspace, is_vspace, is_nvspace: New.
	IShspace, ISspace: Update.

	* cppinit.c: ISTABLE: Update.
	V: New.

	* cpplex.c (IS_HSPACE, S_NEWLINE): Remove.
	(IS_DIRECTIVE): Rename KNOWN_DIRECTIVE.
	(skip_block_comment, skip_line_comment,	parse_string,
	lex_line): Use is_vspace rather than IS_NEWLINE.
	(skip_whitespace, lex_line): Clean up to use is_nvspace.
	(lex_line): Use KNOWN_DIRECTIVE.  Any kind of directive
	gets a BOL flag.
	(lex_next): Unconditionally stop if within a directive.
	Treat directives within macro invocations as directives
	(after parse_args emits error), not as the argument.

	* testsuite/gcc.dg/cpp/directiv.c: New tests.
	* testsuite/gcc.dg/cpp/undef1.c: Update.

From-SVN: r34933
2000-07-09 09:19:44 +00:00
Gabriel Dos Reis
8514e31898 diagnostic.c (diagnostic_args): New macro.
2000-07-09  Gabriel Dos Reis  <gdr@codesourcery.com>

	* diagnostic.c (diagnostic_args): New macro.
	(diagnostic_msg): Likewise.
	(output_formatted_integer): Likewise.
	(output_state): New data type.
	(digit_buffer): Make global.
	(output_add_integer): Rename to output_decimal. Squeeze
	digit_buffer.
	(output_long_decimal, output_unsigned_decimal,
	output_long_unsigned_decimal, output_octal, output_long_octal,
	output_hexadecimal, output_long_hexadecimal): New functions.
	(output_append_r): New function.
	(output_append): Tweak.
	(output_flush_on): Rename to output_to_stream.
	(output_format): Change prototype.  Improve documentation. Handle
	more format specifiers.
	(build_location_prefix): Rename to context_as_prefix.
	(output_notice): Rename to output_do_printf.
	(output_printf): Tweak.
	(line_wrapper_printf): Likewise.
	(vline_wrapper_message_with_location): Adjust call to renamed
	functions.
	(v_message_with_decl): Likewise.
	(default_print_error_function): Likewise.
	(save_output_state): New function.
	(restore_output_state): Likewise.
	(output_do_verbatim): Likewise.
	(output_verbatim): Define.
	(verbatim): Likewise.

	* diagnostic.h (printer_fn): Change return type from void to int.
	Improve documentation.
	(output_add_integer): Rename to output_decimal.
	(output_flush_on, output_format): Don't export.
	(output_verbatim, verbatim): Declare.

From-SVN: r34932
2000-07-09 07:51:26 +00:00
Jeff Law
8da603135f Daily bump.
From-SVN: r34931
2000-07-09 01:45:08 -06:00
Angela Marie Thomas
5eaac26c6e c-torture.exp: Make compiler_conditional_xfail_data global.
2000-07-08  Angela Marie Thomas <angela@cygnus.com>

	* lib/c-torture.exp: Make compiler_conditional_xfail_data global.

From-SVN: r34930
2000-07-08 23:55:09 +00:00
Neil Booth
5d0bca5b6b * gcc.dg/cpp/macsyntx.c: Add test for #define defined.
From-SVN: r34929
2000-07-08 23:08:28 +00:00
Toon Moene
12644a9a40 fold-const.c (extract_muldiv): Check whether c divides op1 exactly if operation is not multiplication.
2000-07-08  Toon Moene  <toon@moene.indiv.nluug.nl>

	* fold-const.c (extract_muldiv) case PLUS_EXPR, MINUS_EXPR:
	Check whether c divides op1 exactly if operation is not
	multiplication.

From-SVN: r34928
2000-07-08 22:29:17 +00:00
Richard Henderson
0ac76ad9eb final.c (final): Do not abort when reg-stack introduces a new insn.
* final.c (final): Do not abort when reg-stack introduces
        a new insn.

From-SVN: r34927
2000-07-08 14:17:51 -07:00
Zack Weinberg
bfb9dc7faa cpplib.h (struct cpp_name): Now struct cpp_string.
* cpplib.h (struct cpp_name): Now struct cpp_string.
	(CPP_INT, CPP_FLOAT, CPP_NUMBER, CPP_COMMENT,
	CPP_HEADER_NAME): Change to type S.
	(struct cpp_token): Rename 'name' field to 'str'.  Add 'node'
	field, a cpp_hashnode *.  All references to val.name updated
	to use val.str or val.node as appropriate.
	(struct cpp_reader): Add spec_nodes field.
	(cpp_idcmp): Now cpp_ideq; takes a token * and a char *.

	* cpphash.h (struct spec_nodes): New.
	(enum spell_type): Reorder.  Only SPELL_STRING tokens use
	val.str.  All references to 'spelling > SPELL_NONE' updated to
	match.

	(CPP_IN_SYSTEM_HEADER): Check pfile->buffer and
	pfile->buffer->inc are not NULL before dereferencing them.

	* cpplex.c (parse_name): Take a pointer to the current token,
	plus current position and limit as args; return the new
	position; don't copy the text of a name into the string
	buffer, instead call cpp_lookup and store the node pointer.
	If extending a token, copy out the text of the old into a
	scratch buffer, append the new, look that up and store the new
	node pointer.  Inline.
	(maybe_paste_with_next): If the result of paste is a NAME,
	then look up the pasted text and store its node pointer.
	(lex_line): Adjust for new parse_name interface.
	Check for L"str", L'str' using spec_nodes->n_L.
	(spell_token): SPELL_IDENT tokens have their spelling in
	val.node->name.  Handle SPELL_STRING tokens that don't have
	string delimiters.
	(_cpp_expand_name_space,
	(can_paste): Check for L ## "str" using spec_nodes->n_L.
	(cpp_get_token, special_symbol): No need to call cpp_lookup.
	(cpp_idcmp): Now cpp_ideq; take a token * and a const char *;
	return 1=equal 0=not, not a tristate.

	* cpphash.c (var_args_str): Delete.
	(find_param): Compare node fields directly.
	(is__va_args__): Use CPP_PEDANTIC.  Just compare
	token->val.node with spec_nodes->n__VA_ARGS__.
	(dump_funlike_macro): Don't use var_args_str.

	* cpplib.c (_cpp_check_directive): Just walk through
	spec_nodes->dirs comparing pointers.
	(get_define_node, do_pragma_poison, detect_if_not_defined,
	parse_ifdef): The identifier has already been looked up.
	(do_ifdef, do_ifndef): parse_ifdef won't return a poisoned
	node.
	(do_if): Only call detect_if_not_defined at beginning of file.
	(_cpp_parse_assertion): Only copy string pointers for
	SPELL_STRING tokens.
	(pragma_dispatch): Take a node pointer and examine its name
	field.
	(_cpp_init_stacks): Also initialize the spec_nodes structure.

	* cppinit.c (cpp_reader_init): Call _cpp_init_stacks after
	_cpp_init_macros.
	(cpp_cleanup): Free pfile->spec_nodes.  Call _cpp_cleanup_* in
	reverse order from the corresponding _cpp_init_* routines.

	* cppexp.c (parse_number, parse_charconst, parse_defined,
	lex): Check val.node->type instead of calling cpp_defined.
	Use spec_nodes entries where appropriate.

	* fix-header.c, scan-decls.c: Update for interface changes.

From-SVN: r34926
2000-07-08 19:00:39 +00:00
Geoff Keating
ffc14f3159 Commited on behalf of geoffk@cygnus.com:
* config/rs6000/rs6000.c (rs6000_emit_move): Fix conditions for
	emitting aux_truncdfsf2.

From-SVN: r34925
2000-07-08 12:42:09 +00:00
Jeff Law
05392c9766 Daily bump.
From-SVN: r34924
2000-07-08 01:45:08 -06:00