Commit Graph

113902 Commits

Author SHA1 Message Date
Arnaud Charlet
ee1a757231 [multiple changes]
2011-12-12  Thomas Quinot  <quinot@adacore.com>

	* exp_disp.adb: Minor reformatting.

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

	* gnatls.adb (Search_RTS): New procedure.
	(Scan_Ls_Arg): Move code that search the RTS.
	(Gnatls): search the RTS later.
	* prj-env.ads, prj-env.adb (Get_Runtime_Path): New function.

2011-12-12  Ed Falis  <falis@adacore.com>

	* sysdep.c: Fix treatment of VxWorks task options so that run-times
	built with __SPE__ get option VX_SPE_TASK while others get VX_FP_TASK.

2011-12-12  Bob Duff  <duff@adacore.com>

	* sem_type.adb, sem_type.ads, sem_ch4.adb, treepr.adb, treepr.ads:
	Minor cleanup and fiddling with debug printouts.

2011-12-12  Vincent Celier  <celier@adacore.com>

	* prj-nmsc.adb (Get_Directories): For a non extending project,
	always get a declared object and/or exec directory if it already
	exists, even when there are no sources, but do not create them.

2011-12-12  Bob Duff  <duff@adacore.com>

	* sem_res.adb (Resolve): Deal with the case where an abstract
	operator is called with operands of type universal_integer.

2011-12-12  Thomas Quinot  <quinot@adacore.com>

	* par_sco.adb: Minor fix to dominance marker referencing WHILE
	decision.

From-SVN: r182227
2011-12-12 12:49:31 +01:00
Arnaud Charlet
e8bd500e2d [multiple changes]
2011-12-12  Tristan Gingold  <gingold@adacore.com>

	* mlib-tgt-specific-xi.adb: (Get_Target_Prefix): Simplify code.

2011-12-12  Thomas Quinot  <quinot@adacore.com>

	* par_sco.adb: Adjust dominant marker for branches of CASE
	statements.

2011-12-12  Thomas Quinot  <quinot@adacore.com>

	* gsocket.h, s-oscons-tmplt.c: Ensure we do not include any system
	header file prior to redefining FD_SETSIZE.

2011-12-12  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch13.adb (Check_Aspect_At_End_Of_Declarations): In
	a generic context the aspect expressions may not have been
	preanalyzed if there was no previous freeze point, so the
	expressions must be preanalyzed now, and there is no conformance
	to check for visibility changes.

2011-12-12  Matthew Heaney  <heaney@adacore.com>

	* a-convec.adb, a-coinve.adb, a-cobove.adb (Iterator): Use
	subtype Index_Type'Base for Index component (Finalize): Remove
	unnecessary access check (First, Last): Cursor return value
	depends on iterator index value (Iterate): Use start position as
	iterator index value (Next, Previous): Forward to corresponding
	cursor-based operation.
	* a-cborma.adb (Iterate): Properly initialize iterator object (with 0
	as node index).

From-SVN: r182226
2011-12-12 12:28:03 +01:00
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