Commit Graph

113900 Commits

Author SHA1 Message Date
Kai Tietz
7520518f73 re PR libgcj/50053 (jc1 doesn't emit static initializer or initializer code for super class without -findirect-dispatch.)
PR libgcj/50053
        * java/lang/natClass.cc (java::lang::Class::newInstance): Special case
        member-call for 32-bit IA native Window target.

From-SVN: r182225
2011-12-12 11:40:27 +01:00
Arnaud Charlet
9c25bb25a8 [multiple changes]
2011-12-12  Robert Dewar  <dewar@adacore.com>

	* par_sco.adb, scos.ads, put_scos.adb, get_scos.adb: Minor reformatting.

2011-12-12  Steve Baird  <baird@adacore.com>

	* sem_ch3.adb (Check_Completion): Improve a comment.

2011-12-12  Tristan Gingold  <gingold@adacore.com>

	* cstand.adb: Minor comment fix.

From-SVN: r182224
2011-12-12 11:30:49 +01:00
Richard Guenther
7e529795d0 re PR debug/51262 (ICE: SIGSEGV in primary_template_instantiation_p (pt.c:2874) with -flto -g)
2011-12-12  Richard Guenther  <rguenther@suse.de>

	PR lto/51262
	* tree.c (cp_free_lang_data): No longer clear anonymous names.

	* g++.dg/opt/pr51262.C: New testcase.

From-SVN: r182221
2011-12-12 08:37:22 +00:00
Iain Sandoe
0a5a95f204 darwin-sections.def (zobj_const_data_section): Fix over- length section name.
gcc:

	* config/darwin-sections.def (zobj_const_data_section): Fix over-
	length section name.

From-SVN: r182220
2011-12-12 08:24:33 +00:00
Revital Eres
593ba58102 Fix PR testsuite/47013
From-SVN: r182219
2011-12-12 07:32:25 +00:00
Richard Henderson
d7366f83bf rs6000.c (rs6000_expand_interleave): Use BYTES_BIG_ENDIAN, not TARGET_BIG_ENDIAN.
* config/rs6000/rs6000.c (rs6000_expand_interleave): Use
        BYTES_BIG_ENDIAN, not TARGET_BIG_ENDIAN.

From-SVN: r182218
2011-12-11 18:57:18 -08:00
GCC Administrator
d2caef8945 Daily bump.
From-SVN: r182217
2011-12-12 00:18:04 +00:00
Jakub Jelinek
9c2390853e re PR tree-optimization/51485 (ICE in vectorizable_assignment)
PR tree-optimization/51485
	* tree-vect-data-refs.c (vect_analyze_data_refs): Give up on
	DRs in call stmts.

	* g++.dg/vect/pr51485.cc: New test.

From-SVN: r182212
2011-12-11 22:01:00 +01:00
Tobias Burnus
fba5ace06b re PR fortran/50923 (No warning if function return value is not set)
2011-12-11  Tobias Burnus  <burnus@net-b.de>

        PR fortran/50923
        * trans-decl.c (generate_local_decl): Set TREE_NO_WARNING only
        if the front end has printed a warning.
        (gfc_generate_function_code): Fix unset-result warning.

2011-12-11  Tobias Burnus  <burnus@net-b.de>

        PR fortran/50923
        * gfortran.dg/warn_function_without_result_2.f90: New.

From-SVN: r182211
2011-12-11 21:44:30 +01:00
Paul Thomas
c49ea23d52 re PR fortran/41539 ([OOP] Calling function which takes CLASS: Rank comparison does not work)
2011-12-11  Paul Thomas  <pault@gcc.gnu.org>
	Tobias Burnus  <burnus@gcc.gnu.org>

	PR fortran/41539
	PR fortran/43214
	PR fortran/43969
	PR fortran/44568
	PR fortran/46356
	PR fortran/46990
	PR fortran/49074
	* interface.c(symbol_rank): Return the rank of the _data
	component of class objects.
	(compare_parameter): Also compare the derived type of the class
	_data component for type mismatch.  Similarly, return 1 if the
	formal and _data ranks match.
	(compare_actual_formal): Do not compare storage sizes for class
	expressions. It is an error if an actual class array, passed to
	a formal class array is not full.
	* trans-expr.c (gfc_class_data_get, gfc_class_vptr_get,
	gfc_vtable_field_get, gfc_vtable_hash_get, gfc_vtable_size_get,
	gfc_vtable_extends_get, gfc_vtable_def_init_get,
	gfc_vtable_copy_get): New functions for class API.
	(gfc_conv_derived_to_class): For an array reference in an
	elemental procedure call retain the ss to provide the
	scalarized array reference. Moved in file.
	(gfc_conv_class_to_class): New function.
        (gfc_conv_subref_array_arg): Use the type of the
	class _data component as a basetype.
	(gfc_conv_procedure_call): Ensure that class array expressions
	have both the _data reference and an array reference. Use 
	gfc_conv_class_to_class to handle class arrays for elemental
	functions in scalarized loops, class array elements and full
	class arrays. Use a call to gfc_conv_subref_array_arg in order
	that the copy-in/copy-out for passing class arrays to derived
	type arrays occurs correctly.
	(gfc_conv_expr): If it is missing, add the _data component
	between a class object or component and an array reference.
	(gfc_trans_class_array_init_assign): New function.
	(gfc_trans_class_init_assign): Call it for array expressions.
	* trans-array.c (gfc_add_loop_ss_code): Do not use a temp for
	class scalars since their size will depend on the dynamic type.
	(build_class_array_ref): New function.
	(gfc_conv_scalarized_array_ref): Call build_class_array_ref.
	(gfc_array_init_size): Add extra argument, expr3, that represents
	the SOURCE argument. If present,use this for the element size.
	(gfc_array_allocate): Also add argument expr3 and use it when
	calling gfc_array_init_size.
	(structure_alloc_comps): Enable class arrays.
	* class.c (gfc_add_component_ref): Carry over the derived type
	of the _data component.
	(gfc_add_class_array_ref): New function.
	(class_array_ref_detected): New static function.
	(gfc_is_class_array_ref): New function that calls previous.
	(gfc_is_class_scalar_expr): New function.
	(gfc_build_class_symbol): Throw not implemented error for
	assumed size class arrays.  Remove error that prevents
	CLASS arrays.
	(gfc_build_class_symbol): Prevent pointer/allocatable conflict.
	Also unset codimension.
	(gfc_find_derived_vtab): Make 'copy' elemental and set the
	intent of the arguments accordingly.: 
	* trans-array.h : Update prototype for gfc_array_allocate.
	* array.c (gfc_array_dimen_size): Return failure if class expr.
	(gfc_array_size): Likewise.
	* gfortran.h : New prototypes for gfc_add_class_array_ref,
	gfc_is_class_array_ref and gfc_is_class_scalar_expr.
	* trans-stmt.c (trans_associate_var): Exclude class targets
	from test. Move the allocation of the _vptr to an earlier time
	for class objects.
	(trans_associate_var): Assign the descriptor directly for class
	arrays.
	(gfc_trans_allocate): Add expr3 to gfc_array_allocate arguments.
	Convert array element references into sections. Do not invoke
	gfc_conv_procedure_call, use gfc_trans_call instead.
	* expr.c (gfc_get_corank): Fix for BT_CLASS.
	(gfc_is_simply_contiguous): Exclude class from test.
	* trans.c (gfc_build_array_ref): Include class array refs.
	* trans.h : Include prototypes for class API functions that are
	new in trans-expr. Define GFC_DECL_CLASS(node).
	* resolve.c (check_typebound_baseobject ): Remove error for
	non-scalar base object.
	(resolve_allocate_expr): Ensure that class _data component is
	present. If array, call gfc_expr_to_intialize.
	(resolve_select): Remove scalar error for SELECT statement as a
	temporary measure.
	(resolve_assoc_var): Update 'target' (aka 'selector') as
	needed. Ensure that the target expression has the right rank.
	(resolve_select_type): Ensure that target expressions have a
	valid locus.
	(resolve_allocate_expr, resolve_fl_derived0): Fix for BT_CLASS.
	* trans-decl.c (gfc_get_symbol_decl): Set GFC_DECL_CLASS, where
	appropriate.
	(gfc_trans_deferred_vars): Get class arrays right.
	* match.c(select_type_set_tmp): Add array spec to temporary.
	(gfc_match_select_type): Allow class arrays.
	* check.c (array_check): Ensure that class arrays have refs.
	(dim_corank_check, dim_rank_check): Retrun success if class.
	* primary.c (gfc_match_varspec): Fix for class arrays and
	co-arrays. Make sure that class _data is present.
	(gfc_match_rvalue): Handle class arrays.
	*trans-intrinsic.c (gfc_conv_intrinsic_size): Add class array
	reference.
	(gfc_conv_allocated): Add _data component to class expressions.
	(gfc_add_intrinsic_ss_code): ditto.
	* simplify.c (simplify_cobound): Fix for BT_CLASS.
	(simplify_bound): Return NULL for class arrays.
	(simplify_cobound): Obtain correct array_spec. Use cotype as
	appropriate. Use arrayspec for bounds.

2011-12-11  Paul Thomas  <pault@gcc.gnu.org>
	Tobias Burnus  <burnus@gcc.gnu.org>

	PR fortran/41539
	PR fortran/43214
	PR fortran/43969
	PR fortran/44568
	PR fortran/46356
	PR fortran/46990
	PR fortran/49074
	* gfortran.dg/class_array_1.f03: New.
	* gfortran.dg/class_array_2.f03: New.
	* gfortran.dg/class_array_3.f03: New.
	* gfortran.dg/class_array_4.f03: New.
	* gfortran.dg/class_array_5.f03: New.
	* gfortran.dg/class_array_6.f03: New.
	* gfortran.dg/class_array_7.f03: New.
	* gfortran.dg/class_array_8.f03: New.
	* gfortran.dg/coarray_poly_1.f90: New.
	* gfortran.dg/coarray_poly_2.f90: New.
	* gfortran.dg/coarray/poly_run_1.f90: New.
	* gfortran.dg/coarray/poly_run_2.f90: New.
	* gfortran.dg/class_to_type_1.f03: New.
	* gfortran.dg/type_to_class_1.f03: New.
	* gfortran.dg/typebound_assignment_3.f03: Remove the error.
	* gfortran.dg/auto_dealloc_2.f90: Occurences of __builtin_free
	now 2.
	* gfortran.dg/class_19.f03: Occurences of __builtin_free now 8.


Co-Authored-By: Tobias Burnus <burnus@gcc.gnu.org>

From-SVN: r182210
2011-12-11 20:42:23 +00:00
Thomas Koenig
e07e39f6e5 re PR fortran/50690 (ICE with front end optimization and OMP workshare)
2011-12-11  Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR fortran/50690
	* frontend-passes.c (in_omp_workshare):  New variable.
	(cfe_expr_0):  Don't eliminiate common function if it would put
	the variable immediately into a WORKSHARE construct.
	(optimize_namespace):  Set in_omp_workshare.
	(gfc_code_walker):  Keep track of OMP PARALLEL and OMP WORKSHARE
	constructs.

2011-12-11  Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR fortran/50690
	* gfortran.dg/gomp/workshare2.f90:  New test.
	* gfortran.dg/gomp/workshare3.f90:  New test.

From-SVN: r182208
2011-12-11 17:43:22 +00:00
Jonathan Wakely
be0c93c512 abi.xml: Replace gcc-x.y.z with GCC x.y.z or x.y...
* doc/xml/manual/abi.xml: Replace gcc-x.y.z with GCC x.y.z or x.y,
	remove excessive duplication of version information.
	* doc/html/*: Regenerate.

From-SVN: r182206
2011-12-11 14:59:26 +00:00
Patrick Marlier
716286f40a trans-mem.c (ipa_tm_transform_calls_redirect): Do not remove edge.
* trans-mem.c (ipa_tm_transform_calls_redirect): Do not remove
        edge.

From-SVN: r182205
2011-12-11 14:02:52 +00:00
Eric Botcazou
8d2c862dfe * config/sparc/sol2-unwind.h: Use #ifdef directive consistently.
From-SVN: r182204
2011-12-11 11:23:15 +00:00
Eric Botcazou
cce30ea89c utils2.c (gnat_build_constructor): Test the TREE_STATIC flag of elements to compute that of the constructor.
* gcc-interface/utils2.c (gnat_build_constructor): Test the TREE_STATIC
	flag of elements to compute that of the constructor.

From-SVN: r182203
2011-12-11 11:05:58 +00:00
Eric Botcazou
4f96985d58 decl.c (gnat_to_gnu_param): Set the restrict qualifier on references built for parameters which aren't...
* gcc-interface/decl.c (gnat_to_gnu_param): Set the restrict qualifier
	on references built for parameters which aren't specifically by-ref.

From-SVN: r182202
2011-12-11 10:54:52 +00:00
Eric Botcazou
50751f49cc decl.c (gnat_to_gnu_entity): If there is an alignment set on a renaming...
* gcc-interface/decl.c (gnat_to_gnu_entity) <object>: If there is an
	alignment set on a renaming, assert that the renamed object is aligned
	enough as to make it possible to honor it.

From-SVN: r182201
2011-12-11 10:40:08 +00:00
Paolo Carlini
5d74133f84 2011-12-11 Paolo Carlini <paolo.carlini@oracle.com>
* Tweak ChangeLog.

From-SVN: r182200
2011-12-11 10:32:04 +00:00
Eric Botcazou
52e04e5635 * gcc-interface/trans.c (gigi): Initialize the linemap earlier.
From-SVN: r182199
2011-12-11 09:43:46 +00:00
GCC Administrator
e7bb3661e1 Daily bump.
From-SVN: r182198
2011-12-11 00:18:45 +00:00
Tobias Burnus
9be1227bfa trans-decl.c (add_argument_checking): Fix syntax.
2011-12-10  Tobias Burnus  <burnus@net-b.de>

        * trans-decl.c (add_argument_checking): Fix syntax.

From-SVN: r182194
2011-12-10 22:15:37 +01:00
Richard Henderson
5aebfdad58 rs6000: Implement vec_perm_const for all vector ISAs
* config/rs6000/altivec.md (altivec_vmrghb): Rewrite pattern as
        vec_select + vec_concat.
        (altivec_vmrghh, altivec_vmrghw, altivec_vmrghsf, altivec_vmrglb,
        altivec_vmrglh, altivec_vmrglw, altivec_vmrglsf): Likewise.
        (vec_perm_constv16qi): New.
        (vec_extract_evenv4si, vec_extract_evenv4sf, vpkuhum_nomode,
        vpkuwum_nomode, vec_extract_oddv8hi, vec_extract_oddv16qi,
        vec_interleave_high<VI>, vec_interleave_low<VI>): Remove.
        * config/rs6000/paired.md (paired_merge00): Rewrite pattern as
        vec_select + vec_concat.
        (paired_merge10, paired_merge01, paired_merge11): Likewise.
        (vec_perm_constv2sf): New.
        (vec_interleave_highv2sf, vec_interleave_lowv2sf,
        vec_extract_evenv2sf, vec_extract_oddv2sf): Remove.
        * config/rs6000/spe.md (spe_evmergehi): Rewrite pattern as
        vec_select + vec_concat.
        (spe_evmergehilo, spe_evmergelo, spe_evmergelohi): New.
        (vec_perm_constv2si): New.
        * config/rs6000/vector.md (vec_interleave_highv4sf,
        vec_interleave_lowv4sf, vec_interleave_high<VEC_64>,
        vec_interleave_low<VEC_64>): Remove.
        * config/rs6000/vsx.md (VS_double): New mode attribute.
        (UNSPEC_VSX_XXPERMDI): Remove.
        (vsx_xxpermdi_<VSX_L>_1): Rewrite pattern as vec_select + vec_concat.
        (vsx_xxmrghw_<VSX_W>, vsx_xxmrglw_<VSX_W>): Likewise.
        (vsx_xxpermdi_<VSX_L>): Change to expander.
        (vec_perm_const<VSX_D>): New.
        (vsx_mergel_<VSX_D>, vsx_mergeh_<VSX_D>): New.
        * config/rs6000/predicates.md (const_0_to_1_operand): New.
        (const_2_to_3_operand): New.
        * config/rs6000/rs6000.c (TARGET_VECTORIZE_VEC_PERM_CONST_OK): New.
        (altivec_expand_vec_perm_const): New.
        (rs6000_expand_vec_perm_const_1, rs6000_expand_vec_perm_const): New.
        (rs6000_vectorize_vec_perm_const_ok): New.
        (rs6000_do_expand_vec_perm): New.
        (rs6000_expand_extract_even, rs6000_expand_interleave): New.
        * config/rs6000/rs6000-builtin.def (VEC_MERGE*): Update rtx codes.
        * config/rs6000/rs6000-modes.def: Add double-wide vector modes.
        * config/rs6000/rs6000-protos.h: Update.

From-SVN: r182193
2011-12-10 13:14:04 -08:00
Richard Henderson
ccdfb0e2c6 Force the creation of a CONST_VECTOR for expand_vec_perm.
* expr.c (expand_expr_real_2) [VEC_PERM_EXPR]: Avoid passing a
        CONST_INT to expand_vec_perm as the selector.
        * optabs.c (expand_vec_perm): Assert the selector is of a proper mode.

From-SVN: r182192
2011-12-10 12:43:03 -08:00
Richard Henderson
a7de2c2a71 Let GET_MODE_2XWIDER_MODE find a double-width vector mode.
* genmodes.c (struct mode_data): Remove wider_2x member.
        (blank_mode): Adjust initializer.
        (calc_wider_mode): Use XALLOCAVEC.
        (emit_move_wider): Select double-width same-element vectors for
        2xwider vectors.
        * machmode.h (GET_MODE_2XWIDER_MODE): Update documentation.
        * config/i386/i386.c (doublesize_vector_mode): Remove.
        (expand_vselect_vconcat): Use GET_MODE_2XWIDER_MODE instead.

From-SVN: r182191
2011-12-10 12:42:55 -08:00
Tobias Burnus
be94c03412 trans-decl.c (add_argument_checking): Check ts.deferred earlier.
2011-12-10  Tobias Burnus  <burnus@net-b.de>
            Kai Tietz  <ktietz@redhat.com>

        * trans-decl.c (add_argument_checking): Check ts.deferred earlier.
        * trans-intrinsic.c (gfc_conv_intrinsic_repeat): Use %ld with long.


Co-Authored-By: Kai Tietz <ktietz@redhat.com>

From-SVN: r182190
2011-12-10 21:13:59 +01:00
Benjamin Kosnik
7897a1c029 user.cfg.in: Add macros, directories.
2011-12-10  Benjamin Kosnik  <bkoz@redhat.com>

	* doc/doxygen/user.cfg.in: Add macros, directories.
	* include/bits/locale_classes.h: Remove doxygen warnings, fix markup.
	* include/bits/locale_classes.tcc: Same.
	* include/bits/shared_ptr.h: Same.
	* include/bits/stl_algo.h: Same.
	* include/bits/stl_list.h: Same.
	* include/bits/stl_numeric.h: Same.
	* include/debug/safe_base.h: Same.
	* include/parallel/equally_split.h: Same.
	* include/std/bitset: Same.
	* include/std/complex: Same.
	* include/std/fstream: Same.
	* include/std/istream: Same.
	* include/std/ostream: Same.
	* include/tr2/dynamic_bitset: Same.
	* scripts/run_doxygen: Remove munging for names that no longer exist.

	* testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
	Adjust line numbers.
	* testsuite/23_containers/list/requirements/dr438/
	constructor_1_neg.cc: Same.
	* testsuite/23_containers/list/requirements/dr438/
	constructor_2_neg.cc: Same.
	* testsuite/23_containers/list/requirements/dr438/insert_neg.cc: Same.

From-SVN: r182189
2011-12-10 15:33:06 +00:00
François Dumont
f431d7ca38 unordered_set: Minor formatting changes.
2011-12-12  François Dumont <fdumont@gcc.gnu.org>

	* include/profile/unordered_set: Minor formatting changes.
	(unordered_set<>::_M_profile_destruct,
	unordered_multiset<>::_M_profile_destruct): Fix implementation to not
	rely on normal implementation details anymore.
	(unordered_set<>::_M_profile_resize,
	unordered_multiset<>::_M_profile_resize): Implement consistently
	accross all unordered containers.
	(unordered_set<>::emplace, unordered_set<>::emplace_hint,
	unordered_multiset<>::emplace, unordered_multset<>::emplace_hint): Add
	to signal rehash to profiling system.
	* include/profile/unordered_map: Likewise for unordered_map<> and
	unordered_multimap<>.

From-SVN: r182188
2011-12-10 14:00:03 +00:00
Joern Rennecke
188b7e235b epiphany-protos.h (epiphany_start_function): Declare.
gcc:
        * config/epiphany/epiphany-protos.h (epiphany_start_function): Declare.
        * config/epiphany/epiphany.c (epiphany_handle_interrupt_attribute):
        Split "timer" value into "timer0" and "timer1".
        Handle page_miss, message and wand.  Don't handle static_flag.
        Adjust warning text.
        (epiphany_start_function): New function.
        (epiphany_compute_function_type): Split "timer" value into "timer0"
        and "timer1".  Handle page_miss, message and wand.
        Don't handle static_flag.
        (epiphany_expand_epilogue): Don't use frame_insn for status / iret
        restore.
        * config/epiphany/epiphany.h: ASM_DECLARE_FUNCTION_NAME: Define.
        (enum epiphany_function_type):
        Split EPIPHANY_FUNCTION_TIMER value into EPIPHANY_FUNCTION_TIMER0
        and EPIPHANY_FUNCTION_TIMER1.
        Remove EPIPHANY_FUNCTION_ILINK1 and EPIPHANY_FUNCTION_ILINK2 values.
        Add EPIPHANY_FUNCTION_PAGE_MISS and EPIPHANY_FUNCTION_MESSAGE values.
        Rename EPIPHANY_FUNCTION_STATIC_FLAG to EPIPHANY_FUNCTION_WAND.
gcc/testsuite:
        * gcc.target/epiphany/interrupt.c: Add dg-options "-g".
        Add a scan-assembler-time clause to test for the interupt vector jump.
        (f): Rename to ...
        (dma0_handler): ... this.

From-SVN: r182187
2011-12-10 10:22:56 +00:00
Joern Rennecke
b149e5a261 epiphany.h (EPIPHANY_RETURN_REGNO): New macro, broken out of ..
* config/epiphany/epiphany.h (EPIPHANY_RETURN_REGNO): New macro,
        broken out of ..
        (INCOMING_RETURN_ADDR_RTX) .. this.  Use EPIPHANY_RETURN_REGNO.
        (DWARF_FRAME_RETURN_COLUMN): New macro.

From-SVN: r182186
2011-12-10 09:54:00 +00:00
Joern Rennecke
af7476b83d epiphany.h (USE_LOAD_POST_INCREMENT): Define.
* config/epiphany/epiphany.h (USE_LOAD_POST_INCREMENT): Define.
        (USE_LOAD_POST_DECREMENT, USE_STORE_POST_INCREMENT): Likewise.
        (USE_STORE_POST_DECREMENT): Likewise.

From-SVN: r182185
2011-12-10 09:40:02 +00:00
Nathan Sidwell
2ac69a0c6c re PR gcov-profile/51449 (Rev181994 causes tramp3d-v4 profiled build failure)
PR gcov-profile/51449
	* coverage.c (coverage_end_function): Always process the coverage
	variables.

	testsuite/
	* g++.dg/gcov/gcov-14.C: New.

From-SVN: r182184
2011-12-10 08:32:34 +00:00
GCC Administrator
e2d049842c Daily bump.
From-SVN: r182183
2011-12-10 00:19:08 +00:00
Aldy Hernandez
67fafdd15a tree.c (build_common_builtin_nodes): Do not use TM_PURE attribute unless language has support for TM.
PR/51291
        * tree.c (build_common_builtin_nodes): Do not use TM_PURE
        attribute unless language has support for TM.
        * config/i386/i386.c (ix86_init_tm_builtins): Exit gracefully in
        the absence of TM builtins.

From-SVN: r182179
2011-12-09 22:05:26 +00:00
Eric Botcazou
8f420307e0 gimple-fold.c (gimple_fold_stmt_to_constant_1): Also check the TYPE_MODE to recognize useless pointer conversions.
* gimple-fold.c (gimple_fold_stmt_to_constant_1) <GIMPLE_UNARY_RHS>:
	Also check the TYPE_MODE to recognize useless pointer conversions.

From-SVN: r182178
2011-12-09 21:11:21 +00:00
Jakub Jelinek
6d1c2bd3ae re PR tree-optimization/51117 (rev.181172 causes glibc build failure)
PR tree-optimization/51117
	* tree-eh.c (optimize_clobbers): Don't remove just one
	clobber, but all consecutive clobbers before RESX.
	Use gimple_clobber_p predicate.

From-SVN: r182177
2011-12-09 21:50:40 +01:00
Jason Merrill
d179d17907 re PR c++/51151 (Invalid -Woverflow warning in C++ frontend)
PR c++/51151
	* call.c (perform_implicit_conversion_flags): Remove earlier kludge.
	* parser.c (cp_parser_omp_for_loop): Use cp_parser_omp_for_incr
	in templates even if decl isn't type-dependent.

From-SVN: r182175
2011-12-09 15:18:22 -05:00
François Dumont
9b81593bbc hashtable.h (_Hashtable<>::emplace, [...]): Add.
2011-12-09  François Dumont <fdumont@gcc.gnu.org>

	* include/bits/hashtable.h (_Hashtable<>::emplace,
	_Hashtable<>::emplace_hint): Add.
	* include/debug/unordered_set (unordered_set<>::emplace,
	unordered_set<>::emplace_hint, unordered_multiset<>::emplace,
	unordered_multiset<>::emplace_hint): Add.
	* include/profile/unordered_set: Likewise.
	* include/debug/unordered_map (unordered_map<>::emplace,
	unordered_map<>::emplace_hint, unordered_multimap<>::emplace,
	unordered_multimap<>::emplace_hint): Add.
	* include/profile/unordered_map: Likewise.
	* testsuite/23_containers/unordered_map/modifiers/emplace.cc: New.
	* testsuite/23_containers/unordered_multimap/modifiers/emplace.cc:
	New.
	* testsuite/23_containers/unordered_set/modifiers/emplace.cc: New.
	* testsuite/23_containers/unordered_multiset/modifiers/emplace.cc:
	New.
	* testsuite/util/testsuite_container_traits.h
	(traits_base::has_emplace): Add and defined as std::true_type for
	unordered containers.
	* testsuite/util/exception/safety.h (emplace, emplace_hint): Add and
	use them in basic_safety exception test case.
	* doc/xml/manual/status_cxx2011.xml: Update unordered containers
	status.

From-SVN: r182174
2011-12-09 20:01:04 +00:00
Dodji Seketeli
60ef5d4e7f PR c++/51289 - ICE with alias template for bound template template parm
gcc/cp/

	PR c++/51289
	* cp-tree.h (TYPE_TEMPLATE_INFO): Rewrite this accessor macro to
	better support aliased types.
	(TYPE_ALIAS_P): Don't crash on TYPE_NAME nodes that are not
	TYPE_DECL.
	* pt.c (find_parameter_packs_r): Handle types aliases.
	(push_template_decl_real): Check for bare parameter packs in the
	underlying type of an alias template.

gcc/PR51289/gcc/testsuite/

	PR c++/51289
	* g++.dg/cpp0x/alias-decl-17.C: New test.

From-SVN: r182170
2011-12-09 19:12:45 +01:00
Michael Meissner
15ce64af29 Fix PR51469 (attr-ifunc fails on ppc); Make #pragma GCC target ("...") change macros on PPC
From-SVN: r182169
2011-12-09 17:10:27 +00:00
Ian Lance Taylor
9820d09c26 syslog: Fix name of C syslog function.
From Rainer Orth.

From-SVN: r182168
2011-12-09 16:46:44 +00:00
Ian Lance Taylor
ec2c72551e runtime: make print() built-in write to stderr.
Fixes issue 2294.

From-SVN: r182167
2011-12-09 16:42:40 +00:00
H.J. Lu
7de612096c Restore errors.o dependency
2011-12-09  H.J. Lu  <hongjiu.lu@intel.com>

	PR bootstrap/51479
	* Makefile.in (errors.o): Restored.

From-SVN: r182166
2011-12-09 07:59:51 -08:00
Michael Zolotukhin
43e78fd769 slp-13.c: Increase array size, add initialization.
* gcc.dg/vect/slp-13.c: Increase array size, add initialization.
	* gcc.dg/vect/slp-24.c: Ditto.
	* gcc.dg/vect/slp-3.c: Likewise and fix scans.
	* gcc.dg/vect/slp-34.c: Ditto.
	* gcc.dg/vect/slp-4.c: Ditto.
	* gcc.dg/vect/slp-cond-2.c: Ditto.
	* gcc.dg/vect/slp-multitypes-11.c: Ditto.
	* gcc.dg/vect/vect-1.c: Ditto.
	* gcc.dg/vect/vect-10.c: Ditto.
	* gcc.dg/vect/vect-105.c: Ditto.
	* gcc.dg/vect/vect-112.c: Ditto.
	* gcc.dg/vect/vect-15.c: Ditto.
	* gcc.dg/vect/vect-2.c: Ditto.
	* gcc.dg/vect/vect-31.c: Ditto.
	* gcc.dg/vect/vect-32.c: Ditto.
	* gcc.dg/vect/vect-33.c: Ditto.
	* gcc.dg/vect/vect-34.c: Ditto.
	* gcc.dg/vect/vect-35.c: Ditto.
	* gcc.dg/vect/vect-36.c: Ditto.
	* gcc.dg/vect/vect-6.c: Ditto.
	* gcc.dg/vect/vect-73.c: Ditto.
	* gcc.dg/vect/vect-74.c: Ditto.
	* gcc.dg/vect/vect-75.c: Ditto.
	* gcc.dg/vect/vect-76.c: Ditto.
	* gcc.dg/vect/vect-80.c: Ditto.
	* gcc.dg/vect/vect-85.c: Ditto.
	* gcc.dg/vect/vect-89.c: Ditto.
	* gcc.dg/vect/vect-97.c: Ditto.
	* gcc.dg/vect/vect-98.c: Ditto.
	* gcc.dg/vect/vect-all.c: Ditto.
	* gcc.dg/vect/vect-double-reduc-6.c: Ditto.
	* gcc.dg/vect/vect-iv-8.c: Ditto.
	* gcc.dg/vect/vect-iv-8a.c: Ditto.
	* gcc.dg/vect/vect-outer-1.c: Ditto.
	* gcc.dg/vect/vect-outer-1a.c: Ditto.
	* gcc.dg/vect/vect-outer-1b.c: Ditto.
	* gcc.dg/vect/vect-outer-2.c: Ditto.
	* gcc.dg/vect/vect-outer-2a.c: Ditto.
	* gcc.dg/vect/vect-outer-2c.c: Ditto.
	* gcc.dg/vect/vect-outer-3.c: Ditto.
	* gcc.dg/vect/vect-outer-3a.c: Ditto.
	* gcc.dg/vect/vect-outer-4a.c: Ditto.
	* gcc.dg/vect/vect-outer-4b.c: Ditto.
	* gcc.dg/vect/vect-outer-4c.c: Ditto.
	* gcc.dg/vect/vect-outer-4d.c: Ditto.
	* gcc.dg/vect/vect-outer-4m.c: Ditto.
	* gcc.dg/vect/vect-outer-fir-lb.c: Ditto.
	* gcc.dg/vect/vect-outer-fir.c: Ditto.
	* gcc.dg/vect/vect-over-widen-1.c: Ditto.
	* gcc.dg/vect/vect-over-widen-2.c: Ditto.
	* gcc.dg/vect/vect-over-widen-3.c: Ditto.
	* gcc.dg/vect/vect-over-widen-4.c: Ditto.
	* gcc.dg/vect/vect-reduc-1char.c: Ditto.
	* gcc.dg/vect/vect-reduc-2char.c: Ditto.
	* gcc.dg/vect/vect-reduc-pattern-1b.c: Ditto.
	* gcc.dg/vect/vect-reduc-pattern-1c.c: Ditto.
	* gcc.dg/vect/vect-reduc-pattern-2b.c: Ditto.
	* gcc.dg/vect/vect-shift-2.c: Ditto.
	* gcc.dg/vect/vect-strided-a-u8-i8-gap2.c: Ditto.
	* gcc.dg/vect/vect-strided-a-u8-i8-gap7.c: Ditto.
	* gcc.dg/vect/vect-strided-u8-i8-gap2.c: Ditto.
	* gcc.dg/vect/vect-strided-u8-i8-gap4.c: Ditto.
	* gcc.dg/vect/vect-strided-u8-i8-gap7.c: Ditto.

From-SVN: r182165
2011-12-09 15:21:08 +00:00
Joern Rennecke
6d26322f97 dse.c (get_stored_val, [...]): Use gen_int_mode.
* dse.c (get_stored_val, get_call_args): Use gen_int_mode.
        * expmed.c (expand_divmod): Likewise.
        * combine.c (simplify_if_then_else): Likewise.

From-SVN: r182164
2011-12-09 14:10:02 +00:00
Richard Guenther
4a33ac4a77 re PR lto/48042 (lto segfaults while building Qt 4.7.2 with -g -flto -fwhole-program)
2011-12-09  Richard Guenther  <rguenther@suse.de>

	PR lto/48042
	* tree.c (free_lang_data_in_decl): Remove freeing conditional
	on debuginfo level.

	* g++.dg/lto/pr48042_0.C: New testcase.

From-SVN: r182163
2011-12-09 13:49:22 +00:00
Joern Rennecke
7543f91816 re PR middle-end/40154 (internal compiler error: in do_SUBST, at combine.c:681)
PR middle-end/40154
        * emit-rtl.c (set_dst_reg_note): New function.
        * rtl.h (set_dst_reg_note): Declare.
        * optabs.c (expand_binop, expand_absneg_bit): Use set_dst_reg_note.
        (emit_libcall_block, expand_fix): Likewise.
        * function.c (assign_parm_setup_reg, expand_function_start): Likewise.
        * expmed.c (expand_mult_const, expand_divmod): Likewise.
        * reload1.c (gen_reload): Likewise.

From-SVN: r182162
2011-12-09 12:57:24 +00:00
Kai Tietz
fb5503484f ira-color.c (print_hard_regs_subforest): Use HOST_WIDEST_INT_PRINT_DEC instead of %lld.
* ira-color.c (print_hard_regs_subforest): Use
	HOST_WIDEST_INT_PRINT_DEC instead of %lld.
	(allocno_hard_regs): Change type of cost member
	to HOST_WIDEST_INT.
	(add_allocno_hard_regs): Change type of argument cost
	to HOST_WIDEST_INT.
	* ira-conflict.c (build_conflict_bit_table): Replace use
	of long-long by HOST_WIDEST_INT.

From-SVN: r182161
2011-12-09 13:27:20 +01:00
Georg-Johann Lay
3447cae6cc re PR target/49313 (Inefficient libgcc implementations for avr)
PR target/49313
	* config/avr/t-avr (LIB1ASMFUNCS): Add _muldi3.
	* config/avr/lib1funcs.S (__muldi3): New function.

From-SVN: r182160
2011-12-09 12:02:06 +00:00
Georg-Johann Lay
b7de39b780 re PR target/51425 (Compiler fails to produce SBIS/SBIC instructions)
PR target/51425
	* config/avr/avr.md (config/avr/avr.md, *sbix_branch_tmp): Use
	zero_extract:QIHI instead of zero_extract:HI.

From-SVN: r182159
2011-12-09 11:54:29 +00:00
Jakub Jelinek
960f0c9d4c re PR tree-optimization/51117 (rev.181172 causes glibc build failure)
PR tree-optimization/51117
	* tree-eh.c (optimize_clobbers): New function.
	(execute_lower_eh_dispatch): Call it.

Co-Authored-By: Andrew Pinski <apinski@cavium.com>

From-SVN: r182158
2011-12-09 12:48:30 +01:00