Commit Graph

88190 Commits

Author SHA1 Message Date
Ira Rosen
e2cefdd9d0 re PR tree-optimization/36648 (segfault in global constructor with -O3)
PR tree-optimization/36648
	* tree-vect-transform.c (vect_do_peeling_for_loop_bound): Divide
	number of prolog iterations by step. Fix the comment.

From-SVN: r137272
2008-06-30 11:43:55 +00:00
Richard Guenther
183ae5958e re PR middle-end/36671 (gfortran.dg/associated_1.f90)
2008-06-30  Richard Guenther  <rguenther@suse.de>

	PR middle-end/36671
	* tree-ssa-structalias.c (handle_lhs_call): Add flags argument,
	handle calls from ECF_MALLOC functions.
	(handle_pure_call): ECF_MALLOC functions do not return
	call-used memory.
	(find_func_aliases): Handle all calls, adjust calls to handle_lhs_call.

From-SVN: r137271
2008-06-30 11:39:53 +00:00
Alfred E. Heggestad
e3ec709716 backward_warning.h: Fix typo.
2008-06-30  Alfred E. Heggestad  <aeh@db.org>

	* include/backward/backward_warning.h: Fix typo.

From-SVN: r137269
2008-06-30 10:48:48 +00:00
GCC Administrator
65d9230fb3 Daily bump.
From-SVN: r137265
2008-06-30 00:17:10 +00:00
Paolo Carlini
1ffe7b6ed2 re PR c++/36655 (unjustified warning for "extern template" when using -pedantic -std=c++0x)
/cp
2008-06-29  Paolo Carlini  <paolo.carlini@oracle.com>

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

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

	PR c++/36655
	* g++.dg/cpp0x/extern_template-2.C: New.
	* g++.dg/cpp0x/extern_template.C: Rename to...
	* g++.dg/cpp0x/extern_template-1.C: ... this.

From-SVN: r137261
2008-06-29 21:44:57 +00:00
Krister Walfridsson
323ff90332 env.c (parse_stacksize): Add cast to avoid warning.
2008-06-29  Krister Walfridsson  <krister.walfridsson@gmail.com>

	* env.c (parse_stacksize): Add cast to avoid warning.
	(parse_spincount): Likewise.

From-SVN: r137260
2008-06-29 21:41:03 +00:00
Andreas Schwab
6ae89ea8fe m68k.c (print_operand): Always print a float constant in hex.
* config/m68k/m68k.c (print_operand): Always print a float
constant in hex.
* config/m68k/m68k.h (ASM_OUTPUT_FLOAT_OPERAND)
(ASM_OUTPUT_DOUBLE_OPERAND, ASM_OUTPUT_LONG_DOUBLE_OPERAND):
Remove macros.

From-SVN: r137259
2008-06-29 21:27:46 +00:00
Andrew Jenner
5b5b098dd4 MAINTAINERS (Write After Approval): Add myself.
* MAINTAINERS (Write After Approval):  Add myself.

From-SVN: r137258
2008-06-29 20:17:45 +00:00
Andreas Schwab
c2058aa42f * config/rs6000/x-linux64: Remove never used file.
From-SVN: r137257
2008-06-29 19:36:02 +00:00
Krister Walfridsson
d812ec939c MAINTAINERS: Update my email address.
2008-06-29  Krister Walfridsson  <krister.walfridsson@gmail.com>

	* MAINTAINERS: Update my email address.

From-SVN: r137256
2008-06-29 19:21:49 +00:00
Thomas Koenig
986a8d11c7 re PR fortran/36341 (MATMUL: Bounds check missing)
2008-06-29  Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR fortran/36341
	* iresolve.c (gfc_resolve_matmul): Copy shapes
	from arguments.

2008-06-29  Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR fortran/36341
	* gfortran.dg/matmul_bounds_1.f90:  New test.

From-SVN: r137255
2008-06-29 19:06:06 +00:00
Jerry DeLisle
082b0571b5 invoke.texi: Add documentation for runtime behavior of -fno-range-check.
2008-06-29  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	* invoke.texi: Add documentation for runtime behavior of
	-fno-range-check.

From-SVN: r137254
2008-06-29 18:56:08 +00:00
Paolo Carlini
a5a6b58639 string_conversions.cc: Remove.
2008-06-29  Paolo Carlini  <paolo.carlini@oracle.com>

	* src/string_conversions.cc: Remove.
	* config/abi/pre/gnu.ver: Delete exports.
	* src/Makefile.am: Update.
	* include/ext/string_conversions.h: Add.
	* include/Makefile.am: Update.
	* include/bits/basic_string.h: Include string_conversions.h,
	define numeric conversion functions.
	* include/ext/vstring.h: Likewise.
	* src/Makefile.in: Regenerate.
	* include/Makefile.in: Regenerate.

From-SVN: r137253
2008-06-29 15:46:50 +00:00
Richard Guenther
faf2ecc57e tree-ssa-structalias.h (compute_points_to_sets): Adjust prototype.
2008-06-29  Richard Guenther  <rguenther@suse.de>

	* tree-ssa-structalias.h (compute_points_to_sets): Adjust
	prototype.
	(struct alias_info): Move ...
	* tree-ssa-alias.c: ... here.
	(update_alias_info): Declare.
	(compute_may_aliases): Call it.
	(update_alias_info): New function.
	* tree-ssa-structalias.c (update_alias_info): Move ...
	* tree-ssa-alias.c (update_alias_info_1): ... here.
	* tree-ssa-structalias.c (process_constraint_1): Remove
	unused from_call argument.  Rename to ...
	(process_constraint): ... this.  Delete old wrapper.
	(make_constraint_to): Adjust callers.
	(handle_const_call): Likewise.
	(handle_pure_call): Likewise.
	(init_base_vars): Likewise.
	(handle_lhs_call): Likewise.  Remove unnecessary constraint.
	(find_func_aliases): We don't need structure copies for
	complex types.
	(make_constraint_from_anything): Remove.
	(create_variable_info_for): For globals make constraints
	from escaped, not from anything.
	(compute_points_to_sets): Do not call update_alias_info.
	(ipa_pta_execute): Use make_constraint_from.

From-SVN: r137252
2008-06-29 15:44:00 +00:00
Paolo Carlini
b03717765d stl_algo.h (copy_n): Add in C++0x mode.
2008-06-29  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/stl_algo.h (copy_n): Add in C++0x mode.
	* include/bits/algorithmfwd.h: Add.
	* include/bits/stl_uninitialized.h (uninitialized_copy_n): Add
	in C++0x mode.
	* testsuite/20_util/specialized_algorithms/uninitialized_copy_n/
	move_iterators/1.cc: New
	* testsuite/25_algorithms/headers/algorithm/synopsis.cc: Update.
	* testsuite/25_algorithms/copy_n/1.cc: New.
	* testsuite/25_algorithms/copy_n/2.cc: Likewise.
	* testsuite/25_algorithms/copy_n/3.cc: Likewise.
	* testsuite/25_algorithms/copy_n/4.cc: Likewise.
	* testsuite/25_algorithms/copy_n/move_iterators/1.cc: Likewise.
	* testsuite/25_algorithms/copy_n/requirements/
	explicit_instantiation/2.cc: Likewise.
	* testsuite/25_algorithms/partition_point/requirements/
	explicit_instantiation/pod.cc: Likewise.

From-SVN: r137251
2008-06-29 11:08:26 +00:00
Jakub Jelinek
7dfab247a1 re PR testsuite/36620 (gcc.dg/pr36504.c doesn't work on 32bit)
PR testsuite/36620
	* gcc.dg/pr36504.c: Add -w to dg-options.

From-SVN: r137249
2008-06-29 12:39:05 +02:00
Ira Rosen
e6f4b8ccd2 pr36493.c: Require vect_long.
* gcc.dg/vect/pr36493.c: Require vect_long.

From-SVN: r137247
2008-06-29 06:57:39 +00:00
Kaveh R. Ghazi
572e5ae36a optabs.c (libfunc_decl_hash, [...]): Fix -Wcast-qual warnings.
* optabs.c (libfunc_decl_hash, libfunc_decl_eq): Fix -Wcast-qual
	warnings.

	* Makefile.in (CXX_COMPAT_WARN, cxx_compat_warn): Delete.
	(bitmap.o-warn, dominance.o-warn): New.
	* configure.ac (cxx_compat_warn): Delete.
	(loose_warn): Add -Wcast-qual and -Wc++-compat.
	* system.h: Remove #pragma diagnostic for -Wcast-qual and
	-Wc++-compat.
	* configure: Regenerate.
	
cp:
	* Make-lang.in (cp-warn): Delete $(CXX_COMPAT_WARN).

java:
	* Make-lang.in (java/jcf-io.o-warn): New.

From-SVN: r137246
2008-06-29 05:36:20 +00:00
Kaveh R. Ghazi
4dc6c528c2 alloc-pool.c (create_alloc_pool): Fix -Wc++-compat warnings.
* alloc-pool.c (create_alloc_pool): Fix -Wc++-compat warnings.
	* df-scan.c (df_notes_rescan): Likewise.
	* ggc-page.c (set_page_table_entry): Likewise.
	* intl.c (gcc_gettext_width): Likewise.
	* varasm.c (get_unnamed_section, get_noswitch_section,
	get_section): Likewise.

From-SVN: r137245
2008-06-29 04:39:16 +00:00
GCC Administrator
4152a484b4 Daily bump.
From-SVN: r137243
2008-06-29 00:17:17 +00:00
Jerry DeLisle
23b1e6acf3 namelist_50.f90: New test.
2008-06-28  Jerry DeLisle <jvdelisle@gcc.gnu.org>

	* gfortran.dg/namelist_50.f90: New test.

From-SVN: r137239
2008-06-28 23:11:53 +00:00
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