Commit Graph

30578 Commits

Author SHA1 Message Date
Alexandre Oliva
55eec6605c sh.c (nonpic_symbol_mentioned_p): Check LABEL_REFs.
* config/sh/sh.c (nonpic_symbol_mentioned_p): Check LABEL_REFs.
* config/sh/sh.md (sym_label2reg, symPLT_label2reg): Protect
LABEL_REFs with a PIC-safe unspec.

From-SVN: r36495
2000-09-18 16:41:22 +00:00
William Cohen
7bf2bde1c1 Describe changes to warn about initializers on zero length arrays.
From-SVN: r36494
2000-09-18 16:36:32 +00:00
Joseph Myers
fc6df7e10b c-common.c (check_format_info): Properly save the argument number and parameter for $ operand number formats in...
* c-common.c (check_format_info): Properly save the argument
	number and parameter for $ operand number formats in case width
	and precision arguments are also used.  Allow printf width and
	precision arguments to have operand numbers even if none was
	specified for the main format, since this is OK for %*.*m.  Only
	object to missing $ operand number if the format used requires an
	argument.

testsuite:
	* gcc.dg/format-ext-1.c: Add tests for mixing %m with $ formats.
	* gcc.dg/format-xopen-1.c: Fix error in one $ format test.  Add
	more $ format tests.

From-SVN: r36493
2000-09-18 17:34:35 +01:00
Joseph Myers
effa554103 c-common.c (format_char_info): Add 'W' flag to comment.
* c-common.c (format_char_info): Add 'W' flag to comment.
	(print_char_table, scan_char_table): Use it.
	(check_format_info): Use the 'W' flag to determine whether a
	format argument is written into.

From-SVN: r36492
2000-09-18 17:31:07 +01:00
Joseph Myers
65661a7274 * gcc.dg/format-errmk-1.c: New test.
From-SVN: r36491
2000-09-18 17:29:02 +01:00
Joseph Myers
99303ae4cc c-common.c (check_format_types): Reorganise and clean up...
* c-common.c (check_format_types): Reorganise and clean up,
	checking earlier for ERROR_MARKs and making cur_type into its
	TYPE_MAIN_VARIANT where convenient.

From-SVN: r36490
2000-09-18 17:27:16 +01:00
Joseph Myers
9231abf2ed * gcc.c (cpp_options): Add specs for __STDC_HOSTED__.
From-SVN: r36489
2000-09-18 17:24:25 +01:00
Gerald Pfeifer
2bd429f4df * INSTALL/README: egcs -> GCC update.
From-SVN: r36488
2000-09-18 15:38:48 +00:00
Bernd Schmidt
bd793c65b9 MMX/SSE builtin support
From-SVN: r36487
2000-09-18 09:50:19 +00:00
Bernd Schmidt
cf67d23198 Set CONST_CALL_P for libcalls
From-SVN: r36486
2000-09-18 09:46:51 +00:00
Andreas Jaeger
4070d8853d configure.in: Define _GNU_SOURCE only when using the GNU C Library.
* configure.in: Define _GNU_SOURCE only when using the GNU C
	Library.
        * configure: Regenerated.
        * config.in: Regenerated.

From-SVN: r36485
2000-09-18 10:20:18 +02:00
Jeff Law
b32aa13809 Daily bump.
From-SVN: r36482
2000-09-18 01:45:08 -06:00
Greg McGary
ebeda05259 * gcc.c-torture/execute/20000917-1.x: Remove.
From-SVN: r36481
2000-09-18 07:15:26 +00:00
Mark Mitchell
31a1fdad32 cppinit.c (cpp_init): Don't use ANSI prototypes.
* cppinit.c (cpp_init): Don't use ANSI prototypes.
	* flow.c (flow_dump_loop): Likewise.
	(flow_loops_dump): Likewise.

From-SVN: r36480
2000-09-18 06:59:23 +00:00
Mark Mitchell
2ac86f90af * c-typeck.c (c_start_case): Fix typo.
From-SVN: r36479
2000-09-18 05:02:11 +00:00
Joseph Myers
60e9d01cf7 c-decl.c (grokdeclarator): Don't give a warning about defaulting to int for plain complex which defaults...
* c-decl.c (grokdeclarator): Don't give a warning about defaulting
	to int for plain complex which defaults to complex double.  Do
	warn about defaulting to complex double if pedantic.  Warn about
	complex integer types if pedantic.  Warn about complex types if
	pedantic and not in C99 mode.
	* c-typeck.c (build_unary_op): If pedantic, warn about use of ~
	for complex conjugation.

testsuite:
	* gcc.dg/c90-complex-1.c, gcc.dg/c99-complex-1.c: New tests.

From-SVN: r36478
2000-09-17 20:39:56 +01:00
Joseph Myers
bc5006c725 * contrib.texi: Update my entry.
From-SVN: r36477
2000-09-17 18:43:43 +01:00
Richard Kenner
ec56965643 alias.c (true_dependence): Allow non-unchanging read to conflict with unchanging write.
* alias.c (true_dependence): Allow non-unchanging read to conflict
	with unchanging write.

From-SVN: r36476
2000-09-17 11:33:30 -04:00
Richard Kenner
23cb1766e0 expr.c (store_constructor_field): Accept ALIAS_SET arg.
* expr.c (store_constructor_field): Accept ALIAS_SET arg.
	(store_constructor): Pass alias_set to it.

From-SVN: r36475
2000-09-17 11:29:18 -04:00
Denis Chertykov
7e3bd81e9b avr.md ("mcu_enhanced"): New attribute.
* config/avr/avr.md ("mcu_enhanced"): New attribute.
	("mcu_mega"): Likewise.
	("extendhisi2"): Use "mcu_enhanced".
	("zero_extendhisi2"): Likewise.
	("call_insn"): Use "mcu_enhanced" and "mcu_mega".
	("call_value_insn"): Likewise.
	("*sbrx_branch"): Use "mcu_mega".
	("*sbrx_and_branchsi"): Likewise.
	("*sbrx_and_branchhi"): Likewise.
	("*tablejump_lib"): Likewise.

From-SVN: r36474
2000-09-17 19:08:35 +04:00
Marc Espie
d733f37476 Add myself
From-SVN: r36473
2000-09-17 14:58:14 +00:00
Richard Kenner
a52fb89bed c-decl.c (grokdeclarator): Reorder tests to avoid looking at TYPE_MAIN_VARIANT of ERROR_MARK.
* c-decl.c (grokdeclarator): Reorder tests to avoid looking at
	TYPE_MAIN_VARIANT of ERROR_MARK.
	* c-lex.c (readescape): Avoid using printf syntax we don't recognize.

From-SVN: r36472
2000-09-17 10:37:55 -04:00
Richard Kenner
6a51f4a073 simplify-rtx.c (simplify_unary_operation): Add cases FLOAT_EXTEND and FLOAT_TRUNCATE to ones that return 0.
* simplify-rtx.c (simplify_unary_operation): Add cases
	FLOAT_EXTEND and FLOAT_TRUNCATE to ones that return 0.

From-SVN: r36471
2000-09-17 10:33:37 -04:00
Richard Kenner
87c31d6b90 function.h (no_debugging_symbols): New field.
* function.h (no_debugging_symbols): New field.
	* integrate.c (save_for_inline): Renamed from save_for_inline_nocopy.
	Initialize no_debugging_symbols.
	(output_inline_function): Save and restore write_symbols and set from
	no_debugging_symbols.
	* toplev.c (rest_of_compilation): Call save_for_inline.
	* tree.h: Update comment.

From-SVN: r36470
2000-09-17 10:31:02 -04:00
Bernd Schmidt
ebb1b59ac0 Bring back equal forms for libcalls
From-SVN: r36469
2000-09-17 12:45:51 +00:00
Bernd Schmidt
e85427f984 Fix problem with last checkin - applied a slightly earlier version than what was approved
From-SVN: r36468
2000-09-17 11:32:14 +00:00
Geoff Keating
fc928afe68 decl2.c (handle_class_head): Always push some scope even in the error case.
* decl2.c (handle_class_head): Always push some scope even
	in the error case.

From-SVN: r36467
2000-09-17 09:39:20 +00:00
Greg McGary
859e203f3a 20000917-1.c: New test.
* gcc.c-torture/execute/20000917-1.c: New test.
	* gcc.c-torture/execute/20000917-1.x: XFAIL.

From-SVN: r36466
2000-09-17 08:55:16 +00:00
Jeff Law
98c13cc064 Daily bump.
From-SVN: r36465
2000-09-17 01:45:07 -06:00
Mark Mitchell
8f17b5c5cb splay-tree.c (splay_tree_predecessor): Fix typo in comment.
* splay-tree.c (splay_tree_predecessor): Fix typo in comment.

	Convert the C front-end to use function-at-a-time mode.
	* c-common.h: Include splay-tree.h.
	(C_DECLARED_LABEL_FLAG): New macro.
	(struct language_function): Add x_scope_stmt_stack and
	x_function_name_declared_p.
	(RECHAIN_STMTS): Move definition.
	(lang_statment_code_p): Likewise.
	(lang_expand_stmt): Likewise.
	(lang_expand_decl_stmt): New variable.
	(lang_expand_function_end): Likewise.
	(current_scope_stmt_stack): New function.
	(add_decl_stmt): Likewise.
	(add_scope_stmt): Likewise.
	(mark_stmt_tree): Likewise.
	(struct c_lang_decl): New structure.
	(DECL_SAVED_TREE): Define.
	(c_mark_lang_decl): New function.
	(c_expand_start_cond): Change prototype.
	(c_finish_then): New function.
	(c_finish_else): Likewise.
	(current_function_name_declared): Remove.
	(set_current_function_name_declared): Likewise.
	(mark_c_language_function): Declare.
	(case_compare): Likewise.
	(c_add_case_label): Likewise.
	(c_expand_expr): Likewise.
	(c_safe_from_p): Likewise.
	* c-common.c (lang_expand_function_end): New variable.
	(struct if_elt): Add if_stmt.
	(c_expand_start_cond): Add the if-statement to the statement-tree,
	rather than generating RTL.
	(c_finish_then): New function.
	(c_expand_start_else): Don't generate RTL.
	(c_finish_else): New function.
	(c_expand_expr_stmt): Don't generate RTL.
	(statement_code_p): Add SCOPE_STMT.
	(case_compare): New function.
	(c_add_case_label): Likewise.
	(mark_stmt_tree): Likewise.
	(c_mark_lang_decl): Likewise.
	(mark_c_language_function): Likewise.
	(c_expand_expr): Likewise.
	(c_safe_from_p): Likewise.
	* c-decl.c (c_stmt_tree): New variable
	(c_scope_stmt_stack): Likewise.
	(c_function_name_declared_p): Likewise.
	(lang_expand_expr_stmt): Remove.
	(poplevel): Don't call output_inline_function for nested
	functions.
	(pushdecl): Don't set DECL_CONTEXT for a local declaration of an
	`extern' function.
	(redeclaration_error_message): Change means of computing whether
	or not a function is nested.
	(lookup_label): Don't call label_rtx.
	(init_decl_processing): Add more GC roots.
	(start_decl): Add DECL_STMTs to the statement-tree, rather than
	calling rest_of_decl_compilation.
	(finish_decl): Don't call expand_decl.
	(store_parm_decls): Begin the statement-tree, but don't generate
	RTL.
	(finish_function): Tie off the statement-tree.  Call c_expand_body
	if appropriate.
	(c_expand_body): New function.
	(push_c_function_context): Save more information.
	(pop_c_function_contxt): Likewise.
	(copy_lang_decl): Now that we use DECL_LANG_SPECIFIC, copy it.
	(lang_mark_tree): Mark it.
	(current_stmt_tree): Adjust.
	(current_scope_stmt_stack): New function.
	(do_case): Remove.
	(set_current_name_declared): Likewise.
	(c_begin_compound_stmt): Define.
	(c_expand_decl_stmt): Likewise.
	* c-lang.c: Include rtl.h and expr.h.
	(lang_init): Set more language-specific hooks.
	* c-lex.c: Include expr.h.
	* c-parse.in: Changes throughout to add statements to the
	statement-tree, rather than generating RTL after every statement.
	* c-semantics.c (lang_expand_decl_stmt): Define.
	(add_decl_stmt): New function.
	(add_scope_stmt): Likewise.
	(finish_stmt_tree): Tweak.
	(genrtl_expr_stmt): Likewise.
	(genrtl_decl_stmt): Handle local labels, and call
	lang_expand_decl_stmt if required.
	(genrtl_for_stmt): Fix line-number handling.
	(genrtl_case_label): Handle cleanups.
	(genrtl_asm_stmt): Don't call combine_strings.
	(genrtl_compound_stmt): Simplify.
	(expand_stmt): Handle SCOPE_STMTs.
	* c-tree.h (struct lang_decl): New structure.
	(C_DECLARED_LABEL_FLAG): Remove.
	(c_begin_compound_stmt): Declare.
	(c_expand_decl_stmt): Likewise.
	(c_expand_start_case): Rename to c_start_case.
	(c_finish_case): New function.
	* c-typeck.c (start_init): Tweak setting of
	constructor_incremental.
	(c_expand_asm_operands): Tweak error-handling.  Add to the
	statement-tree.
	(c_expand_return): Add to the statement-tree.
	(c_expand_start_case): Rename to ...
	(c_start_case): ... this.
	(struct c_switch): New type.
	(switch_stack): New variable.
	(do_case): Simplify.
	(c_finish_case): New function.
	* dependence.c: Include expr.h.
	(enum dependence_type): Change spelling of enumerals.
	(check_node_dependence): Adjust.
	* expr.h (lang_safe_from_p): Declare.
	(safe_from_p): Likewise.
	* expr.c (lang_safe_from_p): New variable.
	(safe_from_p): Give it external linkage.  Use lang_safe_from_p.
	* stmt.c (expand_expr_stmt): Avoid clobberring of last_expr_type.
	* toplev.c (rest_of_decl_compilation): Robustify.
	* tree.c (contains_placeholder_p): Likewise.
	* Makefile.in: Update dependencies.
	* objc/objc-act.h: Adjust calculation of value for dummy_tree_code.
	* objc/objc-act.c: Include rtl.h, expr.h, and c-common.h.
	(objc_expand_function_end): New function.
	(finish_method_def): Use it.
	(init_objc): Initialize more language-specific hooks.
	* objc/Make-lang.in: Update dependencies.

	* cp-tree.h (struct cp_language_function): Remove
	x_scope_stmt_stack and name_declared.
	(current_scope_stmt_stack): Remove.
	(function_name_declared_p): New macro.
	(struct lang_decl_flags): Use c_lang_decl as a base class.
	(context): Remove.
	(struct lang_decl): Replace saved_tree with context.
	(DECL_FRIEND_CONTEXT): Adjust accordingly.
	(SET_DECL_FRIEND_CONTEXT): Likewise.
	(DECL_VIRTUAL_CONTEXT): Likewise.
	(DECL_SAVED_TREE): Remove.
	(C_DECLARED_LABEL_FLAG): Likewise.
	(cplus_expand_expr_stmt): Don't declare.
	(add_decl_stmt): Likewise.
	(add_scope_stmt): Likewise.
	* decl.c (mark_stmt_tree): Remove.
	(case_compare): Likewise.
	(finish_case_label): Use c_add_case_label.
	(init_decl_processing): Set more language-specific hooks.
	(build_enumerator): Fix typo in comment.
	(cplus_expand_expr_stmt): Remove.
	(mark_lang_function): Use mark_c_language_function.
	(lang_mark_tree): Use c_mark_lang_decl.
	* decl2.c: Change order of inclusion.
	* except.c: Likewise.
	* expr.c (cplus_expand_expr): Remove handling of STMT_EXPR.  Fall
	back on c_expand_expr.
	* friend.c: Include expr.h.
	* init.c: Change order of inclusion.
	* Makefile.in: Update dependencies.
	* lex.h (free_lang_decl_chain): Remove.
	* optimize.c (maybe_clone_body): Use function_name_declared_p.
	* pt.c (build_template_decl): Don't copy DECL_VIRTUAL_CONTEXT if
	it doesn't exist.
	(instantiate_decl): Use function_name_declared_p.
	* semantics.c (lang_expand_expr_stmt): Remove.
	(set_current_function_name_declared): Likewise.
	(current_function_name_declared): Likewise.
	(begin_compound_stmt): Use function_name_declared_p.
	(add_decl_stmt): Remove.
	(setup_vtbl_ptr): Use function_name_declared_p.
	(add_scope_stmt): Remove.
	(current_scope_stmt_stack): New function.
	(cp_expand_stmt): Don't handle SCOPE_STMTs.
	(expand_body): Use function_name_declared_p.
	* tree.c (cp_statement_code_p): Don't include SCOPE_STMT.
	* typeck.c: Change order of includes.
	(convert_sequence): Remove.

From-SVN: r36464
2000-09-17 07:38:23 +00:00
Geoff Keating
4797e955c6 configure.in: Define macros that affect features before testing for features.
* configure.in: Define macros that affect features before
	testing for features.  Don't define _XOPEN_SOURCE.
	* configure: Regenerated.
	* config.in: Regenerated.

From-SVN: r36463
2000-09-17 00:12:34 +00:00
John Wehle
ae0fb1b9fb rtlanal.c (rtx_varies_p): Volatile asms vary.
* rtlanal.c (rtx_varies_p): Volatile asms vary.
	(rtx_unstable_p): Restructure code.  Volatile asms
	are unstable.

From-SVN: r36462
2000-09-16 23:38:20 +00:00
Richard Kenner
f93dacbdef function.h (no_debugging_symbols): New field.
* function.h (no_debugging_symbols): New field.
	* integrate.c (save_for_inline): Renamed from save_for_inline_nocopy.
	Initialize no_debugging_symbols.
	(output_inline_function): Save and restore write_symbols and set from
	no_debugging_symbols.
	* toplev.c (rest_of_compilation): Call save_for_inline.
	* tree.h: Update comment.

From-SVN: r36461
2000-09-16 14:58:51 -04:00
Richard Kenner
5748b2cb4b stor-layout.c (place_field): Don't do anything if field or its type are ERROR_MARK.
* stor-layout.c (place_field): Don't do anything if field or
	its type are ERROR_MARK.

From-SVN: r36460
2000-09-16 14:31:00 -04:00
Laurynas Biveinis
ae0f4dee02 cppfiles.c (purge_cache): use munmap() only if MMAP_THRESHOLD defined.
* cppfiles.c (purge_cache): use munmap() only if MMAP_THRESHOLD
	 defined.
	(read_include_file): Ensure inc->mmaped is initialized.

From-SVN: r36459
2000-09-16 18:17:53 +00:00
Richard Henderson
6f84c9bdaa * cppiles.c (purge_cache): Use PTR not caddr_t.
From-SVN: r36458
2000-09-16 10:48:10 -07:00
Richard Henderson
4faefccb49 Regenerate.
From-SVN: r36457
2000-09-16 10:46:25 -07:00
Hans-Peter Nilsson
50c57e7bb5 gcc.c: In description for %{<S}, say the option removed is -S.
* gcc.c: In description for %{<S}, say the option removed is -S.
	* invoke.texi (Spec Files): Ditto.

From-SVN: r36456
2000-09-16 13:29:43 +00:00
Andreas Jaeger
dd74554610 configure.in: Always define _GNU_SOURCE to make interfaces visible that were hidden by only...
2000-09-16  Andreas Jaeger  <aj@suse.de>

	* configure.in: Always define _GNU_SOURCE to make interfaces
	visible that were hidden by only defining _GNU_SOURCE.
	* configure: Regenerated.

From-SVN: r36455
2000-09-16 15:13:49 +02:00
Andreas Jaeger
12acf3a987 gcc_update: Remove gcc/c-parse.gperf.
2000-09-16  Andreas Jaeger  <aj@suse.de>

	* gcc_update: Remove gcc/c-parse.gperf.

From-SVN: r36454
2000-09-16 14:14:12 +02:00
Jeff Law
52e055e4ae Daily bump.
From-SVN: r36453
2000-09-16 01:45:06 -06:00
Neil Booth
08ebc1c594 cpplex.c (push_macro_context): Set an argument's level after calling parse_args.
* cpplex.c (push_macro_context): Set an argument's level after
	calling parse_args.  We could loop infinitely otherwise.
	* gcc.dg/cpp/macro2.c: New testcase.

From-SVN: r36452
2000-09-16 07:18:06 +00:00
Benjamin Kosnik
d9fbca261e locale.cc (locale::locale(const char* __name)): Consolidate name setting.
2000-09-15  Benjamin Kosnik  <bkoz@purist.soma.redhat.com>

        * src/locale.cc (locale::locale(const char* __name)): Consolidate
        name setting. Add checks for NULL __name pointers. Remove calls to
        _S_initialize() as initial locale initialization can either be
        assumed, or needs to be made consistent throughout locale
        constructors.
        (locale::locale(const locale& __other, const char* __name,
        category __cat): Add checks for NULL name. Add checks for
        assignment to self.
        * src/localename.cc (locale::_Impl:: _Impl(const _Impl& __other,
        const string& __name, category __cat, size_t __refs)): Set correct
        name, has_name values.
        * testsuite/22_locale/ctor_copy_dtor.cc (test01): More tests.
        * docs/22_locale/locale.html: New file, more unfinished docs...

From-SVN: r36451
2000-09-15 22:52:52 +00:00
Benjamin Kosnik
04807c2864 locale.cc (locale::locale(const char* __name)): Consolidate name setting.
2000-09-15  Benjamin Kosnik  <bkoz@purist.soma.redhat.com>

	* src/locale.cc (locale::locale(const char* __name)): Consolidate
	name setting. Add checks for NULL __name pointers. Remove calls to
	_S_initialize() as initial locale initialization can either be
	assumed, or needs to be made consistent throughout locale
	construtors.
	(locale::locale(const locale& __other, const char* __name,
	category __cat): Add checks for NULL name. Add checks for
	assignment to self.
	* src/localename.cc (locale::_Impl:: _Impl(const _Impl& __other,
	const string& __name, category __cat, size_t __refs)): Set correct
	name, has_name values.
	* testsuite/22_locale/ctor_copy_dtor.cc (test01): More tests.
	* docs/22_locale/locale.html: New file, more unfinished docs...

From-SVN: r36450
2000-09-15 22:50:11 +00:00
Tom Tromey
4c4b521a59 * lex.h: Use HAVE_ICONV_H, not HAVE_ICONV.
From-SVN: r36449
2000-09-15 22:31:56 +00:00
Tom Tromey
16abe34a39 configure, config.in: Rebuilt.
* configure, config.in: Rebuilt.
	* configure.in: Check for iconv.h.  Define _XOPEN_SOURCE.

From-SVN: r36448
2000-09-15 22:05:48 +00:00
Greg McGary
61c16b1038 cppmacro.c (check_trad_stringification): Check token text pointers against limit before dereferencing.
* cppmacro.c (check_trad_stringification): Check token
	text pointers against limit before dereferencing.

From-SVN: r36447
2000-09-15 21:25:02 +00:00
Joseph Myers
6a357625bd c-common.c (format_wanted_type): New structure.
* c-common.c (format_wanted_type): New structure.
	(check_format_types): New function.
	(check_format_info): Pass all checking of types of format
	arguments, including width and precision arguments, to this new
	function.

From-SVN: r36446
2000-09-15 22:16:31 +01:00
Gerald Pfeifer
6a1d1088df * BUGS: Remove file.
From-SVN: r36445
2000-09-15 19:29:17 +00:00
Jakub Jelinek
54f5c4b098 alpha.c (override_options): ev6 cache latencies from Richard Henderson.
* config/alpha/alpha.c (override_options): ev6 cache latencies
	from Richard Henderson.  Don't allow -mmemory-latency=L0.

From-SVN: r36444
2000-09-15 21:02:22 +02:00