Commit Graph

52697 Commits

Author SHA1 Message Date
Richard Henderson
288a242be4 semantics.c (expand_or_defer_fn): Use cgraph_finalize_function always.
* semantics.c (expand_or_defer_fn): Use cgraph_finalize_function
        always.

From-SVN: r71262
2003-09-09 19:46:35 -07:00
Richard Henderson
e4d9102785 decl2.c (finish_file): Avoid out-of-bounds array reference during memmove.
* decl2.c (finish_file): Avoid out-of-bounds array reference
        during memmove.

From-SVN: r71261
2003-09-09 19:41:43 -07:00
Devang Patel
e62f462e10 darwin.h (LINK_SPEC): Pass -nofixprebinding to linker.
gcc
        * config/darwin.h (LINK_SPEC): Pass -nofixprebinding to linker.
        * doc/invoke.texi: Document new Darwin linker option -nofixprebinding.
testsuite
        * gcc.dg/darwin-ld-6.c: New test.

From-SVN: r71259
2003-09-09 17:43:38 -07:00
GCC Administrator
6fe055ae46 Daily bump.
From-SVN: r71257
2003-09-10 00:16:07 +00:00
Eric Christopher
bace148a49 configure.in: Change usage of 'head' to 'sed 1q'.
2003-09-09  Eric Christopher  <echristo@redhat.com>

	* configure.in: Change usage of 'head' to 'sed 1q'.
	* configure: Regenerate.

From-SVN: r71255
2003-09-10 00:13:11 +00:00
Richard Henderson
dd07abd725 except.c: Include cgraph.h.
* except.c: Include cgraph.h.
        (output_function_exception_table): Invoke
        cgraph_varpool_mark_needed_node.
        * Makefile.in (except.o): Update.

        * decl2.c (mark_member_pointers): Rename from
        mark_member_pointers_and_eh_handlers and don't check eh handlers.

From-SVN: r71254
2003-09-09 17:09:09 -07:00
Kelley Cook
7f5cc0f3d0 Makefile.in: Define REMAKEFLAGS for LANGUAGES & BOOT_CFLAGS and use it throughout.
* Makefile.in: Define REMAKEFLAGS for LANGUAGES & BOOT_CFLAGS
and use it throughout.

From-SVN: r71253
2003-09-09 22:19:56 +00:00
Kaveh R. Ghazi
f7657db990 builtins.c (real_dconstp, [...]): New, split out from fold_builtin.
* builtins.c (real_dconstp, fold_builtin_logarithm,
	fold_builtin_exponent): New, split out from fold_builtin.  Also
	generalize to add log2, log10, exp2 and exp10/pow10 equivalents.
	* emit-rtl.c (dconst3, dconst10, dconstthird): New.
	(init_emit_once): Initialize new dconsts, use ARRAY_SIZE in lieu
	of hardcoded array size.
	* fold-const.c (fold): Add cases for exp2, exp10 and pow10.
	(tree_expr_nonnegative_p): Likewise.
	* real.h (dconst3, dconst10, dconstthird): New.

testsuite:
	* gcc.dg/torture/builtin-explog-1.c: New testcase.

From-SVN: r71252
2003-09-09 22:10:32 +00:00
Ian Lance Taylor
dcbdd9cc82 * MAINTAINERS: Update my e-mail address.
From-SVN: r71246
2003-09-09 20:30:34 +00:00
Jan Hubicka
cd4dea6224 cgraphunit.c (cgraph_finalize_function): Fix handling of extern inline functions.
* cgraphunit.c (cgraph_finalize_function): Fix handling of extern
	inline functions.
	(cgraph_finalize_compilation_unit): Fix crash when dealing with lost
	DECL_SAVED_TREE.

From-SVN: r71245
2003-09-09 20:27:52 +00:00
Roger Sayle
892955bff0 builtins.c (fold_builtin_cabs): Protect the complex argument against multiple evaluation when...
* builtins.c (fold_builtin_cabs): Protect the complex argument
	against multiple evaluation when optimizing cabs* into sqrt*.

From-SVN: r71242
2003-09-09 19:20:42 +00:00
Andreas Tobler
086a4bd7dd 2003-09-09 Andreas Tobler <a.tobler@schweiz.ch>
* src/powerpc/ffi.c (ffi_closure_helper_SYSV) Handle struct
	passing correctly.

From-SVN: r71238
2003-09-09 19:37:53 +02:00
Jan Hubicka
f098590080 * varasm.c (notice_global_symbol): Properly deal with weak symbols.
From-SVN: r71236
2003-09-09 13:37:17 +00:00
Kelley Cook
94fd51760c Revert change from yesterday due to parallel make issues.
From-SVN: r71235
2003-09-09 11:44:03 +00:00
Christian Ehrhardt
22898f9a4b re PR bootstrap/12168 (ICE (bus error) in set_mem_attributes_minus_bitpos)
PR bootstrap/12168
	* method.c (use_thunk): Clear DECL_RTL of copied nodes.

From-SVN: r71234
2003-09-09 08:47:35 +00:00
Bernardo Innocenti
860c4900e5 coff.h (REGISTER_NAMES): Add fake register `argptr'
* config/m68k/coff.h (REGISTER_NAMES): Add fake register `argptr'
	* config/m68k/hp320.h (REGISTER_NAMES): Likewise.
	* config/m68k/linux.h (REGISTER_NAMES): Likewise.
	* config/m68k/m68kelf.h (REGISTER_NAMES): Likewise.
	* gcc/config/m68k/sgs.h (REGISTER_NAMES): Likewise.
	* config/m68k/m68k-protos.h (m68k_initial_elimination_offset): Add prototype.
	* config/m68k/m68k.c (m68k_frame): New struct, simular to ix86 back-end.
	(m68k_compute_frame_layout): New function.
	(m68k_initial_elimination_offset): New function.
	(m68k_output_function_prologue): ColdFire-specific movem handling.
	(m68k_output_function_epilogue): Likewise.
	* config/m68k/m68k.h (FIRST_PSEOUDO_REGISTER): Make room for argptr reg.
	(ARG_POINTER_REGNUM): Add new definition.
	(INITIAL_FRAME_POINTER_OFFSET): Remove macro.
	(ELIMINABLE_REGS): Define new macro, like in ix86 back-end.
	(CAN_ELIMINATE): Likewise.
	(INITIAL_ELIMINATION_OFFSET): Likewise.

Co-Authored-By: Peter Barada <peter@baradas.org>

From-SVN: r71231
2003-09-09 08:47:19 +02:00
Bernardo Innocenti
ed311a33ac m68k.c (m68k_output_function_prologue): Simplify by removing redundant variable cfa_store_offset.
* config/m68k/m68k.c (m68k_output_function_prologue): Simplify
	by removing redundant variable cfa_store_offset.

From-SVN: r71230
2003-09-09 08:40:46 +02:00
Alan Modra
e517f63617 * libtool.m4 (LD): Correct powerpc64 host match.
From-SVN: r71229
2003-09-09 15:54:39 +09:30
Mark Mitchell
bf9ab6b657 Fix thinko in last patch.
From-SVN: r71228
2003-09-09 03:51:56 +00:00
Mark Mitchell
9649812aae langhooks-def.h (lhd_register_builtin_type): New function.
* langhooks-def.h (lhd_register_builtin_type): New function.
	(LANG_HOOKS_REGISTER_BUILTIN_TYPE): New macro.
	(LANG_HOOKS_FOR_TYPES_INITIALIZER): Update.
	* langhooks.h (lang_hooks_for_types): Add register_builtin_type.
	* langhooks.c (lhd_register_builtin_type): New function.
	* c-common.h (c_register_builtin_type): Declare.
	* c-common.c (c_register_builtin_type): New function.
	* c-lang.c (LANG_HOOKS_REGISTER_BUILTIN_TYPE): Define to
	c_register_builtin_type.
	* config/ia64/hpux.h (TARGET_OS_CPP_BUILTINS): Remove __fpreg,
	__float80, and __float128 macros.
	* config/ia64/ia64.c (ia64_init_builtins): Create __fpreg,
	__float80, and __float128 types.

	* cp-lang.c (LANG_HOOKS_REGISTER_BUILTIN_TYPE): Define to
	c_register_builtin_type.

	* gcc.dg/ia64-types1.c: New test.
	* gcc.dg/ia64-types2.c: Likewise.

From-SVN: r71227
2003-09-09 03:35:31 +00:00
Kaveh R. Ghazi
11bf0eb0c7 builtin-types.def (BT_FN_COMPLEX_LONGDOUBLE_COMPLEX_LONGDOUBLE_COMPLEX_LONGDOUBLE, [...]): New.
* builtin-types.def
	(BT_FN_COMPLEX_LONGDOUBLE_COMPLEX_LONGDOUBLE_COMPLEX_LONGDOUBLE,
	BT_FN_COMPLEX_DOUBLE_COMPLEX_DOUBLE_COMPLEX_DOUBLE,
	BT_FN_COMPLEX_FLOAT_COMPLEX_FLOAT_COMPLEX_FLOAT): New.
	* builtins.def (BUILT_IN_CACOS, BUILT_IN_CACOSF, BUILT_IN_CACOSH,
	BUILT_IN_CACOSHF, BUILT_IN_CACOSHL, BUILT_IN_CACOSL,
	BUILT_IN_CARG, BUILT_IN_CARGF, BUILT_IN_CARGL, BUILT_IN_CASIN,
	BUILT_IN_CASINF, BUILT_IN_CASINH, BUILT_IN_CASINHF,
	BUILT_IN_CASINHL, BUILT_IN_CASINL, BUILT_IN_CATAN,
	BUILT_IN_CATANF, BUILT_IN_CATANH, BUILT_IN_CATANHF,
	BUILT_IN_CATANHL, BUILT_IN_CATANL, BUILT_IN_CCOS, BUILT_IN_CCOSF,
	BUILT_IN_CCOSH, BUILT_IN_CCOSHF, BUILT_IN_CCOSHL, BUILT_IN_CCOSL,
	BUILT_IN_CEXP, BUILT_IN_CEXPF, BUILT_IN_CEXPL, BUILT_IN_CPOW,
	BUILT_IN_CPOWF, BUILT_IN_CPOWL, BUILT_IN_CPROJ, BUILT_IN_CPROJF,
	BUILT_IN_CPROJL, BUILT_IN_CSIN, BUILT_IN_CSINF, BUILT_IN_CSINH,
	BUILT_IN_CSINHF, BUILT_IN_CSINHL, BUILT_IN_CSINL, BUILT_IN_CSQRT,
	BUILT_IN_CSQRTF, BUILT_IN_CSQRTL, BUILT_IN_CTAN, BUILT_IN_CTANF,
	BUILT_IN_CTANH, BUILT_IN_CTANHF, BUILT_IN_CTANHL, BUILT_IN_CTANL):
	New.
	* doc/extend.texi: Document new builtins.

testsuite:
	* gcc.dg/builtins-1.c: Add more _Complex tests.
	* gcc.dg/torture/builtin-attr-1.c: Likewise.

From-SVN: r71226
2003-09-09 03:29:18 +00:00
Kaveh R. Ghazi
df049e595f builtins-1.c: Test existing _Complex functions.
* gcc.dg/builtins-1.c: Test existing _Complex functions.
	* gcc.dg/torture/builtin-attr-1.c: Likewise.

From-SVN: r71225
2003-09-09 03:13:45 +00:00
David Edelsohn
263594d2e4 ios.cc (ios_base::Init::Init): Remove unnecessary qualifier from _S_synced_with_stdio.
* src/ios.cc (ios_base::Init::Init): Remove unnecessary
        qualifier from _S_synced_with_stdio.

From-SVN: r71224
2003-09-08 21:08:48 -04:00
Jan Hubicka
d853a20e6c cgraph.c (cgraph_varpool_finalize_decl): Sanity check duplicated finalization.
* cgraph.c (cgraph_varpool_finalize_decl): Sanity check duplicated
	finalization.
	* cgraphunit.c (decide_is_fnction_needed): Avoid special case of nested
	functions, check for COMDAT.
	(cgraph_assemble_pending_functions): Break out from...
	(cgraph_finalize_function): ... here; allow redefinig of extern inline
	functions.
	(record_call_1): Record function references only in non-unit-at-a-time
	mode.
	(cgraph_analyze_function): Reset current_function_decl.
	(cgraph_finalize_compilation_unit):  Assemble pending functions.

From-SVN: r71221
2003-09-09 00:31:39 +00:00
GCC Administrator
c05e3efaa4 Daily bump.
From-SVN: r71219
2003-09-09 00:16:08 +00:00
Mark Mitchell
3d81ccc618 mklibgcc.in (libcc.a): Depend on stmp-dirs.
* mklibgcc.in (libcc.a): Depend on stmp-dirs.
	(libgov.a): Likewise.
	(libgcc_eh.a): Likewise.

From-SVN: r71217
2003-09-08 23:48:58 +00:00
Roger Sayle
fae111c115 * fold-const.c (operand_equal_p): Clarify documentation.
From-SVN: r71214
2003-09-08 18:57:32 +00:00
Mark Mitchell
fa531100f1 re PR c++/11786 (operator() call on variable in other namespace not recognized)
PR c++/11786
	* decl2.c (add_function): Do not complain about seeing the same
	non-function twice.
	* semantics.c (perform_koenig_lookup): Improve documentation.

	PR c++/11786
	* g++.dg/lookup/koenig2.C: New test.

From-SVN: r71213
2003-09-08 18:46:20 +00:00
Richard Henderson
c4bb110a19 * optimize.c (maybe_clone_body): Inc/dec function_depth.
From-SVN: r71210
2003-09-08 09:54:13 -07:00
Mark Mitchell
f23fb7f525 re PR c++/5296 ([DR115] Pointers to functions and template functions behave different in deduction)
PR c++/5296
	* pt.c (try_one_overload): Add addr_p parameter.
	(resolve_overloaded_unification): Pass it.

	PR c++/5296
	* g++.dg/rtti/typeid2.C: New test.

From-SVN: r71209
2003-09-08 16:53:05 +00:00
Richard Henderson
c1f927e84e c-decl.c (c_expand_body_1): Push and pop function context here.
gcc/
        * c-decl.c (c_expand_body_1): Push and pop function context here.
        * tree-optimize.c (tree_rest_of_compilation): ... not here.  Take
        nested argument instead of computing nesting ourselves.

gcc/cp/
        * decl.c (finish_function): Clear current_function_decl.
        * decl2.c (mark_used): Don't push/pop gc context.
        * optimize.c (optimize_function): Likewise.
        * tree.c (cp_cannot_inline_tree_fn): Likewise.
        * pt.c (instantiate_decl): Inc/dec function_depth instead.
        * semantics.c (expand_body): Update for tree_rest_of_compilation
        nested argument.

From-SVN: r71208
2003-09-08 08:56:27 -07:00
Jakub Jelinek
7f14bbe68f toplev.c (rest_of_compilation): Call split_all_insns before regstack if optimizing but not scheduling after reload.
* toplev.c (rest_of_compilation): Call split_all_insns before
	regstack if optimizing but not scheduling after reload.

	* gcc.c-torture/compile/20030904-1.c: New test.

From-SVN: r71203
2003-09-08 09:23:34 +02:00
Jakub Jelinek
5751a10b97 sparc.c (struct machine_function): New type.
* config/sparc/sparc.c (struct machine_function): New type.
	(TARGET_HAVE_TLS, TARGET_CANNOT_FORCE_CONST_MEM): Define.
	(sparc_override_options): Initialize init_machine_status.
	(tls_symbolic_operand, tgd_symbolic_operand, tld_symbolic_operand,
	tie_symbolic_operand, tle_symbolic_operand): New functions.
	(symbolic_operand): Disallow tls_symbolic_operand.
	(symbolic_memory_operand): Likewise.
	(tls_call_delay, sparc_cannot_force_const_mem, legitimate_constant_p,
	constant_address_p, legitimate_pic_operand_p, legitimate_address_p):
	New functions.
	(sparc_tls_symbol): New variable.
	(sparc_tls_get_addr, sparc_tls_got, legitimize_tls_address,
	legitimize_address): New functions.
	(print_operand): Handle %&.
	(sparc_init_machine_status, get_some_local_dynamic_name,
	get_some_local_dynamic_name_1): New functions.
	(sparc_output_dwarf_dtprel): New function.
	* config/sparc/sparc.h (CONSTANT_ADDRESS_P): Moved into
	constant_address_p.
	(LEGITIMATE_PIC_OPERAND_P): Moved into legitimate_pic_operand_p.
	(LEGITIMATE_CONSTANT_P): Moved into legitimate_constant_p.
	(GO_IF_LEGITIMATE_ADDRESS): Moved into legitimate_address_p.
	(LEGITIMIZE_ADDRESS): Moved into legitimize_address.
	(PRINT_OPERAND_PUNCT_VALID_P): Add '&'.
	(TARGET_TLS, TARGET_SUN_TLS, TARGET_GNU_TLS): Define.
	(ASM_OUTPUT_DWARF_DTPREL): Define.
	(PREDICATE_CODES): Add tgd_symbolic_operand, tld_symbolic_operand,
	tie_symbolic_operand, tle_symbolic_operand.
	* config/sparc/sparc.md (UNSPEC_TLSGD, UNSPEC_TLSLDM, UNSPEC_TLSLDO,
	UNSPEC_TLSIE, UNSPEC_TLSLE, UNSPEC_TLSLD_BASE): New constants.
	(tls_call_delay): New attribute.
	(in_call_delay): Use it.
	(movqi, movhi, movsi, movdi): Call legitimize_tls_address if needed.
	(tgd_hi22, tgd_lo10, tgd_add32, tgd_add64, tgd_call32, tgd_call64,
	tldm_hi22, tldm_lo10, tldm_add32, tldm_add64, tldm_call32, tldm_call64,
	tldo_hix22, tldo_lox10, tldo_add32, tldo_add64, tie_hi22, tie_lo10,
	tie_ld32, tie_ld64, tie_add32, tie_add64, tle_hix22_sp32,
	tle_lox10_sp32, tle_hix22_sp64, tle_lox10_sp64): New insns.
	(tldo_ldub_sp32, tldo_ldub1_sp32, tldo_ldub2_sp32, tldo_ldsb1_sp32,
	tldo_ldsb2_sp32, tldo_ldub_sp64, tldo_ldub1_sp64, tldo_ldub2_sp64,
	tldo_ldub3_sp64, tldo_ldsb1_sp64, tldo_ldsb2_sp64, tldo_ldsb3_sp64,
	tldo_lduh_sp32, tldo_lduh1_sp32, tldo_ldsh1_sp32, tldo_lduh_sp64,
	tldo_lduh1_sp64, tldo_lduh2_sp64, tldo_ldsh1_sp64, tldo_ldsh2_sp64,
	tldo_lduw_sp32, tldo_lduw_sp64, tldo_lduw1_sp64, tldo_ldsw1_sp64,
	tldo_ldx_sp64, tldo_stb_sp32, tldo_stb_sp64, tldo_sth_sp32,
	tldo_sth_sp64, tldo_stw_sp32, tldo_stw_sp64, tldo_stx_sp64): New
	insns.
	* config/sparc/sparc-protos.h (legitimate_constant_p,
	constant_address_p, legitimate_pic_operand_p, legitimate_address_p,
	legitimize_tls_address, legitimize_address, tls_symbolic_operand,
	tls_call_delay, sparc_output_dwarf_dtprel): New prototypes.
	* config/sparc/linux.h (TARGET_GNU_TLS, TARGET_SUN_TLS): Define.
	* config/sparc/linux64.h (TARGET_GNU_TLS, TARGET_SUN_TLS): Likewise.
	* configure.in (sparc*-*-*): Add TLS check.
	* configure: Rebuilt.

From-SVN: r71202
2003-09-08 08:57:05 +02:00
Eric Botcazou
7b65ed5448 re PR target/11689 (g++3.3 emits un-assembleable code for k6 architecture)
PR target/11689
	* config/i386/i386.c (memory_address_length): Fix computation when
	the base is esp or ebp.

From-SVN: r71198
2003-09-08 06:41:49 +00:00
Andrew Pinski
6a4f08f318 * g++.dg/template/crash10.C: Only compile it.
From-SVN: r71197
2003-09-07 23:00:46 -07:00
Andrew Pinski
dc4cb34e15 re PR middle-end/11665 (ICE in struct initializer when taking address)
2003-09-07  Andrew Pinski  <pinskia@physics.uc.edu>

        PR middle-end/11665
        * gcc.c-torture/compile/20030907-1.c: New test.
        * g++.dg/init/array11.C: New test.

From-SVN: r71193
2003-09-07 20:05:52 -07:00
GCC Administrator
c5ed395d44 Daily bump.
From-SVN: r71191
2003-09-08 00:16:06 +00:00
Mark Mitchell
cf9ad9a773 re PR c++/11852 (ICE: g++ with bad struct initializer.)
PR c++/11852
	* varasm.c (initializer_constant_valid_p): Correct logic for
	CONSTRUCTORs.

	PR c++/11852
	* g++.dg/init/struct1.C: New test.

From-SVN: r71187
2003-09-07 23:48:33 +00:00
Mark Mitchell
6ef0aa7b3b re PR c++/12181 (Wrong code with comma operator and c++)
PR c++/12181
	* g++.dg/expr/comma1.C: New test.

From-SVN: r71182
2003-09-07 20:54:11 +00:00
Roger Sayle
eb698c5883 expr.c (expand_operands): New function to expand an operand pair.
* expr.c (expand_operands): New function to expand an operand pair.
	(expand_expr): Call expand_operands whenever we need to expand both
	operands of a binary operator.
	(do_store_flag): Likewise for operands of comparison operations.

From-SVN: r71179
2003-09-07 20:34:13 +00:00
Roger Sayle
4f61b3b722 combine.c (combine_simplify_rtx): Don't convert -(A*B) into (-A)*B if we care about sign-dependent rounding.
* combine.c (combine_simplify_rtx): Don't convert -(A*B) into
	(-A)*B if we care about sign-dependent rounding.

From-SVN: r71178
2003-09-07 20:32:16 +00:00
Mark Mitchell
ae53e5bcea Fix typo.
From-SVN: r71177
2003-09-07 19:21:05 +00:00
Gabriel Dos Reis
a2a9e21c33 re PR c++/11762 (namespace aliasing ICE in warn_extern_redeclared_static)
* c-pretty-print.h (pp_c_left_brace): Declare.
	(pp_c_right_brace): Likewise.
	* c-pretty-print.c (pp_c_left_brace): Now a function
	(pp_c_right_brace): Likewise.

cp/
	PR c++/11762
	* error.c (dump_decl): Handle namespace-alias-definition.
	* decl.c (warn_extern_redeclared_static): There is no point in
	checking changes in storage class specifier for a namespace
	declaration.
	(duplicate_decls): Tidy diagnostic message.
	* cxx-pretty-print.c (pp_cxx_left_brace): New macro.
	(pp_cxx_right_brace): Likewise.
	(pp_cxx_original_namespace_definition): New function.
	(pp_cxx_namespace_alias_definition): Likewise.
	(pp_cxx_declaration): Use them.  Handle NAMESPACE_DECLs.

From-SVN: r71175
2003-09-07 18:52:53 +00:00
Jan Hubicka
1ab237dfa3 * cfgcleanup.c (try_simplify_condjump): Fix again the preivous patch.
From-SVN: r71172
2003-09-07 16:23:41 +00:00
Gabriel Dos Reis
43f9ce0256 * diagnostic.c (warn_deprecated_use): Move to toplev.c
From-SVN: r71168
2003-09-07 11:59:52 +00:00
Jan Hubicka
c57e159892 decl2.c (maybe_emit_vtables, [...]): Avoid re-emitting variables in unit-at-a-time mode.
* decl2.c (maybe_emit_vtables, write_out_vars, finish_file):
	Avoid re-emitting variables in unit-at-a-time mode.

From-SVN: r71167
2003-09-07 11:15:46 +00:00
Gabriel Dos Reis
dba65e798f langhooks.c (lhd_print_error_function): Move from diagnostic.c.
* langhooks.c (lhd_print_error_function): Move from diagnostic.c.
	* Makefile.in (langhooks.o): Depend on diagnostic.h

From-SVN: r71165
2003-09-07 10:11:28 +00:00
Andrew Pinski
687f4bc133 Forgot to commit the Changelog for the new tests.
From-SVN: r71162
2003-09-06 22:57:10 -07:00
James E Wilson
bc49924bc2 * MAINTAINTERS: Update my affiliation and email address.
From-SVN: r71161
2003-09-06 22:52:40 -07:00
James E Wilson
10ef35a9da loop.c (loop_regs_update): Delete else clause for PATTERN rtx and simplify.
* loop.c (loop_regs_update): Delete else clause for PATTERN rtx and
simplify.

From-SVN: r71160
2003-09-06 22:21:35 -07:00