Commit Graph

60670 Commits

Author SHA1 Message Date
Paolo Carlini a5fcc9c713 configure.ac: Specify version 1.8.5 in AM_INIT_AUTOMAKE.
2004-08-12  Paolo Carlini  <pcarlini@suse.de>

	* configure.ac: Specify version 1.8.5 in AM_INIT_AUTOMAKE.

From-SVN: r85911
2004-08-12 22:38:21 +00:00
Paolo Carlini 0a162bde46 re PR libstdc++/16956 ([3.4 only] std::stringbuf::seekoff return wrong position value)
2004-08-12  Paolo Carlini  <pcarlini@suse.de>

	PR libstdc++/16956
	* include/bits/sstream.tcc (basic_stringbuf<>::seekoff): Add __off
	to the returned value, reorganize a bit.
	* testsuite/27_io/basic_stringbuf/seekoff/char/16956.cc: New.
	* testsuite/27_io/basic_stringbuf/seekoff/wchar_t/16956.cc: New.

	* testsuite/27_io/basic_stringbuf/seekoff/char/1.cc: Remove junk.
	* testsuite/27_io/basic_stringbuf/seekoff/wchar_t/1.cc: Likewise.
	* testsuite/27_io/basic_stringbuf/seekpos/char/1.cc: Likewise.
	* testsuite/27_io/basic_stringbuf/seekpos/wchar_t/1.cc: Likewise.

From-SVN: r85910
2004-08-12 22:26:32 +00:00
Ulrich Weigand c5443745bd s390.h (MAX_FIXED_MODE_SIZE): Define.
* config/s390/s390.h (MAX_FIXED_MODE_SIZE): Define.
	(MOVE_MAX_PIECES): Define.

From-SVN: r85909
2004-08-12 21:37:31 +00:00
Devang Patel 8fa5469d38 dbxout.c (dbxout_begin_prologue): New function.
* dbxout.c (dbxout_begin_prologue): New function.
        (dbx_debug_hooks): Use new begin prologue hook.
        (dbxout_function_end): Emit N_ENSYM.
        * stab.def (N_BNSYM, N_ENSYM): Define and document these two new stabs.

        testsuite:
        gcc.dg/darwin-20040809-2.c: New test.

From-SVN: r85908
2004-08-12 14:32:56 -07:00
Janis Johnson 950a175b04 altivec-12.C: New test.
2004-08-12  Janis Johnson  <janis187@us.ibm.com>

	* g++.dg/ext/altivec-12.C: New test.

From-SVN: r85907
2004-08-12 21:28:12 +00:00
Janis Johnson e390eb0a14 altivec.h (vec_dst): Fix C++ functions whose first argument is float*.
2004-08-12  Janis Johnson  <janis187@us.ibm.com>

	* config/rs6000/altivec.h (vec_dst): Fix C++ functions whose first
	argument is float*.

From-SVN: r85906
2004-08-12 21:27:14 +00:00
Janis Johnson 174b1783d0 altivec-11.C: New test.
2004-08-12  Janis Johnson  <janis1872us.ibm.com>

	* g++.dg/ext/altivec-11.C: New test.

From-SVN: r85904
2004-08-12 21:25:44 +00:00
Janis Johnson e34b6648c8 rs6000.c (altivec_init_builtins): Fix argument type for vec_dss.
2004-08-12  Janis Johnson  <janis187@us.ibm.com>

	* config/rs6000/rs6000.c (altivec_init_builtins): Fix argument type
	for vec_dss.

From-SVN: r85903
2004-08-12 21:24:49 +00:00
Janis Johnson b0b343dbb3 extend.texi (AltiVec builtins): Fix description for recent changes.
2004-08-12  Janis Johnson  <janis187@us.ibm.com>

	* doc/extend.texi (AltiVec builtins): Fix description for recent
	changes.  Update operation list to match current support.

From-SVN: r85902
2004-08-12 21:19:08 +00:00
Bryce McKinlay aa7a966b44 This commit was generated by cvs2svn to compensate for changes in r85899,
which included commits to RCS files with non-trunk default branches.

From-SVN: r85900
2004-08-12 22:14:30 +01:00
Bryce McKinlay 5c4dc10837 Initial revision
From-SVN: r85897
2004-08-12 22:14:23 +01:00
Paul Brook 47bedfb079 cxxabi_tweaks.h: Define __cxa_vec_ctor_return and _GLIBCXX_CXA_VEC_CTOR_RETURN.
* config/cpu/arm/cxxabi_tweaks.h: Define __cxa_vec_ctor_return and
	_GLIBCXX_CXA_VEC_CTOR_RETURN.
	* config/cpu/generic/cxxabi_tweaks.h: Ditto.
	* libsupc++/cxxabi.h (__cxa_vec_ctor, __cxa_vec_cctor): Use
	__cxa_vec_ctor_return.
	* libsupc++/vec.cc (__cxa_vec_ctor, __cxa_vec_cctor): Ditto.
	Use _GLIBCXX_CXA_VEC_CTOR_RETURN.

	* g++.dg/abi/arm_cxa_vec_1.C: New test.

From-SVN: r85891
2004-08-12 18:50:38 +00:00
Janis Johnson 4951f98d31 altivec-2.C: Check for hardware support before executing any VMX instructions.
2004-08-12  Janis Johnson  <janis187@us.ibm.com>

	* g++.dg/ext/altivec-2.C: Check for hardware support before
	executing any VMX instructions.

From-SVN: r85890
2004-08-12 18:09:44 +00:00
Janis Johnson 300523852f ops-long-2.c: Add dg-error directives.
2004-08-12  Janis Johnson  <janis187@us.ibm.com>

	* gcc.dg/vmx/ops-long-2.c: Add dg-error directives.

From-SVN: r85889
2004-08-12 18:08:12 +00:00
Mark Mitchell 741d8ca376 Fix typo
From-SVN: r85887
2004-08-12 18:03:15 +00:00
Mark Mitchell f7a8132ae8 re PR c++/16273 (Memory exhausted when using nested classes and virtual functions)
PR c++/16273
	* class.c (count_depth_data): New type.
	(dfs_depth_post): New function.
	(dfs_depth_q): Likewise.
	(find_final_overrider_data_s): Change type of vpath.
	Add vpath_list.
	(dfs_find_final_overrider_1): New function.
	(dfs_find_final_overrider): Use it.
	(dfs_find_final_overrider_q): Adjust use of vpath.
	(dfs_find_final_overrider_post): Likewise.
	(find_final_overrider): Use dfs_depth.  Allocate and deallocate
	vpath_list.

From-SVN: r85886
2004-08-12 17:58:24 +00:00
Hans Boehm 28e99c6271 re PR libgcj/16662 (IllegalMonitorStateException in EventQueue.getNextEvent(): possible hash synchronization bug?)
PR libgcj/16662
	* java/lang/natObject.cc (LOCK_LOG, LOG): Add debug tracing.
	(Almost everywhere): add LOG calls, fix, add comments.
	(_Jv_MonitorEnter): Replace masking of LOCKED bit with assertion.
	Add explicit check for LOCKED bit in slow case (PR 16662).
	(_Jv_MonitorExit): Add casts in debug-only code.
	Always release LOCKED bit before throwing exception.
	(_Jv_ObjectCheckMonitor): Lock may be held if lightweight lock
	isn't.  Handle easy cases without lock acquisition.
	(Object::wait): Use NotifyAll for lock inflation.

From-SVN: r85884
2004-08-12 17:56:32 +00:00
Andreas Krebbel adf39f8f5f s390.c (struct s390_frame_layout): New struct as element of struct machine_function.
2004-08-12  Andreas Krebbel  <krebbel1@de.ibm.com>

	* config/s390/s390.c (struct s390_frame_layout): New struct as element
	of struct machine_function.
	(cfun->machine->frame_size): Moved into cfun->machine->frame_layout and
	changed all uses.
	(cfun->machine->save_fprs_p): Replaced by cfun_save_high_fprs and
	changed all uses.
	(cfun_frame_layout, cfun_save_high_fprs_p, cfun_gprs_save_area_size)
	(cfun_set_fpr_bit, cfun_fpr_bit_p): New macros.
	(s390_frame_area, s390_register_info): New functions.
	(s390_optimize_prolog): Renamed to s390_optimize_prologue.  Added check
	for base register.
	(s390_return_addr_rtx, s390_return_address_offset)
	(s390_va_start, s390_gimplify_va_arg)
	(s390_emit_prologue, s390_emit_epilogue): Adjusted for new stack
	layouts.
	(s390_frame_info): Functionality partly moved to s390_register_info.
	Made adaptions for new stack layout.
	(save_gprs, restore_gprs): Changed meaning of second parameter and
	adapted all callers.

	* config/s390/s390.h (s390_backchain_string): New global variable.
	(MASK_BACKCHAIN): Removed definition.
	(TARGET_BACKCHAIN): Changed check.
	(TARGET_KERNEL_BACKCHAIN): New macro.
	(TARGET_SWITCHES): Removed entries of "backchain" and "no-backchain".
	(TARGET_OPTIONS): Added "backchain", "no-backchain" and
	"kernel-backchain".
	(DYNAMIC_CHAIN_ADDRESS): Adjusted for new stack layouts.

	* config/s390/s390.md ("allocate_stack"): Added TARGET_KERNEL_BACKCHAIN
	as condition.  Adjusted for new stack layout.

	* doc/invoke.texi: Added documentation for new option
	"-mkernel-backchain" and adjusted documentation of "-mbackchain" and
	"-mno-backchain".

From-SVN: r85882
2004-08-12 17:40:02 +00:00
David Daney faa03cf1b4 Process_1.java: New test.
2004-08-03  David Daney  <ddaney@avtrex.com>

	* testsuite/libjava.lang/Process_1.java: New test.
	* testsuite/libjava.lang/Process_2.java: New test.
	* testsuite/libjava.lang/Process_3.java: New test.
	* testsuite/libjava.lang/Process_4.java: New test.
	* testsuite/libjava.lang/Process_5.java: New test.
	* testsuite/libjava.lang/Process_6.java: New test.
	* testsuite/libjava.lang/Process_1.out: Expected result.
	* testsuite/libjava.lang/Process_2.out: Expected result.
	* testsuite/libjava.lang/Process_3.out: Expected result.
	* testsuite/libjava.lang/Process_4.out: Expected result.
	* testsuite/libjava.lang/Process_5.out: Expected result.
	* testsuite/libjava.lang/Process_6.out: Expected result.

From-SVN: r85881
2004-08-12 16:24:56 +00:00
David Daney c58f29001d re PR libgcj/11801 (Problems with Process.waitFor() and exitValue())
2004-08-12  David Daney  <ddaney@avtrex.com>

	PR libgcj/11801
	* java/lang/PosixProcess.java: Rewrote.
	* java/lang/natPosixProcess.cc: Rewrote.
	* java/lang/Runtime.java (execInternal): Declare throws IOException.
	* gcj/javaprims.h (ConcreteProcess$ProcessManager): Declare.
	* posix-threads.cc (block_sigchld) New function.
	(_Jv_ThreadRegister) Use it.
	(_Jv_ThreadStart) Use it.
	* configure.in (PLATFORM_INNER_NAT_HDRS): New AC_SUBST() used in...
	* Makefile.am: ... to specify extra native headers.
	* configure: Regenerated.
	* include/config.h: Regenerated.
	* Makefile.in: Regenerated.
	* gcj/Makefile.in: Regenerated.
	* include/Makefile.in: Regenerated.
	* testsuite/Makefile.in: Regenerated.

From-SVN: r85880
2004-08-12 16:20:11 +00:00
Paul Brook db151e9d83 lib1funcs.asm (ARM_FUNC_ALIAS): Also alias _L__name.
* config/arm/lib1funcs.asm (ARM_FUNC_ALIAS): Also alias _L__name.
	(aeabi_uidivmod, aeabi_idivmod): Provide thumb implementation.

From-SVN: r85879
2004-08-12 16:14:52 +00:00
David Daney 02b7526217 gcj.texi: Add subsection on signal usage.
2004-08-12  David Daney  <ddaney@avtrex.com>

        * java/gcj.texi:  Add subsection on signal usage.

From-SVN: r85878
2004-08-12 16:10:52 +00:00
David Edelsohn f64d6991d4 expr.c (move_by_pieces): Set alignment for move to minimum of MOVE_MAX_PIECES mode alignment and the...
* expr.c (move_by_pieces): Set alignment for move to minimum of
        MOVE_MAX_PIECES mode alignment and the largest non-slow mode
        alignment, but not less than the original alignment.
        (move_by_pieces_ninsns): Same.
        (can_store_by_pieces): Similar for store with STORE_MAX_PIECES.
        (store_by_pieces_1): Same.

From-SVN: r85875
2004-08-12 11:05:38 -04:00
Diego Novillo c597ef4eab re PR tree-optimization/16867 (Inline array initializer miscompilation at -O)
PR tree-optimization/16867
	* tree.c (is_global_var): New function.
	(needs_to_live_in_memory): Check for TREE_ADDRESSABLE.
	Call is_global_var.
	* tree.h (DECL_NEEDS_TO_LIVE_IN_MEMORY_INTERNAL): Remove.
	Update all users.
	(is_global_var): Declare.
	* tree-dfa.c (dump_variable): Display global and addressable
	attributes.
	(add_referenced_var): Clarify documentation when marking
	variables call-clobbered.
	* tree-flow-inline.h (is_call_clobbered): Call is_global_var
	instead of needs_to_live_in_memory.
	(mark_call_clobbered): If the variable is a tag, mark it
	DECL_EXTERNAL.
	* tree-gimple.c (is_gimple_reg): Don't check for
	TREE_ADDRESSABLE.
	(is_gimple_non_addressable): Likewise.
	* tree-ssa-alias.c (get_nmt_for): Always check whether the tag
	needs to be marked call-clobbered.
	(setup_pointers_and_addressables): Call is_global_var instead
	of needs_to_live_in_memory.
	* tree-ssa-dce.c (need_to_preserve_store): Remove.
	Update all users with is_global_var.
	(mark_stmt_if_obviously_necessary): Fix processing of aliased
	stores.  Don't check the virtual definitions.  Rather, check
	whether the store is going into global memory.
	(find_obviously_necessary_stmts): Get the symbol from the PHI
	result.
	* tree-ssa-operands.c (get_call_expr_operands): Do not add
	clobbering may-defs if the call does not have side effects.


libjava/ChangeLog

	PR tree-optimization/16867
	* testsuite/libjava.lang/PR16867.java: New test.

From-SVN: r85874
2004-08-12 10:34:11 -04:00
Jakub Jelinek ab5c8549a4 re PR c++/16276 ([3.4 only] G++ generates local references to linkonce sections)
PR c++/16276
        * output.h (default_function_rodata_section,
	default_no_function_rodata_section): New prototypes.
	* target.h (struct gcc_target): Add asm_out.function_rodata_section.
	* target-def.h (TARGET_ASM_FUNCTION_RODATA_SECTION): Define.
	(TARGET_ASM_OUT): Add it.
        * varasm.c (default_function_rodata_section,
	default_no_function_rodata_section): New functions.
        * final.c (final_scan_insn): Call
	targetm.asm_out.function_rodata_section instead of
	readonly_data_section.
	* config/darwin.h (TARGET_ASM_FUNCTION_RODATA_SECTION): Define.
	* config/mcore/mcore.c (TARGET_ASM_FUNCTION_RODATA_SECTION): Likewise.
	* config/ip2k/ip2k.c (TARGET_ASM_FUNCTION_RODATA_SECTION): Likewise.
	* config/rs6000/xcoff.h (TARGET_ASM_FUNCTION_RODATA_SECTION):
	Likewise.
	* config/alpha/alpha.c (TARGET_ASM_FUNCTION_RODATA_SECTION): Likewise.
	* config/i386/cygming.h (TARGET_ASM_FUNCTION_RODATA_SECTION):
	Likewise.
	* config/i386/i386-interix.h (TARGET_ASM_FUNCTION_RODATA_SECTION):
	Likewise.
	* config/arm/pe.h (TARGET_ASM_FUNCTION_RODATA_SECTION): Likewise.
	* config/avr/avr.c (TARGET_ASM_FUNCTION_RODATA_SECTION): Likewise.
	* doc/tm.texi (TARGET_ASM_FUNCTION_RODATA_SECTION): Document.

        * g++.old-deja/g++.other/comdat4.C: New test.
        * g++.old-deja/g++.other/comdat4-aux.cc: New.

From-SVN: r85873
2004-08-12 15:57:04 +02:00
Paul Brook 5cf58f28c3 dwarf2out.h (dwarf2out_frame_finish): Conditionalize outputting eh frame info.
* dwarf2out.h (dwarf2out_frame_finish): Conditionalize outputting eh
	frame info.
	* doc/tm.texi: Document interaction between TARGET_UNWIND_INFO and
	DWARF2_UNWIND_INFO.

From-SVN: r85871
2004-08-12 13:45:44 +00:00
Kelley Cook db24c53d55 Makefile.in: Regenerate
2004-08-12  Kelley Cook  <kcook@gcc.gnu.org>

	* include/Makefile.in: Regenerate

From-SVN: r85870
2004-08-12 12:13:14 +00:00
Kelley Cook 7eaf73d757 Makefile.in, [...]: Regenerate
2004-08-12  Kelley Cook  <kcook@gcc.gnu.org>

	* Makefile.in, aclocal.m4, configure, include/Makefile.in,
	libmath/Makefile.in, libsupc++/Makefile.in, po/Makefile.in,
	src/Makefile.in, testsuite/Makefile.in: Regenerate

From-SVN: r85869
2004-08-12 11:54:13 +00:00
Ben Elliston 87e184d1c3 Patch for PR target/16286
2004-08-12  Ben Elliston  <bje@au.ibm.com>

	* config/rs6000/altivec.h: Change vector to __vector throughout.
	(Except for the `vector' macro itself).

[testsuite]
2004-08-12  Ben Elliston  <bje@au.ibm.com>

	* gcc.dg/pr16286.c: New test.

From-SVN: r85868
2004-08-12 21:02:38 +10:00
Jan Beulich 03a2b8100f 2004-08-12 Jan Beulich <jbeulich@novell.com>
* config/locale/generic/ctype_members.cc
	(ctype<wchar_t>::_M_convert_to_wmask): Default case must not use 0 as
	initializer for return value, as that is invalid for enumerated	types.
	* config/locale/gnu/ctype_members.cc
	(ctype<wchar_t>::_M_convert_to_wmask): Likewise.

From-SVN: r85862
2004-08-12 09:46:39 +00:00
Jan Beulich e85a53178e *** empty log message ***
From-SVN: r85861
2004-08-12 09:39:59 +00:00
Jan Beulich bf5930d497 parser.c (cp_parser_asm_definition): Properly consume scope operator tokens preceding the clobbers.
cp/
2004-08-12 Jan Beulich <jbeulich@novell.com>

	* parser.c (cp_parser_asm_definition): Properly consume scope operator
	tokens preceding the clobbers. Don't check for scope operator
	following inputs. Simplify inputs handling to match that now used for
	clobbers.

testsuite/
2004-08-12 Jan Beulich <jbeulich@novell.com>

	* g++.dg/ext/asm5.C: New.

From-SVN: r85860
2004-08-12 09:34:16 +00:00
Zack Weinberg e543e219eb genpreds.c: Add capability to generate predicate bodies as well as function prototypes.
* genpreds.c: Add capability to generate predicate bodies as
	well as function prototypes.  Write function prototypes for
	the generic predicates too.
	(process_define_predicate, write_tm_preds_h, write_insn_preds_c)
	(write_predicate_subfunction, mark_mode_tests, add_mode_tests)
	(write_match_code, write_predicate_expr, write_one_predicate_function)
	(parse_option): New functions.
	(output_predicate_decls): Delete.
	(main): Read the machine description, process DEFINE_PREDICATE or
	DEFINE_SPECIAL_PREDICATE patterns, write tm-preds.h or insn-preds.c
	as appropriate.

	* genrecog.c (struct decision_test): Replace index with
	struct pred_data pointer.
	(next_index): Remove, unused.
	(pred_table, preds, special_mode_pred_table): Delete.
	(compute_predicate_codes, process_define_predicate): New functions.
	(validate_pattern, add_to_sequence, write_switch): Update for
	new data structures.
	(main): Handle DEFINE_PREDICATE and DEFINE_SPECIAL_PREDICATE.
	Check both error_count and have_error.

	* gensupport.c (in_fname, first_predicate): New globals.
	(define_pred_queue, define_pred_tail): New RTL-pattern queue.
	(predicate_table, last_predicate, old_pred_table)
	(old_special_pred_table): New statics.
	(hash_struct_pred_data, eq_struct_pred_data, lookup_predicate)
	(add_predicate, init_predicate_table): New functions.
	(process_rtx): Handle DEFINE_PREDICATE and DEFINE_SPECIAL_PREDICATE.
	(init_md_reader_args_cb): Use the global in_fname.  No need to zero
	it or max_include_len.  Call init_predicate_table.
	(read_rtx): Run the predicate queue after the attribute queue
	but before all the others.
	* gensupport.h (in_fname, struct pred_data, first_predicate)
	(lookup_predicate, add_predicate, FOR_ALL_PREDICATES): Declare.
	* rtl.def (MATCH_CODE, MATCH_TEST, DEFINE_PREDICATE)
	(DEFINE_SPECIAL_PREDICATE): New RTL codes.
	* dummy-conditions.c: Don't include bconfig.h, system.h,
	coretypes.h, tm.h, or system.h.  Do include stddef.h.
	Duplicate declaration of struct c_test from gensupport.h.

	* Makefile.in (OBJS-common): Add insn-preds.o.
	(STAGESTUFF, .PRECIOUS): Add insn-preds.c.
	(insn-preds.c, insn-preds.o): New rules.
	(s-preds): Also generate insn-preds.c.
	(dummy-conditions.o, genpreds$(build_exeext), genpreds.o):
	Update dependencies.
	(print-rtl.o, print-rtl1.o): Correct dependencies.

	* recog.h: Delete prototypes of predicate functions.

	* doc/md.texi (Predicates): New section with complete
	documentation of operand/operator predicates.  Remove some
	incomplete documentation of predicates from other places.
	* doc/tm.texi (Misc): Move SPECIAL_MODE_PREDICATES next to
	PREDICATE_CODES; indicate that both are deprecated in favor
	of define_predicate/define_special_predicate.

	* config/ia64/ia64.c: All predicate function definitions moved
	to ia64.md, except
	(small_addr_symbolic_operand, tls_symbolic_operand): Delete.
	(ia64_expand_load_address, ia64_expand_move):
	Check SYMBOL_REF_TLS_MODEL directly, don't use tls_symbolic_operand.

	* config/ia64/ia64.md: All predicates now defined here.
	(symbolic_operand): Is now a special predicate.

	* config/ia64/ia64.h: Declare ia64_section_threshold.
	(PREDICATE_CODES): Delete.

From-SVN: r85855
2004-08-12 07:49:00 +00:00
Per Bothner b4d49f49bf javaprims.h (_Jv_Utf8Const): Change struct to a class, with private fields and access methods.
* gcj/javaprims.h (_Jv_Utf8Const): Change struct to a class,
	with private fields and access methods.
	(_Jv_NewStringUTF, _Jv_hashUtf8String): New function declarations.
	* gcj/cni.h (_Jv_NewStringUTF): Move to javaprims.h.
	* prims.cc (_Jv_Utf8COnst::init): New method implementation.
	( _Jv_makeUtf8Const): Rewrite using new constructors.
	(hashUtf8String): Rename to +_Jv_hashUtf8String and make non-static.
	* defineclass.cc: Use new _Utf8Const access/convenience methods.
	* jni.cc: Likewise.
	* resolve.cc: Likewise.
	* gcj/field.h: Likewise.
	* include/jvm.h: Likewise.
	* java/lang/Class.h: Likewise.
	* java/lang/natClass.cc: Likwise.
	* java/lang/natClassLoader.cc: Likewise
	* java/lang/reflect/natMethod.cc: Likewise
	* verify.cc: Likewise.
	(_Jv_BytecodeVerifier::make_utf8_const):  Optimize.
	(~_Jv_BytecodeVerifier):  Don't need second _Jv_Free call.

From-SVN: r85854
2004-08-11 23:53:42 -07:00
Mark Mitchell fbac6f3cf5 re PR c++/16698 (ICE with exceptions and declaration of __cxa_throw)
PR c++/16698
	* except.c (build_throw): Allocate cleanup_type and the function
	for __cxa_throw separately.

	PR c++/16698
	* g++.dg/eh/crash1.C: New test.

From-SVN: r85850
2004-08-12 05:17:42 +00:00
Richard Henderson 174283a3c2 c-common.h (STATEMENT_LIST_HAS_LABEL): New.
* c-common.h (STATEMENT_LIST_HAS_LABEL): New.
        * c-semantics.c (add_stmt): Set it.
        * c-decl.c (finish_decl): Use it to create a new BIND_EXPR
        before instantiating a variable sized type.

From-SVN: r85849
2004-08-11 21:09:57 -07:00
Richard Henderson 159319544b stor-layout.c (round_up, round_down): Move ...
* stor-layout.c (round_up, round_down): Move ...
        * fold-const.c (round_up, round_down): ... here.  Use
        multiple_of_p to avoid any arithmetic at all.

From-SVN: r85848
2004-08-11 21:01:04 -07:00
Richard Henderson 57d1dd8704 gimplify.c (struct gimplify_init_ctor_preeval_data): New.
* gimplify.c (struct gimplify_init_ctor_preeval_data): New.
        (gimplify_init_ctor_preeval_1): New.
        (gimplify_init_ctor_preeval): New.
        (gimplify_init_ctor_eval): New.
        (gimplify_init_constructor): Use them.  Always gimplify the LHS
        object first.

From-SVN: r85845
2004-08-11 20:54:11 -07:00
Mark Mitchell 6e40af1ab0 re PR c++/16717 ([unit-at-a-time] __attribute__((constructor)) broken in C++)
PR c++/16717
	* g++.dg/ext/construct1.C: New test.

From-SVN: r85844
2004-08-12 02:51:31 +00:00
Ziemowit Laski 46e34f968d (This patch is part of merge of objc-improvements-branch into mainline.)
[gcc/ChangeLog]
2004-08-12  Ziemowit Laski  <zlaski@apple.com>

        (This patch is part of merge of objc-improvements-branch
        into mainline.)

        * doc/frontends.texi: Mention Objective-C++ in addition to
        Objective-C.
        * doc/install.texi: Add 'obj-c++' to list of configurable
        languages.
        * doc/invoke.texi: Rename Objective-C option headings to
        indicate they also apply to Objective-C++.  List file
        extensions for Objective-C++ sources.  Mention that
        ObjC and ObjC++ compilations may also use C and C++ options,
        respectively.  Point users to doc/standards.texi for
        further info on ObjC and ObjC++.
        * doc/sourcebuild.texi: Mention the objcp/ directory and
        the Objective-C++ sources it contains.
        * doc/standards.texi: Update link to Apple ObjC site;
        add link to gcc readings.html WWW doc.

From-SVN: r85842
2004-08-12 01:53:01 +00:00
Mark Mitchell 539599c198 re PR c++/16853 (pointer-to-member initialization from incompatible one accepted)
PR c++/16853
	* call.c (standard_conversion): Do not accept conversions between
	pointers to members if the class types are unrelated.

	PR c++/16618
	* parser.c (cp_parser_builtin_offsetof): Cast to "const volatile
	char &" instead of just "char &".

	PR c++/16870
	* pt.c (tsubst): Just return the unknown_type_node.

	PR c++/16853
	* g++.dg/init/ptrmem1.C: New test.

	PR c++/16618
	* g++.dg/parse/offsetof5.C: New test.

	PR c++/16870
	* g++.dg/template/overload3.C: New test.

From-SVN: r85840
2004-08-12 00:43:47 +00:00
GCC Administrator eb3643d800 Daily bump.
From-SVN: r85836
2004-08-12 00:16:15 +00:00
Giovanni Bajo 4ab2db93f7 Fix comment typo
From-SVN: r85830
2004-08-11 23:19:10 +00:00
Alan Modra 07f12d8b45 rs6000.c (function_arg_padding): Revert 2004-07-28 and 2004-07-14 changes.
* config/rs6000/rs6000.c (function_arg_padding): Revert 2004-07-28
	and 2004-07-14 changes.

From-SVN: r85829
2004-08-12 08:48:21 +09:30
Paul Brook 89aa5a2066 * doc/invoke.texi: Fix typo.
From-SVN: r85828
2004-08-11 23:05:24 +00:00
Mark Mitchell 2436b51feb re PR c++/16964 (ICE in cp_parser_class_specifier due to redefinition)
PR c++/16964
	* parser.c (cp_parser_class_specifier): Robustify.

	PR c++/16904
	* pt.c (tsubst_copy_and_build): Complain about invalid
	qualification.

	PR c++/16929
	* pt.c (tsubst_default_argument): Clear out current_class_ptr and
	current_class_ref while tsubsting.

	PR c++/16964
	* g++.dg/parse/error16.C: New test.

	PR c++/16904
	* g++.dg/template/error14.C: New test.

	PR c++/16929
	* g++.dg/template/error15.C: New test.

From-SVN: r85824
2004-08-11 22:13:32 +00:00
Devang Patel 5079843a20 darwin.h (TARGET_OPTION_TRANSLATE_TABLE): Add -dead_strip and -no_dead_strip_inits_and_terms.
* config/darwin.h (TARGET_OPTION_TRANSLATE_TABLE): Add -dead_strip
       and -no_dead_strip_inits_and_terms.
       (LINK_SPEC): Same.
       * doc/invoke.texi (Darwin Options): Document -dead_strip and
       -no_dead_strip_inits_and_terms.

       * gcc.dg/darwin-ld-20040809-1.c: New test.
       * gcc.dg/darwin-ld-20040809-2.c: New test.

From-SVN: r85822
2004-08-11 14:26:12 -07:00
Paul Brook 876f13b0be * config/arm/arm-protos.h (arm_finalize_pic) Rename ...
(arm_load_pic_register): ... to this.
	* config/arm/arm.c (arm_finalize_pic): Rename ...
	(arm_load_pic_register): ... to this.  Always output insns at the
	current location.  Load via low reg in thumb mode.
	(arm_expand_prologue): Call arm_load_pic_register.
	(thumb_expand_prologue): Ditto.
	* config/arm/arm.h (FINALIZE_PIC): Remove.
	* config/arm/arm.md (builtin_setjmp_receiver): Call
	arm_load_pic_register.

From-SVN: r85820
2004-08-11 21:02:47 +00:00
Paul Brook 57934c3979 arm.c (thumb_force_lr_save): Add prototype.
* arm.c (thumb_force_lr_save): Add prototype.
	(thumb_compute_save_reg_mask): New function.
	(thumb_find_work_register): New function.
	(arm_get_frame_offsets): Use thumb_compute_save_reg_mask.
	(thumb_unexpanded_epilogue): Ditto.  Remove redundant code.
	Don't clobber r3 when removing pretend args.
	(thumb_expand_prologue): Use thumb_compute_save_reg_mask.
	(thumb_output_function_prologue): Use new functions.
	(thumb_set_return_address): Use thumb_compute_save_reg_mask.
	* arm.h (THUMB_REG_PUSHED_P): Remove.

From-SVN: r85818
2004-08-11 20:59:15 +00:00
James E Wilson af87423702 Fix -fprofile-use ICE.
PR rtl-optimization/16490
* cfgrtl.c (cfg_layout_split_edge): Set global_live_at_start and
global_live_at_end for new basic block if already set for other blocks.

From-SVN: r85813
2004-08-11 13:08:00 -07:00