1. 16 Dec, 2011 11 commits
  2. 15 Dec, 2011 29 commits
    • re PR libstdc++/51558 (Declaration of unspecialized… · 92637e93
      re PR libstdc++/51558 (Declaration of unspecialized std::hash<_Tp>::operator()(_Tp) turns compile-time errors into link-time errors)
      
      2011-12-15  Paolo Carlini  <paolo.carlini@oracle.com>
      	    Jonathan Wakely  <jwakely.gcc@gmail.com>
      
      	PR libstdc++/51558
      	* include/bits/functional_hash.h (struct hash): Add static_assert.
      	* src/compatibility-c++0x.cc: Adjust compatibility definitions.
      	* testsuite/23_containers/unordered_map/erase/51142.cc: Adjust.
      	* testsuite/23_containers/unordered_set/erase/51142.cc: Likewise.
      	* testsuite/23_containers/unordered_multimap/erase/51142.cc: Likewise.
      	* testsuite/23_containers/unordered_multiset/erase/51142.cc: Likewise.
      
      Co-Authored-By: Jonathan Wakely <jwakely.gcc@gmail.com>
      
      From-SVN: r182392
      Paolo Carlini committed
    • re PR c++/51458 (Accepts invalid designated initializers) · 5058651d
      	PR c++/51458
      	* decl.c (has_designator_problem): New.
      	(reshape_init_r): Check for improper use of
      	designated initializers.
      
      From-SVN: r182391
      Jason Merrill committed
    • rl78.md (return): Rename to rl78_return. · 794f3386
      * config/rl78/rl78.md (return): Rename to rl78_return.
      * config/rl78/rl78.c (rl78_expand_epilogue): Use new name.
      (rl78_expand_eh_epilogue): Use new name.
      (rl78_calculate_death_notes): Likewise.
      
      From-SVN: r182390
      DJ Delorie committed
    • trans-expr.c (gfc_walk_function_expr): Detect elemental procedure components as… · 1b26c26b
      trans-expr.c (gfc_walk_function_expr): Detect elemental procedure components as well as elemental procedures.
      
      2011-12-15  Paul Thomas  <pault@gcc.gnu.org>
      
      	* trans-expr.c (gfc_walk_function_expr): Detect elemental
      	procedure components as well as elemental procedures.
      	* trans-array.c (gfc_conv_procedure_call): Ditto.
      	* trans-decl.c (gfc_trans_deferred_vars): Correct erroneous
      	break for class pointers to continue.
      
      2011-12-15  Paul Thomas  <pault@gcc.gnu.org>
      
      	* gfortran.dg/class_array_3.f03: Remove explicit indexing of
      	A%disp() to use scalarizer.
      	* gfortran.dg/class_array_9.f03: New.
      
      From-SVN: r182389
      Paul Thomas committed
    • tree-vectorizer.h (struct _stmt_vec_info): Remove pattern_def_stmt field, add pattern_def_seq. · 363477c0
      	* tree-vectorizer.h (struct _stmt_vec_info): Remove pattern_def_stmt
      	field, add pattern_def_seq.
      	(STMT_VINFO_PATTERN_DEF_STMT): Remove.
      	(STMT_VINFO_PATTERN_DEF_SEQ): Define.
      	(NUM_PATTERNS): Bump to 10.
      	* tree-vect-loop.c (vect_determine_vectorization_factor,
      	vect_transform_loop): Adjust for pattern def changing from a single
      	gimple stmt to gimple_seq.
      	* tree-vect-stmts.c (vect_analyze_stmt, new_stmt_vec_info,
      	free_stmt_vec_info): Likewise.
      	* tree-vect-patterns.c (vect_recog_over_widening_pattern,
      	vect_recog_vector_vector_shift_pattern,
      	vect_recog_mixed_size_cond_pattern, adjust_bool_pattern_cast,
      	adjust_bool_pattern, vect_mark_pattern_stmts): Likewise.
      	(vect_recog_sdivmod_pow2_pattern): New function.
      	(vect_vect_recog_func_ptrs): Add it.
      
      	* config/i386/sse.md (vcond<V_256:mode><VI_256:mode>,
      	vcond<V_128:mode><VI124_128:mode>, vcond<VI8F_128:mode>v2di):
      	Use general_operand instead of nonimmediate_operand for
      	operand 5 and no predicate for operands 1 and 2.
      	* config/i386/i386.c (ix86_expand_int_vcond): Optimize
      	x < 0 ? -1 : 0 and x < 0 ? 1 : 0 into vector arithmetic
      	resp. logical shift.
      
      	* gcc.dg/vect/vect-sdivmod-1.c: New test.
      
      From-SVN: r182388
      Jakub Jelinek committed
    • re PR c++/51463 ([c++0x] [4.7 Regression] ICE declaring a member function virtual and static) · e1b750d8
      	PR c++/51463
      	* decl.c (grokdeclarator): Set DECL_INITIAL of decl
      	to error_mark_node to disallow NSDMI if declspecs->storage_class
      	is sc_static.
      	* parser.c (cp_parser_late_parse_one_default_arg): Return early
      	if default_arg is error_mark_node.
      
      	* g++.dg/cpp0x/pr51463.C: New test.
      
      From-SVN: r182387
      Jakub Jelinek committed
    • avr-protos.h (print_operand): Remove. · 666b67b1
      	* config/avr/avr-protos.h (print_operand): Remove.
      	(print_operand_address): Remove.
      	* config/avr/avr.h (PRINT_OPERAND): Remove.
      	(PRINT_OPERAND_ADDRESS): Remove.
      	(PRINT_OPERAND_PUNCT_VALID_P): Remove.
      	* config/avr/avr.c (TARGET_PRINT_OPERAND): New hook define.
      	(TARGET_PRINT_OPERAND_ADDRESS): New hook define.
      	(TARGET_PRINT_OPERAND_PUNCT_VALID_P): New hook define.
      	(print_operand_address): Rename to...
      	(avr_print_operand_address): ...this and make static.
      	(print_operand): Rename to...
      	(avr_print_operand): ...this and make static.
      	(avr_print_operand_punct_valid_p): New static function.
      
      From-SVN: r182386
      Georg-Johann Lay committed
    • 9780-2.cc: Add test for "C" locale, add sanity checks in case of grouping. · faf81b1a
      2011-12-15  Benjamin Kosnik  <bkoz@redhat.com>
      
              * testsuite/22_locale/num_put/put/char/9780-2.cc: Add test for "C"
              locale, add sanity checks in case of grouping.
      
      From-SVN: r182385
      Benjamin Kosnik committed
    • re PR fortran/51310 (-finit-bla doesn't initialize *all* items of type bla to… · a3fd80ea
      re PR fortran/51310 (-finit-bla doesn't initialize *all* items of type bla to the requested constant.)
      
      2011-12-15  Toon Moene  <toon@moene.org>
      
      	PR fortran/51310
      	* resolve.c (build_default_init_expr): Allow non-allocatable,
      	non-compile-time-constant-shape arrays to have a default
      	initializer.
      	* invoke.texi: Delete the restriction on automatic arrays not
      
      From-SVN: r182384
      Toon Moene committed
    • freebsd.h (TARGET_ASM_FILE_END): Define. · fb38bcf4
      2011-12-15  Andreas Tobler  <andreast@fgznet.ch>
      
      	* config/i386/freebsd.h (TARGET_ASM_FILE_END): Define.
      
      From-SVN: r182382
      Andreas Tobler committed
    • re PR c/51360 (spurious unused-but-set-variable warning for var used in OpenMP pragma) · 7d1362bc
      	PR c/51360
      	* c-parser.c (c_parser_omp_clause_num_threads,
      	c_parser_omp_clause_schedule): Call mark_exp_read.
      
      	* semantics.c (finish_omp_clauses): For OMP_CLAUSE_NUM_THREADS_EXPR
      	and OMP_CLAUSE_SCHEDULE_CHUNK_EXPR call mark_rvalue_use.
      
      	* c-c++-common/gomp/pr51360.c: New test.
      	* g++.dg/gomp/pr51360.C: New test.
      
      From-SVN: r182381
      Jakub Jelinek committed
    • re PR middle-end/49806 (FAIL: gcc.dg/tree-ssa/vrp47.c) · 323492f6
      	PR middle-end/49806
      	* gcc.dg/tree-ssa-vrp47.c: Add -fdump-tree-dom2 to dg-options.
      	Check for x_? & y in dom2 dump and xfail the check in dom1 dump.
      
      From-SVN: r182380
      Jakub Jelinek committed
    • re PR tree-optimization/51117 (rev.181172 causes glibc build failure) · e0bb3f18
      	PR tree-optimization/51117
      	* g++.dg/opt/pr51117.C: New test.
      
      From-SVN: r182379
      Jakub Jelinek committed
    • builtins.def (BUILT_IN_STPNCPY_CHK): New definition. · f3fc9b80
      	* builtins.def (BUILT_IN_STPNCPY_CHK): New definition.
      	* builtins.c (expand_builtin, fold_builtin_4, maybe_emit_chk_warning):
      	Add BUILT_IN_STPNCPY_CHK case.
      	* gimple-fold.c (gimple_fold_builtin): Likewise.
      	* tree-object-size.c (pass_through_call): Likewise.
      	* tree-ssa-alias.c (ref_maybe_used_by_call_p_1,
      	call_may_clobber_ref_p_1): Likewise.
      	* tree-ssa-structalias.c (find_func_aliases_for_builtin_call,
      	find_func_clobbers): Likewise.
      	* tree.h (fold_builtin_strncpy_chk): Rename to fold_builtin_stxncpy_chk
      	* builtins.c (fold_builtin_strncpy_chk): Likewise.
      	Rewrite stpncpy_chk calls to strncpy_chk calls if returned value is
      	ignored.
      
      	* gcc.c-torture/execute/builtins/chk.h (stpncpy, stpncpy_disallowed):
      	New definitions.
      	* gcc.c-torture/execute/builtins/lib/chk.c (stpncpy_disallowed):
      	Likewise.
      	(stpncpy, __stpncpy_chk): New functions.
      	* gcc.c-torture/execute/builtins/stpncpy-chk-lib.c: New file.
      	* gcc.c-torture/execute/builtins/stpncpy-chk.c: Likewise.
      
      From-SVN: r182378
      Romain Geissler committed
    • re PR debug/51567 (ICE in splice_child_die, at dwarf2out.c:5009 with -flto -g) · ee7a54c5
      2011-12-15  Richard Guenther  <rguenther@suse.de>
      
      	PR lto/51567
      	* gimple.c (compare_type_names_p): Also compare the TREE_CODE.
      	(iterative_hash_name): Also hash the TREE_CODE.
      	(gimple_types_compatible_p_1): For types with a TYPE_DECL
      	name and a type DECL_CONTEXT recurse to that type.
      	(iterative_hash_gimple_type): Likewise.
      
      	* g++.dg/lto/pr51567-1_0.C: New testcase.
      
      From-SVN: r182377
      Richard Guenther committed
    • rs6000.c (rs6000_emit_prologue): Move update of VRSave mask to save_world() when that is in use. · 6a2045bf
      
      gcc:
      
      	* config/rs6000/rs6000.c  (rs6000_emit_prologue): Move update of
      	VRSave mask to save_world() when that is in use.
      
      libgcc:
      
      	* config/rs6000/darwin-world.S (toplevel): Make it clear that this
      	function is not used for PPC64.  
      	(save_world): Amend comments.  Update the VRsave mask to reflect the
      	saved regs.
      	(rest_world): Update comments, do not  clobber r10, do not use r8.
      	(eh_rest_world_r10): Amend comments, do not use r8.
      	(rest_world_eh_r7r8): Rename as local Lrest_world_eh_r7, since r8 is
      	no longer used, move restore of CR and target address to the end of
      	the routine.
      
      From-SVN: r182376
      Iain Sandoe committed
    • PR c++/51473 - ICE with invalid auto · f03e689a
      gcc/cp/
      
      	PR c++/51473
      	* decl.c (check_tag_decl): Error out on auto specifier with no
      	declarator.
      
      gcc/testsuite/
      
      	PR c++/51473
      	* g++.dg/cpp0x/auto30.C: New test.
      
      From-SVN: r182375
      Dodji Seketeli committed
    • a-numaux-vms.ads, [...]: New files. · 90376fad
      2011-12-15  Arnaud Charlet  <charlet@adacore.com>
      
              * a-numaux-vms.ads, s-asthan-vms-ia64.adb, s-auxdec-vms-ia64.adb,       
              s-memory-vms_64.adb, s-memory-vms_64.ads, s-osinte-vms-ia64.adb,
              s-osinte-vms-ia64.ads, s-tasdeb-vms.adb: New files.
      
      From-SVN: r182374
      Arnaud Charlet committed
    • re PR fortran/51550 (ICE in gfc_get_derived_type, at fortran/trans-types.c:2401) · 0c5c7b00
      2011-12-15  Tobias Burnus  <burnus@net-b.de>
      
              PR fortran/51550
              PR fortran/47545
              PR fortran/49050
              PR fortran/51075
              * resolve.c (resolve_fl_derived0): Print not-implemented error
              for deferred-length character components.
      
      From-SVN: r182372
      Tobias Burnus committed
    • primary.c (gfc_match_varspec): Match array spec for polymorphic coarrays. · 492792ed
      2011-12-15  Tobias Burnus  <burnus@net-b.de>
      
              * primary.c (gfc_match_varspec): Match array spec for
              polymorphic coarrays.
              (gfc_match_rvalue): If a symbol of unknown flavor has a
              codimension, mark it as a variable.
              * simplify.c (gfc_simplify_image_index): Directly call
              simplify_cobound.
              * trans-intrinsic.c (trans_this_image): Fix handling of
              corank = 1 arrays.
      
      2011-12-15  Tobias Burnus  <burnus@net-b.de>
      
              * gfortran.dg/coarray/poly_run_3.f90: New.
              * gfortran.dg/coarray/poly_run_2.f90: Enable comment-out test.
      
      From-SVN: r182371
      Tobias Burnus committed
    • lto-wrapper.c (run_gcc): In non-parallel mode remove ltrans inputs immediately… · 9d69847d
      lto-wrapper.c (run_gcc): In non-parallel mode remove ltrans inputs immediately after processing them.
      
      2011-12-15  Richard Guenther  <rguenther@suse.de>
      
      	* lto-wrapper.c (run_gcc): In non-parallel mode remove
      	ltrans inputs immediately after processing them.  In parallel
      	mode truncate the ltrans inputs in the make rule that processes
      	them if temporary files are not to be preserved.
      
      From-SVN: r182370
      Richard Guenther committed
    • arm.h (REGISTER_MOVE_COST, [...]): Remove. · 7598036b
      	* config/arm/arm.h (REGISTER_MOVE_COST, MEMORY_MOVE_COST): Remove.
      	* config/arm/arm.c (arm_memory_move_cost, arm_register_move_cost):
      	New functions.
      	(TARGET_REGISTER_MOVE_COST, TARGET_MEMORY_MOVE_COST): Define.
      
      From-SVN: r182369
      Anatoly Sokolov committed
    • [multiple changes] · dec6faf1
      2011-12-15  Vincent Pucci  <pucci@adacore.com>
      
      	* aspects.adb, aspects.ads Aspect_Dimension and
      	Aspect_Dimension_System added
      	* exp_ch6.adb (Expand_Call): Expand_Put_Call_With_Dimension_String
      	case added
      	* gcc-interface/Make-lang.in: s-llflex, sem_dim added.
      	* impunit.adb :s-diflio and s-diinio defined as GNAT Defined
      	Additions to System.
      	* Makefile.rtl: s-diflio, s-diinio and s-llflex added
      	* par-prag.adb, sem_prag.adb: Pragma_Dimension removed
      	* rtsfind.ads: Expon_LLF added
      	* sem_aggr.adb (Resolve_Aggregate): handles aggregate for
      	Aspect_Dimension case
      	* sem_attr.adb (Resolve_Attribute): analyze dimension for
      	attribute
      	* sem_ch10.adb (Analyze_With_Clause): Avoid the warning messages
      	due to the use of a GNAT library for Dimension packages
      	* sem_ch13.adb (Analyze_Aspect_Specifications):
      	Aspect_Dimension and Aspect_Dimension_System cases added
      	(Check_Aspect_At_Freeze_Point): Aspect_Dimension and
      	Aspect_Dimension_System cases added
      	* sem_ch2.adb (Analyze_Identifier): analyze dimension for
      	identifier
      	* sem_ch3.adb (Analyze_Component_Declaration): analyze dimension
      	for component declaration (Analyze_Object_Declaration): analyze
      	dimension for object declaration (Analyze_Subtype_Declaration):
      	analyze dimension for subtype declaration
      	* sem_ch4.adb (Operator_Check): checks exponent is a rational
      	for dimensioned operand for a N_Op_Expon
      	* sem_ch5.adb (Analyze_Assignment): analyze dimension for
      	assignment (Analyze_Statements): removal of dimensions in all
      	statements
      	* sem_ch6.adb (Analyze_Return_Statement): analyze dimension for
      	return statement
      	* sem_ch8.adb (Analyze_Object_Renaming): analyze dimension for
      	object renaming
      	* sem_dim.adb, sem_dim.ads (Analyze_Aspect_Dimension):
      	analyze the expression for aspect dimension and store the
      	values in a Htable.
      	(Analyze_Aspect_Dimension_System): analyze
      	the expression for aspect dimension system and store the new
      	system in a Table.
      	(Analyze_Dimension): propagates dimension
      	(Expand_Put_Call_With_Dimension_String): add the dimension
      	string as a suffix of the numeric value in the output
      	(Has_Dimension): return True if the node has a dimension
      	(Remove_Dimension_In_Declaration): removal of dimension in the
      	expression of the declaration.
      	(Remove_Dimension_In_Statement): removal of dimension in statement
      	* sem_res.adb (Resolve): analyze dimension if the node
      	has already been analyzed.
      	(Resolve_Arithmetic_Op): analyze
      	dimension for arithmetic op.
      	(Resolve_Call): analyze dimension for function call.
      	(Resolve_Comparison_Op): analyze dimension for comparison op.
      	(Resolve_Equality_Op): analyze dimension for equality op.
      	(Resolve_Indexed_Component): analyze dimension for indexed component.
      	(Resolve_Op_Expon): analyze dimension for op expon.
      	(Resolve_Selected_Component): analyze dimension
      	for selected component.
      	(Resolve_Slice): analyze dimension for slice.
      	(Resolve_Unary_Op): analyze dimension for unary op
      	(Resolve_Type_Conversion): analyze dimension for type conversion
      	(Resolve_Unchecked_Type_Conversion): analyze dimension for
      	unchecked type conversion
      	* snames.ads-tmpl Name_Dimension, Name_Dimension_System,
      	Name_Dim_Float_IO, Name_Dim_Integer_IO,
      	Name_Generic_Elementary_Functions, Name_Sqrt added.
      	Pragma_Dimension removed
      	* s-diflio.adb, s-diflio.ads New GNAT library generic package
      	for dimensioned float type IO
      	* s-diinio.adb, s-diinio.ads New GNAT library generic package
      	for dimensioned integer type IO
      	* s-llflex.ads (Expon_LLF): exponentiation routine for long long
      	floats operand and exponent
      
      2011-12-15  Robert Dewar  <dewar@adacore.com>
      
      	* sem_aggr.adb: Minor comment addition.
      
      2011-12-15  Bob Duff  <duff@adacore.com>
      
      	* s-tasren.adb (Task_Count): Do not call Yield; E'Count is not a
      	task dispatching point.
      	* s-taprop-mingw.adb (Yield): Do not yield if Do_Yield is False.
      
      From-SVN: r182368
      Arnaud Charlet committed
    • re PR debug/51564 (ICE in force_type_die, at dwarf2out.c:19288) · ca814625
      2011-12-15  Richard Guenther  <rguenther@suse.de>
      
      	PR lto/51564
      	* tree.h (REGISTER_DEFS_IN_THIS_STMT, NECESSARY,
      	STMT_IN_SSA_EDGE_WORKLIST): Remove no longer existing flag
      	uses documentation.
      	(TREE_ASM_WRITTEN): Update documentation to mention its use
      	on TYPE_DECLs from debug info generation.
      	* tree-streamer-out.c (pack_ts_base_value_fields): Stream
      	TREE_ASM_WRITTEN as always zero for TYPE_DECLs, similar to
      	all other types.
      
      	* g++.dg/lto/pr51564-1_0.C: New testcase.
      
      From-SVN: r182367
      Richard Guenther committed
    • sigtramp-ppcvxw.c, sigtramp.h: Fix header. · ba986b7d
      2011-12-15  Robert Dewar  <dewar@adacore.com>
      
      	* sigtramp-ppcvxw.c, sigtramp.h: Fix header.
      
      From-SVN: r182366
      Robert Dewar committed
    • [multiple changes] · d9937d1b
      2011-12-15  Javier Miranda  <miranda@adacore.com>
      
      	* exp_attr.adb (Expand_N_Attribute_Reference): For 'alignment
      	applied to a class-wide type under VM targets generate code which
      	invokes the function Get_Alignment to retrieve the value of the
      	alignment from the TSD.
      	* rtsfind.ads (RE_Get_Alignment): New entity.
      
      2011-12-15  Robert Dewar  <dewar@adacore.com>
      
      	* g-comlin.adb: Fix header.
      
      From-SVN: r182365
      Arnaud Charlet committed
    • [multiple changes] · 887d102a
      2011-12-15  Tristan Gingold  <gingold@adacore.com>
      
      	* gnatls.adb: Fix typo.
      
      2011-12-15  Ed Falis  <falis@adacore.com>
      
      	* s-tpopsp-vxworks.adb: Update comment.
      
      2011-12-15  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_aggr.adb (Resolve_Array_Aggregate, Resolve_Aggr_Expr); If
      	the component type has predicates, generate corresponding check.
      	(Resolve_Record_Aggregate, Resolve_Aggr_Expr): Ditto.
      
      From-SVN: r182364
      Arnaud Charlet committed
    • re PR target/51050 ([AVR, attiny26] ICE: invalid rtl sharing found in the insn) · 4e15cee6
      	PR target/51050
      	* config/avr/avr.c (expand_epilogue): Don't build SUBREG of fp.
      	(avr_prologue_setup_frame): Ditto.
      
      From-SVN: r182363
      Georg-Johann Lay committed
    • re PR debug/51517 (Wrong debug information for pointers with negative strides.) · 0c1e1df8
      	PR debug/51517
      	* trans-decl.c (gfc_get_symbol_decl): Don't set DECL_INITAL on span.
      	(gfc_trans_deferred_vars): Instead add its runtime initialization
      	here.
      
      	* tree-ssa-coalesce.c (coalesce_ssa_name): For !optimize, test
      	!DECL_IGNORED_P instead of !DECL_ARTIFICIAL.
      
      From-SVN: r182362
      Jakub Jelinek committed