Commit Graph

83100 Commits

Author SHA1 Message Date
Jason Merrill
6f06d231a0 re PR c++/15097 (code generator problem with ::delete and multiple inheritance and virtual deconstructs)
PR c++/15097
        * init.c (build_delete): Use build_headof to get the address of the
        complete object if we aren't using the deleting destructor.
        * rtti.c (build_headof): No longer static.
        * cp-tree.h: Declare it.

From-SVN: r128172
2007-09-05 21:24:59 -04:00
Jerry DeLisle
db44b39f4f re PR libfortran/33253 (namelist: reading back a string with apostrophe)
2007-09-06  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR libfortran/33253
	* gfortran.dg/namelist_38.f90: Update test for DELIM= .

From-SVN: r128171
2007-09-06 01:24:17 +00:00
Jerry DeLisle
0be72e3a5e re PR libfortran/33253 (namelist: reading back a string with apostrophe)
2007-09-05  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR libfortran/33253
	* io/write.c (nml_write_obj): Set the delimiter correctly before calling
	write_character. (namelist_write): Clean up the code a little and add
	comments to clarify what its doing.

From-SVN: r128170
2007-09-06 01:20:02 +00:00
Jesper Nilsson
221818503d builtin_ctz_v3.c: New testcase.
* gcc.target/cris/builtin_ctz_v3.c: New testcase.
	* gcc.target/cris/builtin_ctz_v8.c: New testcase.

From-SVN: r128168
2007-09-06 00:17:15 +00:00
GCC Administrator
63d7383b96 Daily bump.
From-SVN: r128167
2007-09-06 00:16:59 +00:00
Jesper Nilsson
9ef4a0cd83 cris: longlong.h (count_trailing_zeros): Defined.
* longlong.h [__CRIS_arch_version >= 8] (count_trailing_zeros):
	Defined.
	* config/cris/cris.md (ctzsi2, cris_swap_bits): Implemented.
	* config/cris/cris.h (CTZ_DEFINED_VALUE_AT_ZERO): Defined.

From-SVN: r128165
2007-09-06 00:16:43 +00:00
Jie Zhang
cfb6473a78 config.gcc (tm_file): Add linux.h for bfin*-uclinux*.
* config.gcc (tm_file): Add linux.h for bfin*-uclinux*.
	(tm_defines): Define UCLIBC_DEFAULT to 1.
	(extra_options): Add linux.opt.
	* config/bfin/linux.h (CPLUSPLUS_CPP_SPEC): Don't define.
	(CRT_CALL_STATIC_FUNCTION): Likewise.
	(NO_IMPLICIT_EXTERN_C): Likewise.
	(TARGET_OS_CPP_BUILTINS): Define as LINUX_TARGET_OS_CPP_BUILTINS.
	* config/bfin/elf.h (OBJECT_FORMAT_ELF): Don't define.
	* config/bfin/uclinux.h (CPLUSPLUS_CPP_SPEC): Don't define.
	(ENDFILE_SPEC): Don't define.
	(LIB_SPEC): Likewise.
	(CRT_CALL_STATIC_FUNCTION): Likewise.
	(NO_IMPLICIT_EXTERN_C): Likewise.
	(LINUX_TARGET_OS_CPP_BUILTINS): Likewise.
	(TARGET_OS_CPP_BUILTINS): Define as LINUX_TARGET_OS_CPP_BUILTINS.

From-SVN: r128163
2007-09-06 00:09:05 +00:00
Jan Hubicka
37dc4ed1f0 i386.c (ix86_expand_lround, [...]): Update call of real_2expN.
* i386.c (ix86_expand_lround, ix86_expand_round): Update call of
	real_2expN.

From-SVN: r128162
2007-09-06 00:04:31 +00:00
Jan Hubicka
6b956c95fd opts.c (common_handle_option): Enable inlining functions for -fprofile-generate.
* opts.c (common_handle_option): Enable inlining functions for
	-fprofile-generate.

From-SVN: r128161
2007-09-05 23:38:34 +00:00
Jakub Jelinek
012c4da9f1 re PR c++/33289 (__sprintf_chk etc. not DECL_ANTICIPATED)
PR c++/33289
	* decl.c (builtin_function_1): Set DECL_ANTICIPATED also
	on __*_chk non-__builtin_* decls.

	* g++.dg/eh/builtin4.C: New test.

From-SVN: r128160
2007-09-06 01:27:17 +02:00
Jakub Jelinek
62bedd31ed decl.c (duplicate_decls): Set TREE_NOTHROW on __builtin_XX decl if a prototype for XX is provided with...
* decl.c (duplicate_decls): Set TREE_NOTHROW on __builtin_XX
	decl if a prototype for XX is provided with throw().

	* g++.dg/eh/builtin1.C: New test.
	* g++.dg/eh/builtin2.C: New test.
	* g++.dg/eh/builtin3.C: New test.

From-SVN: r128159
2007-09-06 01:25:07 +02:00
Jakub Jelinek
b1e3f20e51 builtin-attrs.def (ATTR_NONNULL_3): New.
* builtin-attrs.def (ATTR_NONNULL_3): New.
	(DEF_FORMAT_ATTRIBUTE): Use just ATTR_NONNULL_##FA instead of
	ATTR_NOTHROW_NONNULL_##FA.
	(DEF_FORMAT_ATTRIBUTE_NOTHROW, DEF_FORMAT_ATTRIBUTE_BOTH): New macros.
	(ATTR_FORMAT_PRINTF_NOTHROW_2_0, ATTR_PRINTF_NOTHROW_2_3,
	ATTR_FORMAT_PRINTF_NOTHROW_3_0, ATTR_FORMAT_PRINTF_NOTHROW_3_4,
	ATTR_FORMAT_PRINTF_NOTHROW_4_0, ATTR_PRINTF_NOTHROW_4_5,
	ATTR_FORMAT_PRINTF_NOTHROW_5_0, ATTR_FORMAT_PRINTF_NOTHROW_5_6,
	ATTR_FORMAT_SCANF_NOTHROW_2_0, ATTR_FORMAT_SCANF_NOTHROW_2_3,
	ATTR_FORMAT_STRFTIME_NOTHROW_3_0, ATTR_FORMAT_STRFMON_NOTHROW_3_4):
	New.
	(ATTR_FORMAT_PRINTF_4_0, ATTR_PRINTF_4_5, ATTR_FORMAT_PRINTF_5_0,
	ATTR_FORMAT_PRINTF_5_6, ATTR_FORMAT_STRFTIME_3_0,
	ATTR_FORMAT_NOTHROW_3_4): Remove.
	* builtins.def (snprintf, sprintf, sscanf, vsnprintf, vsprintf,
	vsscanf, strfmon, strftime, __snprintf_chk, __sprintf_chk,
	__vsnprintf_chk, __vsprintf_chk): Use ATTR_FORMAT_*_NOTHROW_*
	instead of ATTR_FORMAT_*_*.

From-SVN: r128158
2007-09-06 01:22:51 +02:00
Hans-Peter Nilsson
dfc0fb23ed cris.c (cris_emit_movem_store): Call copy_rtx on parts re-used for REG_FRAME_RELATED_EXPR.
* config/cris/cris.c (cris_emit_movem_store): Call copy_rtx on
	parts re-used for REG_FRAME_RELATED_EXPR.

From-SVN: r128157
2007-09-05 23:17:50 +00:00
Janis Johnson
be677dc12a optabs.c (expand_float): Convert unsigned integer as signed only if it provides sufficient accuracy...
gcc/
	* optabs.c (expand_float): Convert unsigned integer as signed only
	if it provides sufficient accuracy; add mode argument to real_2expN.
	(expand_fix): Fix comment typos; extend binary float into mode
	wider than destination for converion to unsigned integer; add mode
	argument to real_2expN.
	* real.c (real_2expN): Add mode argument to special-case decimal
	float values.
	* real.h (real_2expN): Ditto.
	* fixed-value.c (check_real_for_fixed_mode): Add mode argument to
	real_2expN.
	(fixed_from_string): Ditto.
	(fixed_to_decimal): Ditto.
	(fixed_convert_from_real): Ditto.
	(real_convert_from_fixed): Ditto.
	* config/rs6000/rs6000.md (FP): Include DD and TD modes.
	* config/rs6000/dfp.md (extendddtd2, adddd3, addtd3, subdd3, subtd3,
	muldd3, multd3, divdd3, divtd3, cmpdd_internal1, cmptd_internal1,
	floatditd2, ftruncdd2, fixdddi2, ftrunctd2, fixddi2): New.

gcc/testsuite/
	* gcc.target/powerpc/dfp-dd.c: New test.
	* gcc.target/powerpc/dfp-td.c: New test.

From-SVN: r128156
2007-09-05 22:16:33 +00:00
Roger Sayle
7336815f6f acinclude.m4 (GLIBCXX_CHECK_SYSTEM_ERROR): Add EBADMSG for darwin.
* acinclude.m4 (GLIBCXX_CHECK_SYSTEM_ERROR): Add EBADMSG for darwin.
	* configure: Regenerate.
	* include/std/system_error: Guard.
	* testsuite/19_diagnostics/headers/system_error/
	types_std_c++0x.cc: Same.
	* testsuite/19_diagnostics/error_category/cons/copy_neg.cc: Adjust
	line numbers.

From-SVN: r128154
2007-09-05 21:30:04 +00:00
Ian Lance Taylor
e2d3b29484 init-regs.c (initialize_uninitialized_regs): Call emit_insn_before rather than add_insn_before.
* init-regs.c (initialize_uninitialized_regs): Call
	emit_insn_before rather than add_insn_before.

From-SVN: r128152
2007-09-05 20:55:03 +00:00
Jakub Jelinek
f86bfcab9b Move ChangeLog entry to correct ChangeLog file.
From-SVN: r128151
2007-09-05 22:47:48 +02:00
Jakub Jelinek
6ef5231bdf builtins.def (BUILT_IN_VA_ARG_PACK): New built-in.
* builtins.def (BUILT_IN_VA_ARG_PACK): New built-in.
	* tree.h (CALL_EXPR_VA_ARG_PACK): Define.
	* tree-inline.h (copy_body_data): Add call_expr field.
	* tree-inline.c (expand_call_inline): Initialize call_expr.
	(copy_bb): Append anonymous inline fn arguments to arguments
	when inlining a CALL_EXPR_VA_ARG_PACK call.
	* builtins.c (expand_builtin): Issue an error if
	BUILT_IN_VA_ARG_PACK is seen during expand.
	(fold_call_expr, fold_builtin_call_array): Don't fold
	CALL_EXPR_VA_ARG_PACK CALL_EXPRs or calls with
	__builtin_va_arg_pack () call as last argument.
	* gimplify.c (gimplify_call_expr): If last argument to a vararg
	function is __builtin_va_arg_pack (), decrease number of call
	arguments and instead set CALL_EXPR_VA_ARG_PACK on the CALL_EXPR.
	* expr.c (expand_expr_real_1): Issue an error if
	CALL_EXPR_VA_ARG_PACK CALL_EXPR is seen during expand.
	* tree-pretty-print.c (dump_generic_node): Handle printing
	CALL_EXPR_VA_ARG_PACK bit on CALL_EXPRs.
	* doc/extend.texi (__builtin_va_arg_pack): Document.

	* gcc.c-torture/execute/va-arg-pack-1.c: New test.
	* gcc.dg/va-arg-pack-1.c: New test.

From-SVN: r128150
2007-09-05 22:45:27 +02:00
Samuel Thibault
e050d7958c configure.host (gnu*): Set use_libgcj_bc to yes.
2007-09-05  Samuel Thibault  <samuel.thibault@ens-lyon.org>

        * configure.host(gnu*): Set use_libgcj_bc to yes.

From-SVN: r128149
2007-09-05 20:01:54 +00:00
Adam Nemet
f210ecfb2f builtin-expect-1.c: New test.
* gcc.dg/tree-ssa/builtin-expect-1.c: New test.
	* gcc.dg/tree-ssa/builtin-expect-2.c: New test.
	* gcc.dg/tree-ssa/builtin-expect-3.c: New test.
	* gcc.dg/tree-ssa/builtin-expect-4.c: New test.
	* gcc.dg/tree-ssa/builtin-expect-5.c: New test.

From-SVN: r128148
2007-09-05 19:56:39 +00:00
Adam Nemet
419ce10307 re PR tree-optimization/21513 (__builtin_expect getting in the way of uninitialized warnings)
PR tree-optimization/21513
	* builtins.c (build_builtin_expect_predicate): New function.
	(fold_builtin_expect): Add argument for expected value.
	Distribute __builtin_expect over short-circuiting operations.
	Fold nested builtin_expects.
	(fold_builtin_2): Adjust call to fold_builtin_expect.

From-SVN: r128147
2007-09-05 19:54:29 +00:00
Rask Ingemann Lambertsen
e3d66ec31e re PR web/32965 (missing documentation for -ftree-dse)
PR web/32965
	PR tree-optimization/13756
	* doc/invoke.texi (Options That Control Optimization): Document
	-ftree-dse.

From-SVN: r128146
2007-09-05 19:47:56 +00:00
Paolo Carlini
61fdc9d746 re PR c++/30302 (ICE with invalid member in anonymous struct)
/cp
2007-09-03  Paolo Carlini  <pcarlini@suse.de>

	PR c++/30302
	* semantics.c (finish_id_expression): Check that path != NULL_TREE
	before using TYPE_BINFO on it.
	* class.c (finish_struct_anon): Deal correctly with anonymous
	structs (vs unions, as GNU extension) in error messages.

/testsuite
2007-09-03  Paolo Carlini  <pcarlini@suse.de>

	PR c++/30302
	* g++.dg/ext/anon-struct5.C: New.

From-SVN: r128145
2007-09-05 19:10:48 +00:00
Jason Merrill
13678df87b fix changelog entry
From-SVN: r128144
2007-09-05 14:56:55 -04:00
Pat Haugen
3951e521b5 MAINTAINERS (Write After Approval): Add myself.
2007-09-05  Pat Haugen  <pthaugen@us.ibm.com>

        * MAINTAINERS (Write After Approval): Add myself.

From-SVN: r128143
2007-09-05 18:33:58 +00:00
Uros Bizjak
b3172cabd2 cpuid.h: New file.
* gcc/config/i386/cpuid.h: New file.
	* gcc/config/i386/driver-i386.c: Include cpuid.h.
	(describe_cache): Shrink size and line strings to 100 bytes.
	(detect_caches_amd): Return "" for unsupported max_ext_level.
	Use __cpuid function.
	(detect_caches_intel): Return "" for unsupported max_level.
	Use __cpuid function.
	(host_detect_local_cpu): Change feature flag variables to
	unsigned int.  Initialize only extended feature flag variables.
	Use __get_cpuid_max to determine max supported cpuid level.
	Use __cpuid function to determine supported features.  Fix
	calculation of family id.  Remove is_amd and check signature
	directly.  Check for Geode signature.  Handle family 4 id.
	[PROCESSOR_GENERIC32]: New default for unknown family id. Move
	cpu discovery code to other part of the function.
	[PROCESSOR_PENTIUM, PROCESSOR_K6, PROCESSOR_ATHLON]: Do not tune
	for sub-architecture.
	[PROCESSOR_PENTIUMPRO]: Simplify cpu discovery code.
	[PROCESSOR_K8]: Add k8-sse3 architecture.
	[PROCESSOR_GENERIC64]: Remove.
	* gcc/config/i386/x-i386 (driver-i386.o): Depend on cpuid.h.
	* gcc/config/i386/crtfastmath.c: Include cpuid.h.  Use __get_cpuid
	to check for SSE and FXSAVE support.
	* gcc/config/i386/t-crtfm (crtfastmath.o): Depend on cpuid.h.
	Add -minline-all-stringops.
	* gcc/config.gcc (i[34567]86-*-*): Add cpuid.h to extra_headers.
	(x86_64-*-*): Ditto.

testsuite/ChangeLog:

	* gcc.dg/i386-cpuid.h: Remove.
	* gcc.target/i386/mmx-check.h: Include cpuid.h.  Use __get_cpuid.
	* gcc.target/i386/sse-check.h: Ditto.
	* gcc.target/i386/sse2-check.h: Ditto.
	* gcc.target/i386/sse3-check.h: Ditto.
	* gcc.target/i386/ssse3-check.h: Ditto.
	* gcc.target/i386/sse4_1-check.h: Ditto.
	* gcc.target/i386/sse4_2-check.h: Ditto.
	* gcc.target/i386/sse4a-check.h: Ditto.
	* gcc.dg/torture/pr16104-1.c: Ditto.
	* gcc.target/i386/mmx-4.c: Do not use NOINLINE.
	* gcc.target/i386/sse-6.c: Ditto.
	* gcc.target/i386/sse-7.c: Ditto.
	* g++.dg/other/i386-1.C: Include cpuid.h.
	(main): New function.  Use __get_cpuid to check target fetaures.

libgomp/ChangeLog:

	* testsuite/libgomp.c/atomic-1.c: Include cpuid.h for i386 targets.
	(main): Use __get_cpuid to get i386 target fetaures.
	* testsuite/libgomp.c/atomic-2.c: Include cpuid.h for x86_64 targets.
	(main): Use __get_cpuid to get x86_64 target fetaures.

From-SVN: r128141
2007-09-05 19:43:01 +02:00
Jie Zhang
57df7359df linux-unwind.h: New file.
* config/bfin/linux-unwind.h: New file.
	* config/bfin/linux.h (MD_UNWIND_SUPPORT): Define.
	* config/bfin/uclinux.h (MD_UNWIND_SUPPORT): Define.

From-SVN: r128140
2007-09-05 16:23:42 +00:00
Laurynas Biveinis
6ac1b3a475 Makefile.in (stmt.o): Add alloc-pool.h dependency.
2007-09-05  Laurynas Biveinis  <laurynas.biveinis@gmail.com>

	* Makefile.in (stmt.o): Add alloc-pool.h dependency.
	* stmt.c: Include alloc-pool.h.
	(struct case_node): Remove GTY marker.
	(add_case_node): New parameter case_node_pool.  Use it for
	allocation of r.
	(expand_case): New allocation pool case_node_pool.  Initialize it,
	pass to add_case_node and free it.

From-SVN: r128139
2007-09-05 15:50:41 +00:00
Paul Thomas
5783dbc412 char_length_10.f90: Correct typo.
2007-09-05  Paul Thomas  <pault@gcc.gnu.org>

	* gfortran.dg/char_length_10.f90: Correct typo.

From-SVN: r128136
2007-09-05 14:59:03 +00:00
Sandra Loosemore
1333282db7 mipscop-1.c: Add nomips16 attributes.
2007-09-05  Sandra Loosemore  <sandra@codesourcery.com>
	    David Ung  <davidu@mips.com>
            Nigel Stephens <nigel@mips.com>

	gcc/testsuite/
	* gcc.c-torture/compile/mipscop-1.c: Add nomips16 attributes.
	* gcc.c-torture/compile/mipscop-2.c: Likewise.
	* gcc.c-torture/compile/mipscop-3.c: Likewise.
	* gcc.c-torture/compile/mipscop-4.c: Likewise.
	* gcc.dg/torture/mips-hilo-1.c: Likewise.
	* gcc.dg/torture/mips-hilo-2.c: Likewise.
	* gcc.dg/torture/pr19683-1.c: Likewise.
	* gcc.target/mips/madd-3.c: Likewise.
	* gcc.target/mips/maddu-3.c: Likewise.
	* gcc.target/mips/msub-3.c: Likewise.
	* gcc.target/mips/msubu-3.c: Likewise.
	* gcc.target/mips/asm-1.c: Likewise.
	* gcc.target/mips/branch-1.c: Likewise.
	* gcc.target/mips/ins-1.c: Likewise.
	* gcc.target/mips/near-far-3.c: Likewise.
	* gcc.target/mips/near-far-4.c: Likewise.
	* gcc.target/mips/smartmips-lwxs.c: Likewise.
	* gcc.target/mips/smartmips-ror-1.c: Likewise.
	* gcc.target/mips/smartmips-ror-2.c: Likewise.
	* gcc.target/mips/smartmips-ror-3.c: Likewise.
	* gcc.target/mips/smartmips-ror-4.c: Likewise.
	* gcc.target/mips/dspr2-MULT.c: Likewise.
	* gcc.target/mips/dspr2-MULTU.c: Likewise.
	* gcc.target/mips/mips32-dsp-run.c: Likewise.
	* gcc.target/mips/mips32-dspr2-type.c: Likewise.
	* gcc.target/mips/code-readable-1.c: Add mips16 attributes.
	* gcc.target/mips/code-readable-2.c: Likewise.
	* gcc.target/mips/code-readable-3.c: Likewise.

Co-Authored-By: David Ung <davidu@mips.com>
Co-Authored-By: Nigel Stephens <nigel@mips.com>

From-SVN: r128135
2007-09-05 10:46:25 -04:00
Sandra Loosemore
f9e4a411f9 Add mips16/nomips16 function attributes and -mflip-mips16 option for testing mixed-mode compilation.
2007-09-05  Sandra Loosemore  <sandra@codesourcery.com>
	    David Ung  <davidu@mips.com>
            Nigel Stephens <nigel@mips.com>

	Add mips16/nomips16 function attributes and -mflip-mips16 option
	for testing mixed-mode compilation.

	gcc/

	* config/mips/mips.opt (mflip-mips16): New.

	* config/mips/mips.h (SYMBOL_FLAG_MIPS16_FUNC): Define.
	(SYMBOL_FLAG_MIPS16_FUNC_P): Define.

	* config/mips/mips.c (mips_base_target_flags): New.
	(mips_base_mips16): New.
	(mips_base_schedule_insns): New.
	(mips_base_reorder_blocks_and_partition): New.
	(mips_base_align_loops): New.
	(mips_base_align_jumps): New.
	(mips_base_align_functions): New.
	(mips16_flipper): New.
	(mips_attribute_table): Add "mips16" and "nomips16" entries.
	(TARGET_SET_CURRENT_FUNCTION): Define.
	(mips_mips16_type_p, mips_nomips16_type_p): New.
	(mips_comp_type_attributes): Check mips16/nomips16 attributes.
	(mips_function_ok_for_sibcall): Make it deal with functions with
	mips16 attributes.
	(mips_init_split_addresses): New, split out from override_options.
	(mips_init_relocs): New, split out from override_options.
	(was_mips16_p): New.
	(mips_set_mips16_mode): New, split out from override_options.
	(mips_set_current_function): New.
	(override_options):  Add sorry for unsupported mips16/pic
	combination.  Remove error for mips16/dsp combination.	Save
	base option settings.  
	(mips_file_start): Move mips16 mode setting output from here....
	(mips_output_function_prologue): ....to here.
	(mips_output_mi_thunk): Check for mips16 function.
	(build_mips16_function_stub): Don't set .mips16 here.
	(build_mips16_call_stub): Likewise.
	(mips_expand_builtin): Error in mips16 mode.
	(mips_use_mips16_mode_p): New.
	(mips_encode_section_info): Check for mips16 function, and set
	SYMBOL_REF_FLAGS accordingly.

	* doc/extend.texi (Function Attributes): Document new
	mips16/nomips16 attributes.
	* doc/invoke.texi (Option Summary): Add -mflip-mips16.
	(MIPS Options): Document -mflip-mips16.

	gcc/testsuite/
	* gcc.target/mips/mips16-attributes.c: New.

Co-Authored-By: David Ung <davidu@mips.com>
Co-Authored-By: Nigel Stephens <nigel@mips.com>

From-SVN: r128134
2007-09-05 10:40:04 -04:00
Sandra Loosemore
edede0242f mips.c (mips_legitimize_tls_address): Call sorry if we encounter TLS address in MIPS16 mode.
2007-09-05  Sandra Loosemore  <sandra@codesourcery.com>

	gcc/
	* config/mips/mips.c (mips_legitimize_tls_address): Call sorry
	if we encounter TLS address in MIPS16 mode.
	(mips_legitimize_const_move):  Check cannot_force_const_mem for
	the (const (plus symbol offset)) case; this forces invalid TLS
	address in MIPS16 mode to be caught by the above call to sorry.
	(override_options): Don't reset targetm.have_tls in MIPS16 mode,
	because that now enables emutls, which is not ABI compatible
	with native TLS in non-MIPS16 mode.

From-SVN: r128133
2007-09-05 10:33:48 -04:00
Sandra Loosemore
db2960f402 Add target hook invoked when cfun changes.
2007-09-05  Sandra Loosemore  <sandra@codesourcery.com>

	gcc/
	Add target hook invoked when cfun changes.

	* doc/tm.texi (TARGET_SET_CURRENT_FUNCTION): Document.
	* target.h (struct gcc_target): Add set_current_function.
	* target-def.h (TARGET_SET_CURRENT_FUNCTION): Define.
	(TARGET_INITIALIZER): Add initializer for set_current_function.
	* tree.h (push_struct_function): New.
	* tree-inline.h (push_cfun, pop_cfun): Move declarations to...
	* function.h: Here.
	(set_cfun): Declare.
	* tree-inline.c (cfun_stack, push_cfun, pop_cfun): Moved to...
	* function.c:  Here.
	(push_function_context_to): Use allocate_struct_function
	to create null context, not init_dummy_function_start.  Use set_cfun.
	(pop_function_context_from): Use set_cfun.
	(in_dummy_function): New.
	(invoke_set_current_function_hook): New.
	(set_cfun): New.
	(push_cfun, pop_cfun): Use set_cfun.
	(push_struct_function): New.
	(allocate_struct_function): Call invoke_set_current_function_hook
	before returning.
	(prepare_function_start): Don't set cfun here.  Remove unused
	argument; fix all callers.
	(init_dummy_function_start): Fiddle with in_dummy_function.  Call
	push_struct_function.
	(init_function_start): Set cfun here.
	(expand_dummy_function_end): Fiddle with in_dummy_function.  Pop cfun.
	* omp-low.c (create_omp_child_function): Use push_struct_function
	and pop_cfun to save/restore state.
	(expand_omp_parallel): Remove unused saved_cfun variable.
	* cgraphunit.c (ipa_passes): Use set_cfun.
	* gimple-low.c (record_vars_into): Use push_cfun/pop_cfun here.
	* dwarf2out.c (dwarf2out_abstract_function): Likewise.
	* matrix-reorg.c (transform_allocation_sites): Likewise.
	(matrix_reorg): Use set_cfun.
	* gimplify.c (gimplify_function_tree): Use push_cfun/pop_cfun here.
	* tree-optimize.c (tree_rest_of_compilation): Remove one redundant
	assignment to cfun; use set_cfun for the other.
	* tree-cfg.c (move_sese_region_to_fn): Use set_cfun.
	(dump_function_to_file): Use push_cfun/pop_cfun here.
	* c-decl.c (finish_function): Use set_cfun.

	gcc/ada/
	* trans.c (Compilation_unit_to_gnu): Use set_cfun.
	* utils.c (end_subprog_body): Likewise.

	gcc/cp/
	* decl.c (finish_function): Use set_cfun.
	* method.c (use_thunk): Likewise.

	gcc/fortran/
	* trans-decl.c (build_entry_thunks): Use set_cfun.
	(gfc_generate_function_code): Likewise.

	gcc/java/
	* decl.c (finish_method): Use set_cfun.

	gcc/treelang/
	* treetree.c (tree_code_create_function_wrapup):  Use set_cfun.

From-SVN: r128132
2007-09-05 10:24:54 -04:00
Richard Guenther
e643dc2373 configure.ac (--enable-stage1-checking): If neither --enable-checking nor --disable-checking is provided also turn on...
2007-09-05  Richard Guenther  <rguenther@suse.de>

	* configure.ac (--enable-stage1-checking): If neither --enable-checking
	nor --disable-checking is provided also turn on yes and types
	checking for stage1.
	* configure: Re-generate.

From-SVN: r128131
2007-09-05 14:10:07 +00:00
Paul Thomas
a99288e554 re PR fortran/31564 (Error: Type/rank mismatch in argument)
2007-09-05  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/31564
	* primary.c (gfc_match_rvalue): Make expressions that refer
	to derived type parameters that have array references into
	variable expressions.  Remove references to use association
	from the symbol.

	PR fortran/33241
	* decl.c (add_init_expr_to_sym): Provide assumed character
	length parameters with the length of the initialization
	expression, if a constant, or that of the first element of
	an array.

2007-09-05  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/31564
	* gfortran.dg/derived_comp_array_ref_2.f90: New test.

	PR fortran/33241
	* gfortran.dg/char_length_10.f90: New test.

From-SVN: r128130
2007-09-05 13:34:25 +00:00
Kenneth Zadeck
8e4bf5c782 regrename.c (rerename_optimize): Use deferred rescanning and insert explicit calls to rescan insns when changed.
2007-09-05  Kenneth Zadeck <zadeck@naturalbridge.com>

	* regrename.c (rerename_optimize):  Use deferred rescanning and
	insert explicit calls to rescan insns when changed.

From-SVN: r128129
2007-09-05 13:23:32 +00:00
Jan Hubicka
a48b501cb5 optabs.c (libfunc_entry): Change optab to integer.
* optabs.c (libfunc_entry): Change optab to integer.
	(hash_libfunc, convert_optab_libfunc, optab_libfunc,
	set_optab_libfunc, set_conv_libfunc): Use optable indexes instead
	of pointers for hashing.

From-SVN: r128128
2007-09-05 10:51:34 +00:00
Jan Hubicka
330618621b sematics.c (expand_body): Remove unnecesary import_export_decl call...
* cp/sematics.c (expand_body): Remove unnecesary import_export_decl
	call, DECL_EXTERNAL checks and current_function_decl saving.

From-SVN: r128127
2007-09-05 10:50:18 +00:00
Jan Hubicka
a36b8a1ee8 regrename.c (pass_regrename, [...]): Add RTL sharing verifier.
* regrename.c (pass_regrename, pass_cprop_hardreg): Add RTL sharing
	verifier.
	* fwprop.c (pass_rtl_fwprop, pass_rtl_fwprop_add): Likewise.
	* see.c (pass_see): Likewise.
	* tracer.c (pass_tracer): Likewise.
	* postreload-gcse.c (pass_gcse2): Likewise.
	* postreload.c (pass_postreload_cse): Likewise.
	* mode-switching.c (pass_mode_switching): Likewise.
	* modulo-sched.c (pass_sms): Likewise.
	* cse.c (cse_insn): Likewise.
	* web.c (pass_web): Likweise.
	* combine-stack-adj.c (pass_stack_adjustments): Likewise.
	* dce.c (pass_ud_rtl_dce, pass_fast_rtl_dce): Likewise.
	* loop-init.c (pass_rtl_loop_init): Likewise.
	(pass_rtl_loop_done, pass_rtl_move_loop_, pass_rtl_unswitch,
	pass_rtl_unroll_and, pass_rtl_doloop): Likewise.
	* global.c (pass_global_alloc): Likewise.
	* ifcvt.c (pass_rtl_ifcvt, pass_if_after_combine,
	pass_if_after_reload): Likewise.
	* reload.c (pass_peephole2, pass_split_for_shoren_branches): Likewise.
	* dse.c (pass_rtl_dse1, pass_rtl_dse2): Likewise.
	* regmove.c (pass_regmove): Likewise.
	* function.c (pass_thread_prologugues_epilogues): Likewise.
	* gcse.c (pass_gcse): Likewise.
	* rtl-factoring.c (pass_rtl_seqabstr): Likewise.
	* lower-subreg.c (pass_lower_subreg2): Likewise.
	* bt-load.c (pass_branch_target_load): Likewise.
	* emit-rtl.c (pass_unshare_all_rtl): Likewise.
	* cfgcleanup.c (pass_jump, pass_jump2): Likewise.
	* combine.c (pass_combine): Likewise.
	* bb-reorder.c (pass_duplicate_comp, pass_reorder_blocks): Likewise.
	(pass_partition_blocks): Likewise.
	* var-tracking.c (pass_variable_track): Likewise.
	* reg-stack.c (pass_stack_regs_run): Likewise.
	* sched-rgn.c (pass_sched, pass_sched2): Likewise.
	* passes.c (pass_postreload): Likewise.
	(execute_function_todo): Add TODO_verify_rtl_sharing handling code.
	* tree-pass.h (TODO_verify_rtl_sharing): New.
	(TODO_update_ssa, TODO_update_ssa_no_phi, TODO_update_ssa_full_phi,
	TODO_update_ssa_only_virtuals, TODO_remove_unused_locals,
	TODO_set_props, TODO_df_finish, TODO_df_verify,
	TODO_mark_first_instance, TODO_rebuild_alias): Renumber.

From-SVN: r128126
2007-09-05 10:49:01 +00:00
Paolo Carlini
03ba2e1122 PR c++/29731 (again)
/cp
2007-09-05  Paolo Carlini  <pcarlini@suse.de>

	PR c++/29731 (again)
	* parser.c (cp_parser_primary_expression): Return error_mark_node
	when a statement-expression is found in a template-argument list.

/testsuite
2007-09-05  Paolo Carlini  <pcarlini@suse.de>

	PR c++/29731
	* g++.dg/parse/template24.C: New.

From-SVN: r128124
2007-09-05 09:31:54 +00:00
Matthias Klose
50e47dba16 configure.ac: Do not pass --with-native-libdir to classpath.
libjava/

 2007-09-04  Matthias Klose  <doko@ubuntu.com>
 
	* configure.ac: Do not pass --with-native-libdir to classpath.
	* configure: Regenerate.

libjava/classpath/

2007-09-04  Matthias Klose  <doko@ubuntu.com>

	* configure.ac: Append libgcj soversion to nativeexeclibdir.
	* configure: Regenerate.

From-SVN: r128121
2007-09-05 07:45:09 +00:00
Kaveh R. Ghazi
ac545c6462 fold-const.c (all_ones_mask_p, [...]): Constify.
* fold-const.c (all_ones_mask_p, sign_bit_p, simple_operand_p,
	fold_real_zero_addition_p, reorder_operands_p,
	div_if_zero_remainder, fold_undefer_overflow_warnings,
	int_binop_types_match_p, fold_convert_const_int_from_int,
	fold_convert_const_int_from_real,
	fold_convert_const_int_from_fixed,
	fold_convert_const_real_from_real,
	fold_convert_const_real_from_fixed,
	fold_convert_const_fixed_from_fixed,
	fold_convert_const_fixed_from_int,
	fold_convert_const_fixed_from_real, maybe_lvalue_p,
	fold_checksum_tree, fold_check_failed, print_fold_checksum,
	debug_fold_checksum, multiple_of_p): Constify.
	* tree-flow-inline.h (get_lineno): Likewise.
	* tree-flow.h (get_lineno): Likewise.
	* tree-object-size.c (compute_object_offset, addr_object_size,
	alloc_object_size, pass_through_call): Likewise.
	* tree-pretty-print.c (op_symbol, print_call_name,
	print_struct_decl, do_niy): Likewise.
	* tree.h (fold_undefer_overflow_warnings, multiple_of_p,
	debug_fold_checksum): Likewise.

From-SVN: r128120
2007-09-05 06:59:36 +00:00
Steven Bosscher
bda9fc3983 re PR middle-end/33029 (libgcc2.c:1890: internal compiler error: in local_cprop_pass, at gcse.c:3236)
PR middle-end/33029
	* lower-subreg.c (resolve_clobber): If we remove a REG_LIBCALL
	note, remove the associated REG_RETVAL note.

From-SVN: r128119
2007-09-05 05:31:37 +00:00
Andrew Pinski
437cc56a07 config.gcc (powerpc*-*-*): Install spu2vmx.h, vec_types.h, and si2vmx.h headers.
2007-09-04  Andrew Pinski  <andrew_pinski@playstation.sony.com>

        * config.gcc (powerpc*-*-*): Install
        spu2vmx.h, vec_types.h, and si2vmx.h headers.
        * config/rs6000/spu2vmx.h: New header.
        * config/rs6000/si2vmx.h: New header.
        * config/rs6000/vec_types.h: New header.
2007-09-04  Andrew Pinski  <andrew_pinski@playstation.sony.com>

        * g++.dg/other/spu2vmx-1.C: New test.

From-SVN: r128118
2007-09-04 18:36:09 -07:00
Ben Elliston
ff539210fa * varasm.c (initializer_constant_valid_p): Fix comment typo.
From-SVN: r128117
2007-09-05 11:31:53 +10:00
Ben Elliston
ff90b22062 ppu_intrinsics.h (__ldarx): Use Z' constraint, not m' for *ptrp.
* config/rs6000/ppu_intrinsics.h (__ldarx): Use `Z' constraint,
	not `m' for *ptrp.
	(__stdcx): Make asm volatile.
	(__stwcx, __stdcx): Return only 0 or 1.

From-SVN: r128116
2007-09-05 11:22:05 +10:00
Jason Merrill
c1bb7f8670 except.c (initialize_handler_parm): Use fold_build_cleanup_point_expr.
* except.c (initialize_handler_parm): Use
        fold_build_cleanup_point_expr.

From-SVN: r128115
2007-09-04 21:04:05 -04:00
Jerry DeLisle
7b71bedf40 re PR libfortran/33225 (Missing last digit in some formatted output (on 32bit targets), per kind write_float)
2007-03-04  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR libfortran/33225
	* io/write.c (stdbool.h): Add include. (sign_t): Move typedef to
	new file write_float.def. Include write_float.def.
	(extract_real): Delete. (calculate_sign): Delete.
	(calculate_exp): Delete. (calculate_G_format): Delete.
	(output_float): Delete. (write_float): Delete.
	* io/write_float.def (calculate_sign): Added.
	(output_float): Refactored to be independent of kind and added to this
	file for inclusion. (write_infnan): New function to write "Infinite" or
	"NaN" depending on flags passed, independent of kind.
	(CALCULATE_EXP): New macro to build kind specific functions. Use it.
	(OUTPUT_FLOAT_FMT_G): New macro, likewise. Use it.
	(DTOA, DTOAL): Macros to implement "decimal to ascii".
	(WRITE_FLOAT): New macro for kind specific write_float functions.
	(write_float): Revised function to determine kind and use WRITE_FLOAT
	to implement kind specific output.

From-SVN: r128114
2007-09-05 00:51:18 +00:00
GCC Administrator
f143c8e7d8 Daily bump.
From-SVN: r128112
2007-09-05 00:17:36 +00:00
Jan Hubicka
104fe9a70c Revert:
2007-09-04  Jan Hubicka  <jh@suse.cz>
	* tree-tailcall.c (eliminate_tail_call): Expect unrenamed return value.

	2007-09-04  Richard Guenther  <rguenther@suse.de>
	* tree-ssa-operands.c (add_virtual_operand): Only mark
	stores as has_volatile_ops if alias information is not available.

From-SVN: r128109
2007-09-05 00:03:32 +00:00