Commit Graph

52633 Commits

Author SHA1 Message Date
Mark Mitchell
d18a825116 Remove cast-as-lvalue extension.
* call.c (build_conditional_expr): Correct formatting.
	(convert_like_real): Use lvalue_p, not non_cast_lvalue_p.
	(initialize_real): Use real_lvalue_p, not real_non_cast_lvalue_p.
	* cp-tree.h (non_cast_lvalue_p): Remove.
	(real_non_cast_lvalue_p): Remove.
	(non_cast_lvalue_or_else): Remove.
	* tree.c (lvalue_p_1): Remove allow_cast_as_lvalue parameter.
	(real_lvalue_p): Adjust call to lvalue_p_1.
	(non_cast_lvalue_p): Remove.
	(non_cast_lvalue_or_else): Remove.
	(lvalue_p): Adjust call to lvalue_p_1.
	(lvalue_or_else): Simplify.
	* typeck.c (build_unary_op): Use lvalue_or_else, not
	non_cast_lvalue_or_else.
	(build_static_cast): Use real_lvalue_p, not real_non_cast_lvalue_p.

	* doc/extend.texi: Document removal of cast-as-lvalue extension in
	C++.

	* g++.dg/expr/lval1.C: New test.
	* g++.dg/ext/lvcast.C: Remove.

From-SVN: r71051
2003-09-04 07:16:43 +00:00
Nicolas Roche
c5ef564beb * gcc.c (process_command): Fix typo.
From-SVN: r71050
2003-09-04 06:30:02 +00:00
David O'Brien
04b379ba09 freebsd.h (SIZE_TYPE): Support TARGET_64BIT.
2003-09-03  David O'Brien  <obrien@FreeBSD.org>

	optimization/11980
	* config/i386/freebsd.h (SIZE_TYPE): Support TARGET_64BIT.
	(PTRDIFF_TYPE): Likewise.
	(WCHAR_TYPE_SIZE): Likewise.

From-SVN: r71049
2003-09-04 03:35:35 +00:00
DJ Delorie
61f71b3447 targhooks.c: New file.
* targhooks.c: New file.
	* targhooks.h: New file.
	* Makefile.in: Add targhooks.o support.
	(function.o): Depend on$(TARGET_H).
	(stmt.o): Likewise.
	(combine.o): Depend on $(TREE_H) and $(TARGET_H).
	* builtins.c (apply_args_size, expand_builtin_apply_args_1,
	expand_builtin_apply): Convert to calls.struct_value_rtx hook.
	(expand_builtin_saveregs): Convert to
	calls.expand_builtin_saveregs hook.
	* c-decl.c (start_decl): Handle new calls.promote_prototypes hook
	here, instead of ...
	(get_parm_info) ... here.
	(store_parm_decls_oldstyle): Convert to calls.promote_prototypes
	hook.
	(finish_function): Handle calls.promote_prototypes hook here too.
	* c-typeck.c (convert_arguments): Convert to
	calls.promote_prototypes hook.
	(c_convert_parm_for_inlining): Likewise.
	* calls.c (initialize_argument_information): Convert to
	calls.promote_function_args hook.
	(expand_call): Convert to calls.struct_value_rtx,
	calls.strict_argument_naming,
	calls.pretend_outgoing_varargs_named, and
	calls.promote_function_return hooks.  Pass fndecl to
	aggregate_value_p.  Initialize CUMULATIVE_ARGS before calling
	hooks, so they can use that.
	(emit_library_call_value_1): Likewise.
	* combine.c (setup_incoming_promotions): Convert to
	calls.promote_function_args hook.
	* emit-rtl.c: Convert to calls.struct_value_rtx hook.
	* expr.c (expand_assignment): Pass call to aggregate_value_p.
	(expand_expr): Likewise.
	* expr.h: Remove support for SETUP_INCOMING_VARARGS,
	STRICT_ARGUMENT_NAMING, PRETEND_OUTGOING_VARARGS_NAMED,
	RETURN_IN_MEMORY macro defaults.
	* final.c (profile_function): Convert to calls.struct_value_rtx
	hook.
	* function.c (aggregate_value_p): Accept function type tree as
	second parameter; try to deduce fntype from it.  Convert to
	calls.return_in_memory hook.
	(assign_parms): Convert to calls.setup_incoming_varargs,
	calls.strict_argument_naming, calls.promote_function_args,
	calls.pretend_outgoing_varargs_named hooks.  Pass fndecl to
	aggregate_value_p.
	(expand_function_start): Likewise.  Convert to
	calls.struct_value_rtx hook.
	(expand_function_end): Convert to calls.promote_function_return hook.
	(allocate_struct_function): Pass fndecl to aggregate_value_p.
	* hard-reg-set.h: Update comments to new hook names.
	* integrate.c (expand_inline_function): Pass fndecl to aggregate_value_p.
	* reg-stack.c (stack_result): Likewise.
	* rtl.h (struct_value_rtx, struct_value_incoming_rtx): Delete.
	* stmt.c (expand_value_return): Convert to
	calls.promote_function_return hook.
	* target-def.h: Add TARGET_PROMOTE_FUNCTION_ARGS,
	TARGET_PROMOTE_FUNCTION_RETURN, TARGET_PROMOTE_PROTOTYPES,
	TARGET_STRUCT_VALUE_RTX, TARGET_RETURN_IN_MEMORY,
	TARGET_EXPAND_BUILTIN_SAVEREGS, TARGET_SETUP_INCOMING_VARARGS,
	TARGET_STRICT_ARGUMENT_NAMING,
	TARGET_PRETEND_OUTGOING_VARARGS_NAMED, and TARGET_CALLS.
	* target.h: Likewise.
	* tree.h (aggregate_value_p): Also takes a tree to deduce function
	attributes from (for target hooks).
	* doc/tm.texi (PROMOTE_FUNCTION_ARGS, PROMOTE_FUNCTION_RETURN,
	PROMOTE_PROTOTYPES, RETURN_IN_MEMORY, STRUCT_VALUE_REGNUM,
	STRUCT_VALUE, STRUCT_VALUE_INCOMING_REGNUM, STRUCT_VALUE_INCOMING,
	EXPAND_BUILTIN_SAVEREGS, SETUP_INCOMING_VARARGS,
	STRICT_ARGUMENT_NAMING, PRETEND_OUTGOING_VARARGS_NAMED): Convert
	to hooks.

	* config/alpha/alpha.c (alpha_output_mi_thunk_osf): Pass function
	to aggregate_value_p.
	* config/arm/arm.c (arm_init_cumulative_args,
	arm_output_mi_thunk): Likewise.
	* config/i386/i386.c (ix86_return_pops_args, x86_this_parameter):
	Likewise.
	* config/mips/mips.c (mips_save_reg_p, mips_expand_prologue,
	mips_can_use_return_insn): Likewise.
	* config/rs6000/rs6000.c (rs6000_output_mi_thunk): Likewise.
	* config/s390/s390.c (s390_output_mi_thunk): Likewise.
	* config/sparc/sparc.c (sparc_output_mi_thunk): Pass function to
	aggregate_value_p.
	* config/story16/stormy16.c (xstormy16_asm_output_mi_thunk): Pass
	function to aggregate_value_p.
	* objc/objc-act.c (generate_struct_by_value_array): Pass NULL to
	aggregate_value_p.

	* config/sh/sh-protos.h (sh_builtin_saveregs): Remove.
	(sh_attr_renesas_p, sh_cfun_attr_renesas_p, sh_function_arg,
	sh_function_arg_advance, sh_pass_in_reg_p): New.  * config/sh/sh.c
	(sh_handle_renesas_attribute, sh_promote_prototypes,
	sh_struct_value_rtx, sh_return_in_memory, sh_builtin_saveregs,
	sh_setup_incoming_varargs, sh_strict_argument_naming,
	sh_pretend_outgoing_varargs_named): New decls.
	(targetm): Add new hooks.
	(calc_live_regs): Save MACL and MACH if the function has the
	renesas attribute.
	(sh_expand_prologue): Support renesas attribute.
	(sh_builtin_saveregs): Make static.
	(sh_build_va_list): Support renesas attribute.
	(sh_va_start): Likewise.
	(sh_va_arg): Likewise.
	(sh_promote_prototypes): New.
	(sh_function_arg): New, moved from sh.h.  Support renesas
	attribute.
	(sh_function_arg_advance): Likewise.
	(sh_return_in_memory): Likewise.
	(sh_strict_argument_naming): Likewise.
	(sh_pretend_outgoing_varargs_named): Likewise.
	(sh_struct_value_rtx): New.
	(sh_attribute): Add renesas attribute.
	(sh_handle_renesas_attribute): New.
	(sh_attr_renesas_p, sh_cfun_attr_renesas_p): New.
	(sh_ms_bitfield_layout_p): Support renesas attribute also.
	(sh_output_mi_thunk): Pass function to aggregate_value_p.  *
	config/sh/sh.h (TARGET_SWITCHES): Add -mrenesas as an alias for
	-mhitachi.
	(STRUCT_VALUE_REGNUM, STRUCT_VALUE, RETURN_IN_MEMORY): Moved to
	target hooks.
	(sh_args): Add renesas_abi flag.
	(INIT_CUMULATIVE_ARGS): Set it.  Pass fndecl to aggregate_value_p.
	(FUNCTION_ARG_ADVANCE, FUNCTION_ARG): Move to sh.c.
	(PASS_IN_REG_P): Support renesas attribute.  Pass DF and TF on the
	stack for the renesas abi.
	(STRICT_ARGUMENT_NAMING, PRETEND_OUTGOING_VARARGS_NAMED,
	SETUP_INCOMING_VARARGS, EXPAND_BUILTIN_SAVEREGS,
	PROMOTE_PROTOTYPES): Moved to sh.c.  * config/sh/sh.md (call): Set
	call cookie to indicate renesas calls.

	* decl.c (finish_function): Pass fndecl to aggregate_value_p.

	* misc.c (default_pass_by_ref): Convert to calls.return_in_memory
	hook.

From-SVN: r71048
2003-09-03 23:18:05 -04:00
Mostafa Hagog
b885908b11 gcse.c (replace_one_set): New function.
* gcse.c (replace_one_set): New function.
        (pre_insert_copy_insn): Change the order of copying
        to make copy propagation discover additional PRE opportunities.

From-SVN: r71047
2003-09-03 19:10:32 -07:00
Roger Sayle
bcfb807527 re PR rtl-optimization/11700 ([M68K] ICE in subreg_hard_regno)
PR optimization/11700.
	* simplify-rtx.c (simplify_subreg): Check that the subreg offset
	of a hard register is representable before trying to simplify it
	using subreg_hard_regno.

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

From-SVN: r71046
2003-09-04 01:53:01 +00:00
GCC Administrator
2a3ef884df Daily bump.
From-SVN: r71044
2003-09-04 00:16:06 +00:00
Rainer Orth
eb53bcc0a9 configure.in (gcc_cv_ld_hidden): Disable unless using GNU ld.
* configure.in (gcc_cv_ld_hidden): Disable unless using GNU ld.
	* configure: Regenerate.

From-SVN: r71042
2003-09-04 00:12:14 +00:00
Rainer Orth
9a57322b4f * intl.h (N_): Remove parentheses.
From-SVN: r71041
2003-09-04 00:04:02 +00:00
Mark Mitchell
43fe31f6f9 re PR c++/12053 (ABI difference between default g++ 3.3 and g++ 3.2)
PR c++/12053
	* class.c (include_empty_classes): Correct logic for ABI version 1.

	PR c++/12053
	* g++.dg/abi/layout4.C: New test.

From-SVN: r71036
2003-09-03 22:00:42 +00:00
Bernardo Innocenti
47fe5c480b config.gcc (m68k-*-linux*): Remove definition of LINUX_DEFAULT_ELF.
* config.gcc (m68k-*-linux*): Remove definition of LINUX_DEFAULT_ELF.
	* config/i370/linux.h (LINUX_DEFAULT_ELF): Remove unconditional
	definition and code blocks compiled when not defined.
	* config/i386/linux.h (LINUX_DEFAULT_ELF): Likewise.
	* config/i386/linux64.h (LINUX_DEFAULT_ELF): Likewise.
	* config/sparc/linux.h: (LINUX_DEFAULT_ELF): Likewise.
	* config/sparc/linux64.h: (LINUX_DEFAULT_ELF): Likewise.

From-SVN: r71035
2003-09-03 23:39:02 +02:00
Richard Henderson
19a42e516f optimize.c (optimize_function): Push/pop ggc context around the call to optimize_inline_calls.
* optimize.c (optimize_function): Push/pop ggc context around
        the call to optimize_inline_calls.

From-SVN: r71034
2003-09-03 14:38:26 -07:00
Jeff Sturm
7dff32e660 cgraphunit.c (visited_nodes): New static variable.
* cgraphunit.c (visited_nodes): New static variable.
(record_call_1): Use walk_tree with visited_nodes.
(cgraph_create_edges): Use walk_tree with visited_nodes.
Setup/teardown visited_nodes hashtable.

From-SVN: r71033
2003-09-03 21:03:27 +00:00
Roger Sayle
039c3d42d5 toplev.c (flag_rounding_math): New global variable.
* toplev.c (flag_rounding_math): New global variable.
	(f_options): Add to the list of language independent options.
	* flags.h (flag_rounding_math): Prototype here.
	(HONOR_SIGN_DEPENDENT_ROUNDING): Use flag_rounding_math instead.
	* common.opt (frounding-math): New common command line option.
	* opts.c (common_handle_option): Handle OPT_frounding_math.
	(set_fast_math_flags): -ffast-math clears flag_rounding_math.

	* doc/invoke.texi: Document this new command line option.

From-SVN: r71032
2003-09-03 20:57:31 +00:00
Rainer Orth
b689848ffd * config/sol2.h (NO_IMPLICIT_EXTERN_C): Update comment.
From-SVN: r71030
2003-09-03 18:10:56 +00:00
Jan Hubicka
4a46cbfb11 Makefile.in (c-objc-common.o): Kill gt-c-objc-common.h dependency.
* Makefile.in (c-objc-common.o): Kill gt-c-objc-common.h dependency.
	* c-decl.c (finish_function):  Kill arguments, always use cgraph path.
	* c-objc-common.c: Kill include of gt-c-objc-common.h
	(expand_deferred_fns, deffer_fn): Kill function.
	(deferred_fns): Kill variable.
	(finish_cdtor): Update finish_function call.
	(c_objc_common_finish_file): Always call cgraph code.
	* c-parse.c: Regenerate.
	* c-parse.y: Regenerate.
	* c-tree.h (finish_function): Update prototype.

	* objc-acct.c (build_module_descriptor, finish_method_def):
	Update call of finish_function.

	* cgraphunit.c (cgraph_default_inline_p, cgraph_analyze_function): Add
	forward prototype.
	(cgraph_finalize_function): In non-unit-at-a-time mode analyze the
	function and assemble it if needed.
	(cgraph_finalize_compilation_unit): Do nothing in non-unit-at-a-time
	mode.
	(cgraph_optimize): Likewise.
	(cgraph_expand_function): In non-unit-at-a-time mode keep function body
	even when it has no inline callees.
	* c-parse.in: Update calls to finish_function.

From-SVN: r71028
2003-09-03 14:57:29 +00:00
Petur Runolfsson
4c620c398e re PR libstdc++/12048 (unget does not work)
2003-09-03  Petur Runolfsson  <peturr02@ru.is>

	PR libstdc++/12048
	* include/ext/stdio_sync_filebuf.h
	(stdio_sync_filebuf::_M_unget_buf): Declare it.
	(stdio_sync_filebuf::stdio_sync_filebuf): Initialize _M_unget_buf.
	(stdio_sync_filebuf::uflow): Store the returned character in
	_M_unget_buf.
	(stdio_sync_filebuf::pbackfail): If argument is eof(), pass
	_M_unget_buf to syncungetc(). Set _M_unget_buf to eof().
	(stdio_sync_filebuf<char>::xsgetn): Store last read character in
	_M_unget_buf, if any, else eof().
	(stdio_sync_filebuf<wchar_t>::xsgetn: Store last read character in
	_M_unget_buf, if any, else eof().
	* testsuite/27_io/objects/char/12048.cc: Rename to...
	* testsuite/27_io/objects/char/12048-1.cc: ...this.
	* testsuite/27_io/objects/char/12048-2.cc: New test.
	* testsuite/27_io/objects/char/12048-3.cc: New test.
	* testsuite/27_io/objects/char/12048-4.cc: New test.
	* testsuite/27_io/objects/char/12048-5.cc: New test. XFAIL.
	* testsuite/27_io/objects/wchar_t/12048-1.cc: New test.
	* testsuite/27_io/objects/wchar_t/12048-2.cc: New test.
	* testsuite/27_io/objects/wchar_t/12048-3.cc: New test.
	* testsuite/27_io/objects/wchar_t/12048-4.cc: New test.
	* testsuite/27_io/objects/wchar_t/12048-5.cc: New test. XFAIL.
	* testsuite/ext/stdio_sync_filebuf_char.cc
	(test02, test03, test04, test05): New tests.
	* testsuite/ext/stdio_sync_filebuf_wchar_t.cc
	(test02, test03, test04, test05): New tests.

From-SVN: r71027
2003-09-03 14:57:04 +00:00
Petur Runolfsson
149639d4f1 re PR libstdc++/12048 (unget does not work)
2003-09-03  Petur Runolfsson  <peturr02@ru.is>

	PR libstdc++/12048
	* include/ext/stdio_sync_filebuf.h
	(stdio_sync_filebuf::_M_unget_buf): Declare it.
	(stdio_sync_filebuf::stdio_sync_filebuf): Initialize _M_unget_buf.
	(stdio_sync_filebuf::uflow): Store the returned character in
	_M_unget_buf.
	(stdio_sync_filebuf::pbackfail): If argument is eof(), pass
	_M_unget_buf to syncungetc(). Set _M_unget_buf to eof().
	(stdio_sync_filebuf<char>::xsgetn): Store last read character in
	_M_unget_buf, if any, else eof().
	(stdio_sync_filebuf<wchar_t>::xsgetn: Store last read character in
	_M_unget_buf, if any, else eof().
	* testsuite/27_io/objects/char/12048.cc: Rename to...
	* testsuite/27_io/objects/char/12048-1.cc: ...this.
	* testsuite/27_io/objects/char/12048-2.cc: New test.
	* testsuite/27_io/objects/char/12048-3.cc: New test.
	* testsuite/27_io/objects/char/12048-4.cc: New test.
	* testsuite/27_io/objects/char/12048-5.cc: New test. XFAIL.
	* testsuite/27_io/objects/wchar_t/12048-1.cc: New test.
	* testsuite/27_io/objects/wchar_t/12048-2.cc: New test.
	* testsuite/27_io/objects/wchar_t/12048-3.cc: New test.
	* testsuite/27_io/objects/wchar_t/12048-4.cc: New test.
	* testsuite/27_io/objects/wchar_t/12048-5.cc: New test. XFAIL.
	* testsuite/ext/stdio_sync_filebuf_char.cc
	(test02, test03, test04, test05): New tests.
	* testsuite/ext/stdio_sync_filebuf_wchar_t.cc
	(test02, test03, test04, test05): New tests.

2003-09-03  Petur Runolfsson  <peturr02@ru.is>

	* docs/html/27_io/howto.html: setbuf(0, 0) has no effect on
	stringbuf or strstreambuf. Fix typos.

From-SVN: r71026
2003-09-03 14:54:03 +00:00
Jeff Sturm
916b57ceda decl.c (java_expand_body): New function.
* decl.c (java_expand_body): New function.
* expr.c (build_class_init): Set DECL_IGNORED_P.
* java-tree.h (start_complete_expand_method,
java_expand_body): Declare.
* jcf-parse.c (cgraph.h): Include.
(java_parse_file): Handle flag_unit_at_a_time.
* lang.c (LANG_HOOKS_TREE_INLINING_START_INLINING,
LANG_HOOKS_CALLGRAPH_EXPAND_FUNCTION): Define.
(java_estimate_num_insns): Use walk_tree_without_duplicates.
(java_start_inlining): New function.
* parse.h (java_finish_classes): Declare.
* parse.y: Include cgraph.h.
(block): Don't special-case empty block production.
(craft_constructor): Set DECL_INLINE.
(source_end_java_method): Handle flag_unit_at_a_time.
Replace inline code with call to java_expand_body.
(start_complete_expand_method): Remove static modifier.
(java_expand_method_bodies): Patch function tree for
class initialization and/or synchronization as needed.
Don't begin RTL expansion yet.
(java_expand_classes): Check flag_unit_at_a_time before
calling finish_class.
(java_finish_classes): New function.
(java_complete_lhs): Ensure COMPOUND_EXPR has non-NULL type.
(patch_assignment): Set DECL_CONTEXT on temporary variable.
(emit_test_initialization): Set DECL_IGNORED_P.

From-SVN: r71024
2003-09-03 13:44:43 +00:00
Roger Sayle
e71d3aae3f builtins.c (enum builtin_type): Delete unused enumeration.
* builtins.c (enum builtin_type): Delete unused enumeration.
	* Make-lang.in (java/builtins.o): Remove built-types.def dependency.

From-SVN: r71023
2003-09-03 13:33:32 +00:00
Nick Clifton
de1f0668c1 fix typo in previous delta
From-SVN: r71022
2003-09-03 11:40:05 +00:00
Nick Clifton
877bcd2d34 Handle TARGET_CPU_iwmmxt.
Use #error to generate the message if TARGET_DEFAULT is not recognised.

From-SVN: r71021
2003-09-03 11:05:58 +00:00
Richard Sandiford
ee69241016 mips.h (MASK_UNUSED1): Remove.
* config/mips/mips.h (MASK_UNUSED1): Remove.
	(MASK_XGOT, TARGET_XGOT): Define.
	(TARGET_SWITCHES): Add an entry for -mxgot.
	(ASM_SPEC): Map -mxgot to -xgot.
	* config/mips/mips.c (mips_symbol_insns): Use TARGET_XGOT to decide
	whether we're using a big-GOT sequences.
	(mips_legitimize_const_move, mips_expand_call): Likewise.
	(override_options): Revert 2003-01-09 change.
	* doc/invoke.texi: Document -mxgot.

From-SVN: r71018
2003-09-03 06:50:59 +00:00
Jason Merrill
49fa066178 sol2.h (NO_IMPLICIT_EXTERN_C): Define here.
* config/sol2.h (NO_IMPLICIT_EXTERN_C): Define here.
        * config/sparc/sol2.h: Not here.

From-SVN: r71017
2003-09-02 21:53:08 -04:00
GCC Administrator
de38635b45 Daily bump.
From-SVN: r71015
2003-09-03 00:16:06 +00:00
DJ Delorie
03eec143ff ack, wrong date.
From-SVN: r71010
2003-09-02 19:29:34 -04:00
John David Anglin
86d7590652 re PR bootstrap/12100 (time.h:402: error: previous declaration of clock'evious declaration of clock')
2003-08-29  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
PR bootstrap/12100
* aclocal.m4 (AC_LANG_FUNC_LINK_TRY): Define.
* configure: Rebuilt.

From-SVN: r71009
2003-09-02 19:29:10 -04:00
Scott Brumbaugh
1918facfd1 re PR c++/11553 (g++ accepts duplicate 'friend')
PR c++/11553
	* parser.c (cp_parser_decl_specifier_seq): Add check for a
	duplicate friend decl-specifier.

	PR c++/11553
	* g++.dg/parse/friend3.C: New test.

From-SVN: r71008
2003-09-02 23:22:10 +00:00
Thomas Fitzsimmons
48c2d88a10 GtkDialogPeer.java (create): Add width and height arguments to GtkWindowPeer.create method call.
2003-09-02  Thomas Fitzsimmons  <fitzsim@redhat.com>

	* gnu/java/awt/peer/gtk/GtkDialogPeer.java (create): Add width
	and height arguments to GtkWindowPeer.create method call.
	* gnu/java/awt/peer/gtk/GtkWindowPeer.java
	(create(int,int,int)): New method.
	(create(int)): Add call to new create method.
	(create()): Add width and height arguments to create method
	call.
	(GtkWindowPeer): Remove call to setBounds.
	* java/awt/Frame.java (Frame(String)): Initialize visible field
	to false.
	(Frame(GraphicsConfiguration)): Likewise.
	(Frame(String,GraphicsConfiguration)): Likewise.
	* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkWindowPeer.c (create):
	Add width and height parameters.  Call
	gtk_window_set_default_size.
	(connectHooks): Remove unused name variable.
	(static setBounds): Call gtk_window_resize not
	gtk_widget_set_usize.
	(setBounds): Remove unused nchildren variable.

From-SVN: r71007
2003-09-02 23:04:05 +00:00
Roger Sayle
f0e9957ac9 expr.c (expand_expr): The code following both_summands performs the same task as simplify_gen_binary.
* expr.c (expand_expr): The code following both_summands performs
	the same task as simplify_gen_binary.  Replace all gotos to
	both_summands with a call to simplify_gen_binary and delete the
	now unused label.

From-SVN: r71006
2003-09-02 23:03:45 +00:00
Jason Merrill
5220823f53 re PR target/7327 (-isystem and template linkage)
PR c++/7327
        * config/sparc/sol2.h (NO_IMPLICIT_EXTERN_C): Define.

From-SVN: r71005
2003-09-02 17:45:19 -04:00
Mark Mitchell
3281be05bc re PR c++/11847 (reference does not work as template argument any more)
PR c++/11847
	* pt.c (convert_nontype_argument): Correct representation of
	REFERENCE_TYPE expressions.

	PR c++/11847
	* g++.dg/template/class1.C: New test.

From-SVN: r71003
2003-09-02 20:54:07 +00:00
Jeff Sturm
6438456842 cgraphunit.c (record_call_1): Use walk_tree_without_duplicates.
* cgraphunit.c (record_call_1): Use walk_tree_without_duplicates.
(cgraph_optimize_function): Set current_function_decl to the
fndecl we're integrating from.

From-SVN: r71002
2003-09-02 19:03:49 +00:00
Phil Edwards
3660e02f0d acinclude.m4 (GLIBCXX_ENABLE_HOSTED): #define _GLIBCXX_HOSTED appropriately.
2003-09-02  Phil Edwards  <phil@codesourcery.com>

	* acinclude.m4 (GLIBCXX_ENABLE_HOSTED):  #define _GLIBCXX_HOSTED
	appropriately.
	* config.h.in:  Add _GLIBCXX_HOSTED.
	* libsupc++/eh_term_handler.cc:  Test it here; initialize
	__terminate_handler to std::abort if freestanding.
	* aclocal.m4, configure:  Regenerated.
	* docs/html/configopts.html:  Document --disable-hosted-libstdcxx.

From-SVN: r71001
2003-09-02 18:46:54 +00:00
Kaveh R. Ghazi
742c0a4ee1 builtins.def: Break out _Complex math functions into their own category.
* builtins.def: Break out _Complex math functions into their
	own category.

From-SVN: r71000
2003-09-02 18:45:45 +00:00
Mark Mitchell
6d80c4b9c8 re PR c++/11808 (Wrong namespace lookup for template function when induced by a template parameter)
PR c++/11808
	* cp-tree.h (KOENIG_LOOKUP_P): New macro.
	(finish_call_expr): Change prototype.
	* parser.c (cp_parser_postfix_expression): Adjust call to
	finish_call_expr.
	* pt.c (tsubst_copy_and_build): Use KOENIG_LOOKUP_P.
	* semantics.c (finish_call_expr): Add koenig_p parameter.

	PR c++/11808
	* g++.dg/expr/call1.C: New test.

From-SVN: r70998
2003-09-02 17:32:30 +00:00
Kaveh R. Ghazi
7a0f2d4eae configure.in: Ensure arguments to sed are properly spaced.
* configure.in: Ensure arguments to sed are properly spaced.
	* configure: Regenerate.

From-SVN: r70997
2003-09-02 13:39:29 +00:00
Andreas Jaeger
27f35b75fe * langhooks-def.h (LANG_HOOKS_RTL_EXPAND_STMT): Cast properly.
From-SVN: r70993
2003-09-02 10:56:05 +02:00
Josef Zlomek
441c9a1224 cfgbuild.c (compute_outgoing_frequencies): Use NOTE instead of finding the note again.
* cfgbuild.c (compute_outgoing_frequencies): Use NOTE instead of
	finding the note again.

From-SVN: r70992
2003-09-02 08:46:21 +00:00
Nathanael Nerode
b342207401 * config.gcc: Remove host-specific rewrites of target_alias.
From-SVN: r70991
2003-09-02 04:13:25 +00:00
Mark Mitchell
9b0f614586 * Makefile.in (genprogs): Fix typo.
From-SVN: r70989
2003-09-02 01:28:58 +00:00
GCC Administrator
a8c7ac9cd6 Daily bump.
From-SVN: r70987
2003-09-02 00:16:07 +00:00
Mark Mitchell
7e99327dbc re PR c++/12114 ([3.3.2] Uninitialized memory accessed in dtor)
PR c++/12114
	* g++.dg/init/ref9.C: New test.

	PR c++/11972
	* g++.dg/template/nested4.C: New test.

	PR c++/12114
	* cp-tree.h (initialize_reference): Change prototype.
	* call.c (initialize_reference): Add cleanup parameter.
	* decl.c (grok_reference_init): Likewise.
	(check_initializer): Likewise.
	(cp_finish_decl): Insert a CLEANUP_STMT if necessary.
	(duplicate_decls): When replacing an anticipated builtin, do not
	honor TREE_NOTHROW.
	* typeck.c (convert_for_initialization): Correct call to
	initialize_reference.

	PR c++/11972
	* pt.c (dependent_type_p_r): Pass only the innermost template
	arguments to any_dependent_template_arguments_p.

From-SVN: r70981
2003-09-01 19:18:03 +00:00
Mark Mitchell
4b09846bef Makefile.in (gencheck.o): Remove build commands.
* Makefile.in (gencheck.o): Remove build commands.
	(dummy-conditions.o): Likewise.
	(read-rtl.o): Likewise.
	(gensupport.o): Likewise.
	(genconfig$(build_exeext)): Remove rule.
	(genconfig.o): Remove build commands.
	(genflags$(build_exeext)): Remove rule.
	(genflags.o): Remove build commands.
	(gencodes$(build_exeext)): Remove rule.
	(gencodes.o): Remove build commands.
	(genconstants.o): Remove build commands.
	(genemit$(build_exeext)): Remove rule.
	(genemit.o): Remove build commands.
	(genrecog$(build_exeext)): Remove rule.
	(genrecog.o): Remove build commands.
	(genextract$(build_exeext)): Remove rule.
	(genextract.o): Remove build commands.
	(genpeep$(build_exeext)): Remove rule.
	(genpeep.o): Remove build commands.
	(genattr$(build_exeext)): Remove rule.
	(genattr.o): Remove build commands.
	(genprognames): New variable.
	(genprogs): Likewise.
	(genobjs): Likewise.
	(genprogs): New rule.
	(genobjs): Likewise.
	(genattrtab.o): Remove build commands.
	(genautomata.o): Likewise.
	(genoutput$(build_exeext)): Remove rule.
	(genoutput.o): Remove build commands.
	(gengenrtl.o): Likewise.
	(genpreds.o): Likewise.
	(gengtype.o): Likewise.
	(genconditions.o): Likewise.
	(gen-protos.o): Likewise.
	(scan.o): Likewise.
	(fix-header.o): Likewise.
	(scan-decls.o): Likewise.
	(check-g++): Combine with other check targets.
	(check-gcc): Likewise.
	(check-g77): Likewise.
	(check-objc): Likewise.

From-SVN: r70980
2003-09-01 18:56:28 +00:00
Nathanael Nerode
53b49acaa7 config.gcc: Remove host-specific stuff which is unused here since the introduction of...
* config.gcc: Remove host-specific stuff which is unused here
	since the introduction of config.host.

From-SVN: r70978
2003-09-01 17:58:18 +00:00
Nathanael Nerode
330532ab09 fragments.texi: Mention config.host.
* doc/fragments.texi: Mention config.host.
	* doc/sourcebuild.texi: Mention config.host.  Give brief descriptions
	of config.build, config.host, and config.gcc.

From-SVN: r70977
2003-09-01 17:47:21 +00:00
Zack Weinberg
130a1080ce c-decl.c (pushdecl): Don't put variables on C_TYPE_INCOMPLETE_VARS of a type unless...
* c-decl.c (pushdecl): Don't put variables on
	C_TYPE_INCOMPLETE_VARS of a type unless that type is itself
	incomplete.

From-SVN: r70976
2003-09-01 17:32:18 +00:00
Nathanael Nerode
a89ea0df26 config.host: New file.
* config.host: New file.
	* config.gcc: Remove some host-specific stuff and some
	logic needed only for repeated invocation.
	* configure.in: Use config.host.
	* configure: Regenerate.

From-SVN: r70975
2003-09-01 17:30:41 +00:00
Josef Zlomek
31934da71a c-typeck.c (build_binary_op): Kill BIT_ANDTC_EXPR.
* c-typeck.c (build_binary_op): Kill BIT_ANDTC_EXPR.
	* convert.c (convert_to_integer): Kill BIT_ANDTC_EXPR.
	* fold-const.c (int_const_binop): Kill BIT_ANDTC_EXPR.
	(fold): Kill BIT_ANDTC_EXPR and label bit_and.
	* tree.def (BIT_ANDTC_EXPR): Kill.

	* error.c (dump_expr): Kill BIT_ANDTC_EXPR.
	* lex.c (init_operators): Kill BIT_ANDTC_EXPR.
	* pt.c (tsubst_copy): Kill BIT_ANDTC_EXPR.
	* typeck.c (build_binary_op): Kill BIT_ANDTC_EXPR.
	(tsubst_copy_and_build): Kill BIT_ANDTC_EXPR.

	* com.c (ffecom_overlap_): Kill BIT_ANDTC_EXPR.
	(ffecom_tree_canonize_ref_): Kill BIT_ANDTC_EXPR.

From-SVN: r70972
2003-09-01 05:06:25 +00:00
GCC Administrator
754c707721 Daily bump.
From-SVN: r70970
2003-09-01 00:16:08 +00:00