Commit Graph

88169 Commits

Author SHA1 Message Date
Paolo Carlini
d9be9bb3c6 stl_algo.h (partition_point): Add in C++0x mode.
2008-06-28  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/stl_algo.h (partition_point): Add in C++0x mode.
	* include/bits/algorithmfwd.h: Add.
	* testsuite/25_algorithms/headers/algorithm/synopsis.cc: Update.
	* testsuite/25_algorithms/partition_point/1.cc: New.
	* testsuite/25_algorithms/partition_point/check_type.cc: Likewise.
	* testsuite/25_algorithms/partition_point/requirements/
	explicit_instantiation/2.cc: Likewise.
	* testsuite/25_algorithms/partition_point/requirements/
	explicit_instantiation/pod.cc: Likewise.

From-SVN: r137237
2008-06-28 22:39:59 +00:00
Jerry DeLisle
7b063fdc13 re PR libfortran/36657 (Namelist reading bug with string constant immediately followed by comment)
2008-06-28  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR fortran/36657
	* io/list_read.c (read_character): Check for '!' along with separators.
	(find_nml_name): Likewise and eat the comment if found.

From-SVN: r137236
2008-06-28 21:46:53 +00:00
Andrew Jenner
d1c1c79f19 regrename.c (build_def_use): Don't copy RTX.
* regrename.c (build_def_use): Don't copy RTX.

From-SVN: r137235
2008-06-28 21:37:04 +00:00
Sandra Loosemore
38bb2b6555 extend.texi (Variable Attributes): Use @ref instead of @xref.
2008-06-28  Sandra Loosemore  <sandra@codesourcery.com>

	gcc/
	* doc/extend.texi (Variable Attributes): Use @ref instead of @xref.
	(Type Attributes): Fix nesting of @table and @subsection.  Adjust
	punctuation.  Use @ref instead of @xref.
	(Function Names): Remove stray @display/@end display.
	(C++ Attributes): Use @ref instead of @xref.
	(Deprecated Features): Fix punctuation around @xref.
	(Backwards Compatibility): Likewise.
	* doc/rtl.texi (Incdec): Remove stray @table/@end table.

From-SVN: r137234
2008-06-28 17:02:06 -04:00
Joseph Myers
624b157f70 predicates.md (easy_fp_constant): Reject TFmode constants for E500 double.
* config/rs6000/predicates.md (easy_fp_constant): Reject TFmode
	constants for E500 double.

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

From-SVN: r137232
2008-06-28 20:40:03 +01:00
Paolo Carlini
e5e9ea16b8 re PR libstdc++/36660 (pb_ds/detail/resize_policy/sample_resize_trigger.hpp has extra closing brace)
2008-06-28  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/36660
	* include/ext/pb_ds/detail/resize_policy/
	sample_resize_trigger.hpp: Remove spurious namespace end.

From-SVN: r137231
2008-06-28 18:32:48 +00:00
Ulrich Weigand
ffba3fd05d rtl.texi (const_vector): Document const_fixed as legitimate element type of const_vector.
* doc/rtl.texi (const_vector): Document const_fixed as legitimate
	element type of const_vector.

From-SVN: r137230
2008-06-28 17:48:25 +00:00
Uros Bizjak
7ae14d3133 i386.md (addti3, [...]): Remove FLAGS_REG clobber from expander pattern.
* config/i386/i386.md (addti3, adddi3, addsi3, addhi3, addqi3):
	Remove FLAGS_REG clobber from expander pattern.
	(subti3, subdi3, subsi3, subhi3, subqi3): Ditto.
	(anddi3, andsi3, andhi3, andqi3): Ditto.
	(iordi3, iorsi3, iorhi3, iorqi3): Ditto.
	(xordi3, xorsi3, xorhi3, xorqi3): Ditto.
	(negti2, negdi2, negsi2, neghi2, negqi2): Ditto.
	(ashlsi3, ashlhi3, ashlqi3): Ditto.
	(ashrsi3, ashrhi3, ashrqi3): Ditto.
	(lshrsi3, lshrhi3, lshrqi3): Ditto.
	(rotldi3, rotlsi3, rotlhi3, rotlqi3): Ditto.
	(rotrdi3, rotrsi3, rotrhi3, rotrqi3): Ditto.

From-SVN: r137229
2008-06-28 19:25:48 +02:00
Matthias Klose
d2595e5434 - in last ChangeLog entry, replace leading spaces with a tab
From-SVN: r137228
2008-06-28 16:08:12 +00:00
Daniel Kraft
b66c86cbee gfc-internals.texi (section gfc_code): Extended documentation about gfc_code in the internal datastructures chapter...
2008-06-28  Daniel Kraft  <d@domob.eu>

	* gfc-internals.texi (section gfc_code):  Extended documentation about
	gfc_code in the internal datastructures chapter including details about
	how IF, DO and SELECT blocks look like and an example for how the
	block-chaining works.

From-SVN: r137226
2008-06-28 17:11:25 +02:00
Richard Guenther
f82c70cc8f pta-field-1.c: Add return 0.
2008-06-28  Richard Guenther  <rguenther@suse.de>

	* gcc.c-torture/execute/pta-field-1.c: Add return 0.
	* gcc.c-torture/execute/pta-field-2.c: Likewise.

From-SVN: r137224
2008-06-28 13:35:35 +00:00
Matthias Klose
e0441a5bfb Import GNU Classpath (classpath-0_97_2-release).
libjava/

2008-06-28  Matthias Klose  <doko@ubuntu.com>

        Import GNU Classpath (classpath-0_97_2-release).

        * Regenerate class and header files.
        * Regenerate auto* files.
        * gcj/javaprims.h: Define jobjectRefType.
        * jni.cc (_Jv_JNI_GetObjectRefType): New (stub only).
        (_Jv_JNIFunctions): Initialize GetObjectRefType.
        * gnu/classpath/jdwp/VMVirtualMachine.java,
        java/security/VMSecureRandom.java: Merge from classpath.
        * HACKING: Fix typo.
        * ChangeLog-2007: New file.
        * configure.ac: Set JAVAC, pass --disable-regen-headers to classpath.

libjava/classpath/

2008-06-28  Matthias Klose  <doko@ubuntu.com>

        * m4/ac_prog_javac.m4: Disable check for JAVAC, when
        not configured with --enable-java-maintainer-mode.
        * aclocal.m4, configure: Regenerate.
        * native/jni/gstreamer-peer/Makefile.am: Do not link with
        libclasspathnative.
        * native/jni/gstreamer-peer/Makefile.in: Regenerate.
        * tools/Makefile.am, lib/Makefile.am: Use JAVAC for setting
        JCOMPILER, drop flags not understood by gcj.

From-SVN: r137223
2008-06-28 13:29:13 +00:00
Richard Guenther
15c151967d tree-ssa-structalias.c (callused_id, [...]): Add.
2008-06-28  Richard Guenther  <rguenther@suse.de>

	* tree-ssa-structalias.c (callused_id, var_callused,
	callused_tree): Add.
	(handle_pure_call): New function.
	(find_func_aliases): Call it.
	(find_what_p_points_to): Handle the call-used set.
	(clobber_what_escaped): Likewise.
	(compute_call_used_vars): New function.
	(init_base_vars): Init the call-used variable.
	(do_sd_constraint): Do not propagate the solution from CALLUSED
	but use CALLUSED as a placeholder.
	(solve_graph): Likewise.
	* tree-flow-inline.h (gimple_call_used_vars): New function.
	* tree-flow.h (struct gimple_df): Add call_used_vars bitmap.
	(compute_call_used_vars): Declare.
	* tree-ssa-alias.c (set_initial_properties): Call
	compute_call_used_vars.
	(reset_alias_info): Clear call-used variables.
	(add_call_clobber_ops): Assert we are not called for const/pure
	functions.  Remove handling of them.
	(add_call_read_ops): Handle pure functions by adding the
	call-used set of variables as VUSEs.
	* tree-ssa.c (init_tree_ssa): Allocate call-used bitmap.
	(delete_tree_ssa): Free it.
	* tree-dfa.c (remove_referenced_var): Clear the var from the
	call-used bitmap.

	* gcc.dg/tree-ssa/pr24287.c: Remove XFAIL.

From-SVN: r137222
2008-06-28 13:17:20 +00:00
Kai Tietz
ff1c393bd3 tree.c (build_varargs_function_type_list): New.
2008-06-28  Kai Tietz  <kai.tietz@onevision.com>

        * tree.c (build_varargs_function_type_list): New.
        (build_function_type_list_1): New.
        (build_function_type_list): Use build_function_type_list_1.
        * tree.h (build_varargs_function_type_list): New.

From-SVN: r137221
2008-06-28 14:41:38 +02:00
Ulrich Weigand
d74032d9e1 re PR target/34856 (ICE with some constant vectors)
PR target/34856
	* config/spu/spu.c (spu_builtin_splats): Do not generate
	invalid CONST_VECTOR expressions.
	(spu_expand_vector_init): Likewise.

From-SVN: r137218
2008-06-28 10:47:36 +00:00
Steven Bosscher
069a1c33f9 Commit missing Makefile update for r137158.
From-SVN: r137216
2008-06-28 09:38:11 +00:00
Richard Sandiford
61698f5402 optabs.c (libfunc_decls): New variable.
gcc/
	* optabs.c (libfunc_decls): New variable.
	(libfunc_decl_hash, libfunc_decl_eq): New functions.
	(init_one_libfunc): Reuse decls and SYMBOL_REFs when asked
	for the same function twice.

From-SVN: r137215
2008-06-28 09:24:35 +00:00
GCC Administrator
d476e66901 Daily bump.
From-SVN: r137211
2008-06-28 00:17:13 +00:00
Mark Mitchell
b8df34454c vec.cc (__aeabi_vec_dtor_cookie): Handle NULL array address.
2008-06-27  Mark Mitchell  <mark@codesourcery.com>

	* libsupc++/vec.cc (__aeabi_vec_dtor_cookie): Handle NULL array
	address.
	(__aeabi_vec_delete): Likewise.
	(__aeabi_vec_delete3): Likewise.
	(__aeabi_vec_delete3_nodtor): Likewise.

2008-06-27  Mark Mitchell  <mark@codesourcery.com>

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

From-SVN: r137207
2008-06-27 23:02:06 +00:00
Jakub Jelinek
0ac69b47fb re PR c++/36364 (Problem with -frepo)
PR c++/36364
	* repo.c (repo_emit_p): Put const static data members initialized
	by const expr into *.rpo file, just return 2 if IDENTIFIER_REPO_CHOSEN
	for it is 0.

	* g++.dg/template/repo9.C: New test.

From-SVN: r137205
2008-06-28 00:26:48 +02:00
Richard Biener
e3fd526b6a re PR tree-optimization/36400 (points-to results wrong)
2008-06-27  Richard Guenther  <rguenther@suse.de>

	PR tree-optimization/36400
	PR tree-optimization/36373
	PR tree-optimization/36344
	* tree-ssa-structalias.c (var_escaped, escaped_tree, escaped_id,
	var_nonlocal, nonlocal_tree, nonlocal_id): New globals
	(update_alias_info): Remove call clobbering code.
	(make_constraint_to): New helper function.
	(make_escape_constraint): Likewise.
	(handle_rhs_call): Use it on all pointer containing arguments.
	Also mark the static chain escaped.
	(handle_lhs_call): Make constraints from NONLOCAL and ESCAPED
	instead of ANYTHING.
	(make_constraint_from): New helper split out from ...
	(make_constraint_from_anything): ... here.
	(find_func_aliases): Add constraints for escape sites.
	(intra_create_variable_infos): Make constraints from NONLOCAL
	for parameters.
	(find_what_p_points_to): Interpret NONLOCAL and ESCAPED the same
	as ANYTHING.
	(clobber_what_p_points_to): Remove.
	(clobber_what_escaped): New function.
	(init_base_vars): Init NONLOCAL and ESCAPED.
	(do_sd_constraint): Do not propagate the solution from ESCAPED
	but use ESCAPED as a placeholder.
	(solve_graph): Likewise.
	* tree-flow.h (clobber_what_p_points_to): Remove.
	(clobber_what_escaped): Declare.
	* tree-ssa-alias.c (set_initial_properties): Call it.
	Remove code clobbering escaped pointers.

	* gcc.dg/torture/pr36373-1.c: New testcase.
	* gcc.dg/torture/pr36373-2.c: Likewise.
	* gcc.dg/torture/pr36373-3.c: Likewise.
	* gcc.dg/torture/pr36373-4.c: Likewise.
	* gcc.dg/torture/pr36373-5.c: Likewise.
	* gcc.dg/torture/pr36373-6.c: Likewise.
	* gcc.dg/torture/pr36373-7.c: Likewise.
	* gcc.dg/torture/pr36373-8.c: Likewise.
	* gcc.dg/torture/pr36373-9.c: Likewise.
	* gcc.dg/torture/pr36373-10.c: Likewise.
	* gcc.dg/torture/pr36400.c: Likewise.
	* gcc.c-torture/execute/pta-field-1.c: Likewise.
	* gcc.c-torture/execute/pta-field-2.c: Likewise.
	* gcc.dg/tree-ssa/loadpre8.c: Remove XFAIL.
	* gcc.dg/tree-ssa/pr24287.c: XFAIL.

From-SVN: r137204
2008-06-27 21:54:42 +00:00
Uros Bizjak
7059ea888d * config/i386/i386.md (lshrti splitter): Fix splitter predicate.
From-SVN: r137202
2008-06-27 23:12:04 +02:00
Uros Bizjak
934f2a969d i386.md (ashlti3, [...]): Expand using ix86_expand_binary_operator directly.
* config/i386/i386.md (ashlti3, ashrti3, lshrti3): Expand using
	ix86_expand_binary_operator directly.
	(*ashlti3_1): Rename from ashlti3_1.  Use nonmemory_operand predicate
	for operand 2.
	(*ashrti3_1): Ditto.
	(*lshrti3_1): Ditto.
	(*ashlti3_2, *ashrti3_2, *lshrti3_2): Remove insn patterns.
	(ashlti, ashrti and lshrti splitters): Handle nonmemory operand 2
	using only one splitter.  Conditionaly execute splitter before or
	after peephole2 pass.
	(ashlti, ashrti and lshrti peephole2): Define peephole2 patterns.
	(x86_shld): Rename from x86_shld_1.  Compress operand 2 constraints.
	Use only one alternative in asm template.
	(x86_64_shld): Compress operand 2 constraints. Use only one alternative
	in asm template.
	(*ashldi3_cmp_rex64): Use const_1_to_63_operand operand predicate and
	"J" operand constraint for operand 2.
	(*ashldi3_cconly_rex64): Ditto.
	(*ashrdi3_cmp_rex64): Ditto.
	(*ashrdi3_cconly_rex64): Ditto.
	(*lshrdi3_cmp_rex64): Ditto.
	(*lshrdi3_cconly_rex64): Ditto.
	* config/i386/predicates.md (const_1_to_63_operand): New predicate.
	* config/i386/i386.md (print_operand) ['s']: Print ", " using fputs.
	(split_ashr, split_ashl, split_lshr): Use gen_x86_shrd instead of
	gen_x86_shrd_1.

From-SVN: r137201
2008-06-27 22:53:34 +02:00
Paolo Carlini
a7235bfbb1 re PR c++/36655 (unjustified warning for "extern template" when using -pedantic -std=c++0x)
/cp
2008-06-27  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/36655
	* pt.c (do_decl_instantiation): In c++0x mode do not warn for
	extern template.

/testsuite
2008-06-27  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/36655
	* g++.dg/cpp0x/extern_template.C: New.

From-SVN: r137200
2008-06-27 20:45:25 +00:00
Jakub Jelinek
ca2b131143 gimplify.c (omp_is_private): Don't return true if decl is not already private on #pragma omp for or #pragma...
* gimplify.c (omp_is_private): Don't return true if decl
	is not already private on #pragma omp for or #pragma omp parallel for.

	* gcc.dg/gomp/pr27388-3.c: Adjust dg-final.

	* testsuite/libgomp.c/loop-10.c: New test.
	* libgomp.c/loop-3.c (main): Add lastprivate clause.
	* libgomp.c++/loop-6.C (main): Likewise.

From-SVN: r137199
2008-06-27 21:45:14 +02:00
Jakub Jelinek
b357f682db re PR debug/36617 (Debug info for OpenMP code is almost non-existent)
PR debug/36617
	* tree-cfg.c (struct move_stmt_d): Replace block field with
	orig_block and new_block fields.
	(move_stmt_r): Only set TREE_BLOCK to p->new_block if
	if it used to be NULL, p->orig_block or if p->orig_block is NULL.
	(move_block_to_fn): Replace vars_map and new_label_map arguments
	with struct move_stmt_d pointer.
	(replace_block_vars_by_duplicates): New function.
	(move_sese_region_to_fn): Add ORIG_BLOCK argument.  Adjust
	move_block_to_fn caller.  If ORIG_BLOCK is non-NULL, move over
	all subblocks of ORIG_BLOCK to the new function.  Call
	replace_block_vars_by_duplicates.
	* tree-flow.h (move_sese_region_to_fn): Adjust prototype.
	* omp-low.c (expand_omp_taskreg): Set TREE_USED on DECL_INITIAL
	BLOCK of the new function.  Adjust move_sese_region_to_fn caller.
	Prune vars with original DECL_CONTEXT from child_cfun->local_decls.
	(expand_omp): Temporarily set input_location to the location of
	region's controlling stmt.
	(lower_omp_sections, lower_omp_for): Add a BLOCK into outermost
	BIND_EXPR, push ctx->block_vars and gimplification vars into
	the BIND_EXPR and its block's BLOCK_VARS instead of directly
	into dest function.
	(lower_omp_single): Set TREE_USED on the BIND_EXPR's BLOCK if
	there are any BLOCK_VARS.
	(lower_omp_taskreg): Set BLOCK on a BIND_EXPR containing the
	OMP_PARALLEL or OMP_TASK stmt.
	(lower_omp): Save and restore input_location around the lower_omp_1
	call.

	* testsuite/libgomp.c/debug-1.c: New test.

From-SVN: r137198
2008-06-27 21:42:32 +02:00
Richard Guenther
b7091901cd re PR tree-optimization/36400 (points-to results wrong)
2008-06-27  Richard Guenther  <rguenther@suse.de>

	PR tree-optimization/36400
	PR tree-optimization/36373
	PR tree-optimization/36344
	* tree-ssa-structalias.c (var_escaped, escaped_tree, escaped_id,
	var_nonlocal, nonlocal_tree, nonlocal_id): New globals
	(update_alias_info): Remove call clobbering code.
	(make_constraint_to): New helper function.
	(make_escape_constraint): Likewise.
	(handle_rhs_call): Use it on all pointer containing arguments.
	Also mark the static chain escaped.
	(handle_lhs_call): Make constraints from NONLOCAL and ESCAPED
	instead of ANYTHING.
	(make_constraint_from): New helper split out from ...
	(make_constraint_from_anything): ... here.
	(find_func_aliases): Add constraints for escape sites.
	(intra_create_variable_infos): Make constraints from NONLOCAL
	for parameters.
	(find_what_p_points_to): Interpret NONLOCAL and ESCAPED the same
	as ANYTHING.
	(clobber_what_p_points_to): Remove.
	(clobber_what_escaped): New function.
	(init_base_vars): Init NONLOCAL and ESCAPED.
	(do_sd_constraint): Do not propagate the solution from ESCAPED
	but use ESCAPED as a placeholder.
	(solve_graph): Likewise.
	* tree-flow.h (clobber_what_p_points_to): Remove.
	(clobber_what_escaped): Declare.
	* tree-ssa-alias.c (set_initial_properties): Call it.
	Remove code clobbering escaped pointers.

	* gcc.dg/torture/pr36373-1.c: New testcase.
	* gcc.dg/torture/pr36373-2.c: Likewise.
	* gcc.dg/torture/pr36373-3.c: Likewise.
	* gcc.dg/torture/pr36373-4.c: Likewise.
	* gcc.dg/torture/pr36373-5.c: Likewise.
	* gcc.dg/torture/pr36373-6.c: Likewise.
	* gcc.dg/torture/pr36373-7.c: Likewise.
	* gcc.dg/torture/pr36373-8.c: Likewise.
	* gcc.dg/torture/pr36373-9.c: Likewise.
	* gcc.dg/torture/pr36373-10.c: Likewise.
	* gcc.dg/torture/pr36400.c: Likewise.
	* gcc.c-torture/execute/pta-field-1.c: Likewise.
	* gcc.c-torture/execute/pta-field-2.c: Likewise.
	* gcc.dg/tree-ssa/loadpre8.c: Remove XFAIL.
	* gcc.dg/tree-ssa/pr24287.c: XFAIL.

From-SVN: r137197
2008-06-27 18:53:43 +00:00
Paolo Carlini
04dbd89190 stl_algo.h (is_partitioned): Add in C++0x mode.
2008-06-27  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/stl_algo.h (is_partitioned): Add in C++0x mode.
	* include/bits/algorithmfwd.h: Add.
	* testsuite/25_algorithms/headers/algorithm/synopsis.cc: Update.
	* testsuite/25_algorithms/is_partitioned/1.cc: New.
	* testsuite/25_algorithms/is_partitioned/check_type.cc: Likewise.
	* testsuite/25_algorithms/is_partitioned/requirements/
	explicit_instantiation/2.cc: Likewise.
	* testsuite/25_algorithms/is_partitioned/requirements/
	explicit_instantiation/pod.cc: Likewise.

From-SVN: r137196
2008-06-27 17:42:18 +00:00
Richard Sandiford
70cf5bc1f1 function.c (allocate_struct_function): Only allocate a unique funcdef_no if the decl is nonzero.
gcc/
	* function.c (allocate_struct_function): Only allocate a unique
	funcdef_no if the decl is nonzero.

From-SVN: r137195
2008-06-27 17:26:14 +00:00
Richard Sandiford
c5cb5d18b3 mips-protos.h (mips_split_const_insns): Declare.
gcc/
	* config/mips/mips-protos.h (mips_split_const_insns): Declare.
	* config/mips/mips.c (mips_split_const_insns): New function.
	* config/mips/mips.md (move_type): New attribute.
	(mode): Move attribute definition earlier in file.  Add "TI"
	and "TF".
	(dword_mode): New attribute.
	(type): Avoid long line.  Map "move_type"s to "type"s,
	choosing "multi" for doubleword moves if appropriate.
	Swap MTC/MFC comments to match their declaration order.
	(extended_mips16): Default to "yes" if "move_type" is "sll0",
	"type" is "branch" or "jal" is "direct".
	(length): Handle "extended_mips16" first.  Make the default
	"0" for "ghost" instructions.  Set the length from "move_type".
	(truncdisi2, truncdihi2, truncdiqi2): Use "move_type" instead
	of "type", with "sll0" for the register alternative.  Remove the
	"extended_mips16" attribute.
	(zero_extendsidi2, *clear_upper32): Use "move_type" instead
	of "type", with "shift_shift" for the register alternative.
	Remove the "length" attribute.
	(*extend<SHORT:mode><GPR:mode>2, *extendqihi2): Likewise.
	(*zero_extend<SHORT:mode><GPR:mode>2): Use "move_type" instead
	of "type", with "andi" for the register alternative.
	(*zero_extendqihi2): Likewise.
	(*zero_extend<SHORT:mode><GPR:mode>2_mips16e): Use a "move_type"
	of "andi" instead of a "type" of "arith".
	(*zero_extend<SHORT:mode><GPR:mode>2_mips16): Use "move_type"
	instead of "type".
	(*zero_extendqihi2_mips16, mov_<load>l, mov_<load>r, mov_<store>l)
	(mov_<store>r, *mov<mode>_ra): Likewise.
	(extendsidi2): Use "move_type" instead of "type", with "move"
	for the register alternative.
	(*extend<SHORT:mode><GPR:mode>2_mips16e): Use "move_type" instead
	of "type", with "signext" for the register alternative.
	(*extend<SHORT:mode><GPR:mode>2_se<SHORT:size>): Likewise.
	(*extendqihi2_mips16e, *extendqihi2_seb): Likewise.
	(fix_truncdfsi2_insn, fix_truncsfsi2_insn, fix_truncdfdi2)
	(fix_truncsfdi2, floatsidf2, floatdidf2, floatsisf2, floatdisf2)
	(floatdisf2, *branch_equality<mode>_mips16): Likewise.
	(unnamed branch insn): Likewise.
	(*movdi_gp32_fp64): Fold into...
	(*movdi_32bit): ...here.
	(*movdf_hardfloat_64bit, *movdf_hardfloat_32bit): Combine into...
	(*movdf_hardfloat): ...this new pattern.
	(*movdf_softfloat): Remove redundant FPR alternatives.
	(*movti, *movti_mips16, *movtf, *movtf_mips16): Add "mode" attributes.
	(*movv2sf_hardfloat_64bit, *movv2sf_hardfloat_32bit): Combine into...
	(*movv2sf): ...this new pattern.  Use "DF" rather than "SF" for
	the "move" attribute.
	(*movdi_32bit): Use "move_type" instead of "type" and remove the
	"length" attribute.  Use "fpload" and "fpstore" instead of "load"
	and "store" for COP loads and stores.
	(*movdi_32bit_mips16, *movdi_64bit, *movsi_internal, movcc)
	(*movhi_internal, *movhi_mips16, *movqi_internal, *movqi_mips16)
	(*movsf_hardfloat, *movsf_softfloat, *movsi_mips16, *movdf_hardfloat)
	(*movdf_softfloat, *movdf_mips16, *movti, *movti_mips16, *movtf)
	(*movtf_mips16, *movv2sf): Likewise.
	(mfhi<GPR:mode>_<HILO:mode>, mflo<GPR:mode>_<HILO:mode>)
	(load_low<mode>, load_high<mode>, store_word<mode>, mthc1<mode>)
	(mfhc1<mode>): Use "move_type" instead of "move".
	(*low<mode>_mips16): Use "extended_mips16" instead of "length".
	(loadgp_blockage): Remove the "length" attribute.
	(blockage, set_got_version, update_got_version): Likewise.
	(call_internal): Remove the "extended_mips16" attribute.
	(call_value_internal, call_value_multiple_internal): Likewise.
	* config/mips/loongson.md (mov<mode>_internal): Use "move_type"
	instead of "move".
	* config/mips/mips-dsp.md (mips_lbux, mips_lhx, mips_lwx): Remove
	the "length" attribute.

From-SVN: r137194
2008-06-27 17:20:32 +00:00
Kaveh R. Ghazi
7d71283c1a ada-tree.h (SET_TYPE_LANG_SPECIFIC, [...]): Fix -Wc++-compat warnings.
* ada-tree.h (SET_TYPE_LANG_SPECIFIC, SET_DECL_LANG_SPECIFIC): Fix
	-Wc++-compat warnings.
	* adaint.c (__gnat_locate_regular_file, __gnat_locate_exec,
	__gnat_locate_exec_on_path): Likewise.
	* decl.c (annotate_value): Likewise.
	* misc.c (gnat_handle_option): Likewise.
	* trans.c (gnat_to_gnu, extract_encoding, decode_name,
	post_error_ne_tree): Likewise.

From-SVN: r137192
2008-06-27 16:55:06 +00:00
Kaveh R. Ghazi
5ead67f603 c-format.c (handle_format_attribute): Fix -Wc++-compat and/or -Wcast-qual warnings.
* c-format.c (handle_format_attribute): Fix -Wc++-compat and/or
	-Wcast-qual warnings.
	* c-pragma.c (dpm_eq, handle_pragma_push_macro,
	handle_pragma_pop_macro): Likewise.
	* collect2.c (resolve_lib_name): Likewise.
	* config/arc/arc.c (arc_init): Likewise.
	* config/arm/arm.c (neon_builtin_compare,
	locate_neon_builtin_icode): Likewise.
	* config/arm/pe.c (arm_mark_dllexport, arm_pe_unique_section):
	Likewise.
	* config/bfin/bfin.c (bfin_init_machine_status,
	bfin_optimize_loop): Likewise.
	* config/bfin/bfin.h (TARGET_CPU_CPP_BUILTINS): Likewise.
	* config/cris/cris.c (cris_init_expanders): Likewise.
	* config/darwin-c.c (frameworks_in_use, add_framework): Likewise.
	* config/darwin.c (machopic_indirection_eq,
	machopic_indirection_name, machopic_output_indirection):
	Likewise.
	* config/frv/frv.c (frv_init_machine_status, frv_compare_insns,
	frv_io_check_address, frv_io_handle_set, frv_io_handle_use_1,
	frv_optimize_membar): Likewise.
	* config/i386/cygwin.h (mingw_scan,
	GCC_DRIVER_HOST_INITIALIZATION): Likewise.
	* config/i386/cygwin1.c (mingw_scan): Likewise.
	* config/i386/i386.c (machopic_output_stub): Likewise.
	* config/i386/winnt.c (gen_stdcall_or_fastcall_suffix,
	i386_pe_unique_section): Likewise.
	* config/ia64/ia64.c (ia64_init_machine_status,
	ia64_h_i_d_extended, get_free_bundle_state, bundling, ia64_reorg):
	Likewise.
	* config/iq2000/iq2000.c, iq2000_init_machine_status): Likewise.
	* config/m68hc11/m68hc11.c (m68hc11_encode_label): Likewise.
	* config/m68k/m68k.c (m68k_handle_option,
	m68k_sched_md_init_global): Likewise.
	* config/mcore/mcore.c (mcore_mark_dllexport,
	mcore_mark_dllimport, mcore_unique_section): Likewise.
	* config/mips/mips.c (mips_block_move_straight,
	mips16_rewrite_pool_refs, mips_sim_wait_regs_2,
	mips_sim_record_set): Likewise.
	* config/mmix/mmix.c (mmix_init_machine_status,
	mmix_encode_section_info): Likewise.
	* config/pa/pa.c (pa_init_machine_status, hppa_encode_label):
	Likewise.
	* config/rs6000/rs6000.c (rs6000_init_machine_status,
	print_operand_address, output_toc, redefine_groups,
	rs6000_elf_encode_section_info, machopic_output_stub): Likewise.
	* config/s390/s390.c (s390_init_machine_status): Likewise.
	* config/score/score.c (score_block_move_straight,
	score_block_move_loop_body): Likewise.
	* config/sparc/sparc.c (sparc_init_machine_status): Likewise.
	* config/xtensa/xtensa.c (xtensa_init_machine_status): Likewise.
	* emit-rtl.c (find_auto_inc): Likewise.
	* gcc.c (translate_options, process_command): Likewise.
	* reorg.c (dbr_schedule): Likewise.
	* sdbout.c (sdbout_start_source_file, sdbout_init): Likewise.
	* xcoffout.c (xcoffout_declare_function): Likewise.

From-SVN: r137191
2008-06-27 16:53:54 +00:00
Daniel Berlin
d1caaa7618 Don't mark statements modified when we are in ipa mode
From-SVN: r137189
2008-06-27 16:11:35 +00:00
David Edelsohn
edae5fe3f2 [multiple changes]
2008-06-27  David Edelsohn  <edelsohn@gnu.org>

        * config/rs6000/t-aix52: Append large data option to LDFLAGS for
        genautomata.

2008-06-27  Edmar Wienskoski  <edmar@freescale.com>

        * config.gcc (powerpc*-*-*): Add new core e500mc.
        * config/rs6000/e500mc.md: New file.
        * config/rs6000/rs6000.c (processor_costs): Add new costs for
        e500mc.
        (rs6000_override_options): Add e500mc case to
        processor_target_table. Altivec and Spe options not allowed
        with e500mc. Add isel instruction to e500mc by
        default. Initialize rs6000_cost for e500mc.
        (rs6000_issue_rate): Set issue rate for e500mc.
        * config/rs6000/rs6000.h (processor_type): Add
        PROCESSOR_PPCE500MC.
        (ASM_CPU_SPEC): Add e500mc.
        Set TARGET_ISEL to rs6000_isel.
        * config/rs6000/e500.h: Remove redefinition of TARGET_ISEL.
        (CHECK_E500_OPTIONS): Remove TARGET_ISEL.
        * config/rs6000/rs6000.md (define_attr "cpu"): Add ppce500mc..
        Include e500mc.md.
        * doc/invoke.texi: Add e500mc to list of cpus.

From-SVN: r137176
2008-06-27 08:43:55 -04:00
Laurynas Biveinis
098b9c467c re PR c/34867 (valgrind error indication in testsuite from c-lex.c:996:c_lex_with_flags for gcc.dg/cpp/charconst.c)
2008-06-27  Laurynas Biveinis  <laurynas.biveinis@gmail.com>

	PR c/34867
	* c-lex.c (lex_charconst): Initialize unsignedp.

From-SVN: r137175
2008-06-27 12:29:55 +00:00
Paolo Carlini
fa52081d86 stl_numeric.h (iota): Add in C++0x mode.
2008-06-27  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/stl_numeric.h (iota): Add in C++0x mode.
	* testsuite/util/testsuite_character.h (pod_int): Add operator++
	in C++0x mode.
	* testsuite/util/testsuite_api.h (NonDefaultConstructible): Likewise.
	* testsuite/26_numerics/iota/1.cc: New.
	* testsuite/26_numerics/iota/requirements/explicit_instantiation/
	2.cc: Likewise.
	* testsuite/26_numerics/iota/requirements/explicit_instantiation/
	pod.cc: Likewise.

	* include/ext/algorithm: Do not fiddle with the legacy headers.

	* testsuite/26_numerics/partial_sum/1.cc: Minor changes, comments,
	style.
	* testsuite/26_numerics/accumulate/1.cc: Likewise.
	* testsuite/26_numerics/adjacent_difference/1.cc: Likewise.
	* testsuite/26_numerics/inner_product/1.cc: Likewise.

From-SVN: r137174
2008-06-27 10:47:27 +00:00
Eric Botcazou
d9338c6726 utils.c (convert): When converting it to a packable version of its type...
* utils.c (convert) <CONSTRUCTOR>: When converting it to a packable
	version of its type, attempt to first convert its elements.

From-SVN: r137173
2008-06-27 09:16:45 +00:00
Olivier Hainque
b7d565dd00 Fix typo in ChangeLog entry date.
From-SVN: r137172
2008-06-27 07:46:26 +00:00
Olivier Hainque
1a13360e95 gimplify.c (gimplify_modify_expr_to_memset): Assert our documented assumptions.
2008-06-26  Olivier Hainque  <hainque@adacore.com>

	gcc/
	* gimplify.c (gimplify_modify_expr_to_memset): Assert our
	documented assumptions.

	testsuite/
	* gnat.dg/aligned_vla.adb: New test.

From-SVN: r137171
2008-06-27 07:35:33 +00:00
H.J. Lu
4b5705609b dwarf2out.c: Remove trailing white spaces.
2008-06-26  H.J. Lu  <hongjiu.lu@intel.com>

	* dwarf2out.c: Remove trailing white spaces.  Break long line
	in comments.

From-SVN: r137169
2008-06-26 22:37:52 -07:00
GCC Administrator
4d5add736e Daily bump.
From-SVN: r137167
2008-06-27 00:17:12 +00:00
Richard Sandiford
e2ff10a93c libfuncs.h (LTI_synchronize): New libfunc_index.
gcc/
	* libfuncs.h (LTI_synchronize): New libfunc_index.
	(synchronize_libfunc): Declare.
	* builtins.c (expand_builtin_synchronize): Consider using
	synchronize_libfunc before falling back on an asm blockage.
	* config/mips/mips.c: Include libfuncs.h
	(mips_init_libfuncs): Initialize synchronize_libfunc for TARGET_MIPS16.

From-SVN: r137162
2008-06-26 21:28:30 +00:00
Nathan Froyd
f78c3290cd rs6000.c (emit_allocate_stack): Add copy_r11 parameter.
* config/rs6000/rs6000.c (emit_allocate_stack): Add copy_r11
	parameter.  Copy stack_reg to r11 where appropriate.
	(no_global_regs_above): Add gpr parameter.
	(rs6000_stack_info): Only add padding for SPE save area if we
	are saving SPE GPRs and CR.
	(saveres_routine_syms): New variable.
	(FIRST_SAVRES_REGISTER, LAST_SAVRES_REGISTER, N_SAVRES_REGISTERS):
	Define.
	(rs6000_savres_routine_sym): New function.
	(rs6000_emit_stack_reset, rs6000_restore_saved_cr): New functions,
	split out of...
	(rs6000_emit_epilogue): ...here.  Use rs6000_use_multiple_p and
	rs6000_savres_strategy.  Restore GPRs out-of-line if appropriate.
	Tweak FPR out-of-line saving.
	(rs6000_make_savres_rtx): New function.
	(rs6000_use_multiple_p): New function.
	(rs6000_savres_strategy): New function.
	(rs6000_emit_prologue): Use rs6000_savres_strategy.  Save GPRs
	out-of-line if appropriate.
	* config/rs6000/sysv4.h (FP_SAVE_INLINE): Save FPRs out-of-line
	if we are optimizing for size.
	(GP_SAVE_INLINE): Define.
	(SAVE_FP_SUFFIX, RESTORE_FP_SUFFIX): Only use _l on 64-bit targets.
	* config/rs6000/darwin.h (GP_SAVE_INLINE): Define.
	* config/rs6000/aix.h (GP_SAVE_INLINE): Define.
	* config/rs6000/rs6000.md (*save_gpregs_<mode>): New insn.
	(*save_fpregs_<mode>): Add use of r11.
	(*restore_gpregs_<mode>): New insn.
	(*return_and_restore_gpregs_<mode>): New insn.
	(*return_and_restore_fpregs_<mode>): Adjust to clobber LR and
	use r11.
	* config/rs6000/spe.md (*save_gpregs_spe): New insn.
	(*restore_gpregs_spe): New insn.
	(*return_and_restore_gpregs_spe): New insn.
	* config/rs6000/predicates.md (save_world_operation): Fix check.

From-SVN: r137160
2008-06-26 20:12:41 +00:00
Steven Bosscher
e24c4814fd tree-into-ssa (insert_phi_nodes_for): 'var' must be a DECL at this point, so assert that.
* tree-into-ssa (insert_phi_nodes_for): 'var' must be a DECL at
	this point, so assert that.

From-SVN: r137159
2008-06-26 20:11:07 +00:00
Steven Bosscher
25e8772741 cfganal.c: Include vec.h and vecprim.h.
* cfganal.c: Include vec.h and vecprim.h.
	(compute_idf): Import from...
	* tree-into-ssa (compute_idf): ...here.
	* basic-block.h (compute_idf): Export.

From-SVN: r137158
2008-06-26 20:06:49 +00:00
James Lemke
ddb6492440 Update my e-mail address for my new employer.
From-SVN: r137156
2008-06-26 19:46:34 +00:00
H.J. Lu
eb19b3a373 Clean up ChangeLog entries.
From-SVN: r137153
2008-06-26 10:57:43 -07:00
Paolo Carlini
688a7a07d7 stl_algo.h (partition_copy): Add in C++0x mode.
2008-06-26  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/stl_algo.h (partition_copy): Add in C++0x mode.
	* include/bits/algorithmfwd.h: Add.
	* testsuite/25_algorithms/headers/algorithm/synopsis.cc: Update.
	* testsuite/25_algorithms/partition_copy/1.cc: New.
	* testsuite/25_algorithms/partition_copy/check_type.cc: Likewise.
	* testsuite/25_algorithms/partition_copy/requirements/
	explicit_instantiation/2.cc: Likewise.
	* testsuite/25_algorithms/partition_copy/requirements/
	explicit_instantiation/pod.cc: Likewise.

From-SVN: r137152
2008-06-26 17:55:23 +00:00
Joey Ye
99e782246c Add missing entry
From-SVN: r137151
2008-06-26 17:46:21 +00:00
Joseph Myers
74b0ec7c40 c-decl.c (merge_decls): Use !current_function_decl to check for extern declaration of C99 inline...
* c-decl.c (merge_decls): Use !current_function_decl to check for
	extern declaration of C99 inline function being at file scope.

testsuite:
	* gcc.dg/inline-32.c, gcc.dg/inline-32a.c: New tests.

From-SVN: r137149
2008-06-26 16:40:56 +01:00