platform/upstream/gcc.git
12 years agore PR c++/51331 (bad code generated when explicitly calling auto-generated constructo...
Jason Merrill [Fri, 16 Dec 2011 22:34:39 +0000 (17:34 -0500)]
re PR c++/51331 (bad code generated when explicitly calling auto-generated constructor of virtual base)

PR c++/51331
* class.c (convert_to_base_statically): Just call
build_simple_base_path.
(build_simple_base_path): Check field offset.

From-SVN: r182414

12 years agore PR testsuite/50803 (FAIL: gcc.dg/ipa/inline-5.c scan-ipa-dump-times inline "Will...
Jakub Jelinek [Fri, 16 Dec 2011 20:16:23 +0000 (21:16 +0100)]
re PR testsuite/50803 (FAIL: gcc.dg/ipa/inline-5.c scan-ipa-dump-times inline "Will be eliminated" 4)

PR testsuite/50803
* gcc.dg/ipa/inline-5.c: XFAIL for 32-bit hppa.

From-SVN: r182411

12 years agore PR target/51135 (SIGSEGV during exception cleanup on win32)
Kai Tietz [Fri, 16 Dec 2011 18:43:06 +0000 (19:43 +0100)]
re PR target/51135 (SIGSEGV during exception cleanup on win32)

        PR libstdc++/51135
        * libsupc++/unwind-cxx.h (__cxa_exception): Mark
        exceptionDestructor by _GLIBCXX_CDTOR_CALLABI.
        * libsupc++/eh_throw.cc (__cxa_throw): Mark destructor
        function argument by _GLIBCXX_CDTOR_CALLABI.
        * libsupc++/cxxabi.h (__cxa_throw): Likewise.
        (_GLIBCXX_CDTOR_CALLABI): Add empty default
        definition.
        * config/os/mingw32-w64/os_defines.h (_GLIBCXX_CDTOR_CALLABI): Define
        for IA-32 target as __thiscall.
        * config/os/mingw32/os_defines.h (_GLIBCXX_CDTOR_CALLABI): Likewise.

From-SVN: r182410

12 years agore PR tree-optimization/51575 (ICE: verify_gimple failed: statement marked for throw...
Jakub Jelinek [Fri, 16 Dec 2011 16:36:49 +0000 (17:36 +0100)]
re PR tree-optimization/51575 (ICE: verify_gimple failed: statement marked for throw, but doesn't with -fnon-call-exceptions and placement new)

PR tree-optimization/51575
* g++.dg/opt/pr51575.C: New test.

From-SVN: r182409

12 years agovms.h (USE_TM_CLONE_REGISTRY): Define.
Tristan Gingold [Fri, 16 Dec 2011 16:29:52 +0000 (16:29 +0000)]
vms.h (USE_TM_CLONE_REGISTRY): Define.

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

* config/alpha/vms.h (USE_TM_CLONE_REGISTRY): Define.

From-SVN: r182408

12 years agoalpha.c (alpha_use_linkage): Follow transparent alias.
Tristan Gingold [Fri, 16 Dec 2011 15:50:11 +0000 (15:50 +0000)]
alpha.c (alpha_use_linkage): Follow transparent alias.

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

* config/alpha/alpha.c (alpha_use_linkage): Follow transparent alias.
(alpha_write_one_linkage): Use assemble_name to emit linkage name.

From-SVN: r182407

12 years agot-vms (vms.o, vms-c.o): Force output filename.
Tristan Gingold [Fri, 16 Dec 2011 15:33:18 +0000 (15:33 +0000)]
t-vms (vms.o, vms-c.o): Force output filename.

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

* config/vms/t-vms (vms.o, vms-c.o): Force output filename.

From-SVN: r182406

12 years agovms.c (VMS_CRTL_GLOBAL): Define.
Tristan Gingold [Fri, 16 Dec 2011 15:25:30 +0000 (15:25 +0000)]
vms.c (VMS_CRTL_GLOBAL): Define.

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

* config/vms/vms.c (VMS_CRTL_GLOBAL): Define.
(vms_patch_builtins): Handle.
* config/vms/vms-crtlmap.map: Add an entry for environ.

From-SVN: r182405

12 years agore PR tree-optimization/51557 (ICE: in maybe_record_trace_start, at dwarf2cfi.c:2244...
Jakub Jelinek [Fri, 16 Dec 2011 15:21:48 +0000 (16:21 +0100)]
re PR tree-optimization/51557 (ICE: in maybe_record_trace_start, at dwarf2cfi.c:2244 with custom flags)

PR debug/51557
* sel-sched-ir.c (create_copy_of_insn_rtx): Copy all notes
other than REG_EQUAL, REG_EQUIV and REG_LABEL_OPERAND.

* gcc.dg/pr51557.c: New test.

From-SVN: r182404

12 years agore PR tree-optimization/51576 (Bootstrap failure with go)
Jakub Jelinek [Fri, 16 Dec 2011 15:20:35 +0000 (16:20 +0100)]
re PR tree-optimization/51576 (Bootstrap failure with go)

PR tree-optimization/51576
* tree-cfg.c (replace_uses_by): Call maybe_clean_or_replace_eh_stmt
even if fold_stmt didn't change anything.

From-SVN: r182403

12 years agoos: Fix fileInfoFromStat for Solaris.
Ian Lance Taylor [Fri, 16 Dec 2011 14:45:49 +0000 (14:45 +0000)]
os: Fix fileInfoFromStat for Solaris.

From Rainer Orth.

From-SVN: r182402

12 years agore PR bootstrap/51572 (LTO bootstrap failed with bootstrap-profiled)
Richard Guenther [Fri, 16 Dec 2011 14:31:14 +0000 (14:31 +0000)]
re PR bootstrap/51572 (LTO bootstrap failed with bootstrap-profiled)

2011-12-16  Richard Guenther  <rguenther@suse.de>

PR lto/51572
* dwarf2out.c (gen_type_die_with_usage): Use the context of
the TYPE_DECL as well if it is file-scope.

* gcc.dg/lto/pr51572-1_0.c: New testcase.

From-SVN: r182401

12 years agoDaily bump.
GCC Administrator [Fri, 16 Dec 2011 00:19:07 +0000 (00:19 +0000)]
Daily bump.

From-SVN: r182398

12 years agore PR libstdc++/51558 (Declaration of unspecialized std::hash<_Tp>::operator()(_Tp...
Paolo Carlini [Thu, 15 Dec 2011 22:15:21 +0000 (22:15 +0000)]
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

12 years agore PR c++/51458 (Accepts invalid designated initializers)
Jason Merrill [Thu, 15 Dec 2011 21:55:31 +0000 (16:55 -0500)]
re PR c++/51458 (Accepts invalid designated initializers)

PR c++/51458
* decl.c (has_designator_problem): New.
(reshape_init_r): Check for improper use of
designated initializers.

From-SVN: r182391

12 years agorl78.md (return): Rename to rl78_return.
DJ Delorie [Thu, 15 Dec 2011 20:58:15 +0000 (15:58 -0500)]
rl78.md (return): Rename to rl78_return.

* 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

12 years agotrans-expr.c (gfc_walk_function_expr): Detect elemental procedure components as well...
Paul Thomas [Thu, 15 Dec 2011 20:51:19 +0000 (20:51 +0000)]
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

12 years agotree-vectorizer.h (struct _stmt_vec_info): Remove pattern_def_stmt field, add pattern...
Jakub Jelinek [Thu, 15 Dec 2011 20:47:29 +0000 (21:47 +0100)]
tree-vectorizer.h (struct _stmt_vec_info): Remove pattern_def_stmt field, add pattern_def_seq.

* 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

12 years agore PR c++/51463 ([c++0x] [4.7 Regression] ICE declaring a member function virtual...
Jakub Jelinek [Thu, 15 Dec 2011 20:45:53 +0000 (21:45 +0100)]
re PR c++/51463 ([c++0x] [4.7 Regression] ICE declaring a member function virtual and static)

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

12 years agoavr-protos.h (print_operand): Remove.
Georg-Johann Lay [Thu, 15 Dec 2011 19:30:08 +0000 (19:30 +0000)]
avr-protos.h (print_operand): Remove.

* 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

12 years ago9780-2.cc: Add test for "C" locale, add sanity checks in case of grouping.
Benjamin Kosnik [Thu, 15 Dec 2011 19:02:51 +0000 (19:02 +0000)]
9780-2.cc: Add test for "C" locale, add sanity checks in case of grouping.

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

12 years agore PR fortran/51310 (-finit-bla doesn't initialize *all* items of type bla to the...
Toon Moene [Thu, 15 Dec 2011 18:26:02 +0000 (18:26 +0000)]
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

12 years agofreebsd.h (TARGET_ASM_FILE_END): Define.
Andreas Tobler [Thu, 15 Dec 2011 17:52:02 +0000 (18:52 +0100)]
freebsd.h (TARGET_ASM_FILE_END): Define.

2011-12-15  Andreas Tobler  <andreast@fgznet.ch>

* config/i386/freebsd.h (TARGET_ASM_FILE_END): Define.

From-SVN: r182382

12 years agore PR c/51360 (spurious unused-but-set-variable warning for var used in OpenMP pragma)
Jakub Jelinek [Thu, 15 Dec 2011 17:29:25 +0000 (18:29 +0100)]
re PR c/51360 (spurious unused-but-set-variable warning for var used in OpenMP pragma)

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

12 years agore PR middle-end/49806 (FAIL: gcc.dg/tree-ssa/vrp47.c)
Jakub Jelinek [Thu, 15 Dec 2011 17:27:45 +0000 (18:27 +0100)]
re PR middle-end/49806 (FAIL: gcc.dg/tree-ssa/vrp47.c)

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

12 years agore PR tree-optimization/51117 (rev.181172 causes glibc build failure)
Jakub Jelinek [Thu, 15 Dec 2011 17:27:08 +0000 (18:27 +0100)]
re PR tree-optimization/51117 (rev.181172 causes glibc build failure)

PR tree-optimization/51117
* g++.dg/opt/pr51117.C: New test.

From-SVN: r182379

12 years agobuiltins.def (BUILT_IN_STPNCPY_CHK): New definition.
Romain Geissler [Thu, 15 Dec 2011 17:26:10 +0000 (17:26 +0000)]
builtins.def (BUILT_IN_STPNCPY_CHK): New definition.

* 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

12 years agore PR debug/51567 (ICE in splice_child_die, at dwarf2out.c:5009 with -flto -g)
Richard Guenther [Thu, 15 Dec 2011 16:38:08 +0000 (16:38 +0000)]
re PR debug/51567 (ICE in splice_child_die, at dwarf2out.c:5009 with -flto -g)

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

12 years agors6000.c (rs6000_emit_prologue): Move update of VRSave mask to save_world() when...
Iain Sandoe [Thu, 15 Dec 2011 15:52:08 +0000 (15:52 +0000)]
rs6000.c (rs6000_emit_prologue): Move update of VRSave mask to save_world() when that is in use.

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

12 years agoPR c++/51473 - ICE with invalid auto
Dodji Seketeli [Thu, 15 Dec 2011 15:40:25 +0000 (15:40 +0000)]
PR c++/51473 - ICE with invalid auto

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

12 years agoa-numaux-vms.ads, [...]: New files.
Arnaud Charlet [Thu, 15 Dec 2011 15:28:47 +0000 (15:28 +0000)]
a-numaux-vms.ads, [...]: New files.

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

12 years agore PR fortran/51550 (ICE in gfc_get_derived_type, at fortran/trans-types.c:2401)
Tobias Burnus [Thu, 15 Dec 2011 15:18:33 +0000 (16:18 +0100)]
re PR fortran/51550 (ICE in gfc_get_derived_type, at fortran/trans-types.c:2401)

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

12 years agoprimary.c (gfc_match_varspec): Match array spec for polymorphic coarrays.
Tobias Burnus [Thu, 15 Dec 2011 14:53:55 +0000 (15:53 +0100)]
primary.c (gfc_match_varspec): Match array spec for polymorphic coarrays.

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

12 years agolto-wrapper.c (run_gcc): In non-parallel mode remove ltrans inputs immediately after...
Richard Guenther [Thu, 15 Dec 2011 14:50:25 +0000 (14:50 +0000)]
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

12 years agoarm.h (REGISTER_MOVE_COST, [...]): Remove.
Anatoly Sokolov [Thu, 15 Dec 2011 14:43:02 +0000 (18:43 +0400)]
arm.h (REGISTER_MOVE_COST, [...]): Remove.

* 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

12 years ago[multiple changes]
Arnaud Charlet [Thu, 15 Dec 2011 14:33:46 +0000 (15:33 +0100)]
[multiple changes]

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

12 years agore PR debug/51564 (ICE in force_type_die, at dwarf2out.c:19288)
Richard Guenther [Thu, 15 Dec 2011 12:43:48 +0000 (12:43 +0000)]
re PR debug/51564 (ICE in force_type_die, at dwarf2out.c:19288)

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

12 years agosigtramp-ppcvxw.c, sigtramp.h: Fix header.
Robert Dewar [Thu, 15 Dec 2011 11:54:53 +0000 (11:54 +0000)]
sigtramp-ppcvxw.c, sigtramp.h: Fix header.

2011-12-15  Robert Dewar  <dewar@adacore.com>

* sigtramp-ppcvxw.c, sigtramp.h: Fix header.

From-SVN: r182366

12 years ago[multiple changes]
Arnaud Charlet [Thu, 15 Dec 2011 11:52:26 +0000 (12:52 +0100)]
[multiple changes]

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

12 years ago[multiple changes]
Arnaud Charlet [Thu, 15 Dec 2011 11:48:25 +0000 (12:48 +0100)]
[multiple changes]

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

12 years agore PR target/51050 ([AVR, attiny26] ICE: invalid rtl sharing found in the insn)
Georg-Johann Lay [Thu, 15 Dec 2011 11:10:32 +0000 (11:10 +0000)]
re PR target/51050 ([AVR, attiny26] ICE: invalid rtl sharing found in the insn)

PR target/51050
* config/avr/avr.c (expand_epilogue): Don't build SUBREG of fp.
(avr_prologue_setup_frame): Ditto.

From-SVN: r182363

12 years agore PR debug/51517 (Wrong debug information for pointers with negative strides.)
Jakub Jelinek [Thu, 15 Dec 2011 11:05:37 +0000 (12:05 +0100)]
re PR debug/51517 (Wrong debug information for pointers with negative strides.)

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

12 years agore PR libstdc++/51365 (cannot use final empty class in std::tuple)
Jonathan Wakely [Thu, 15 Dec 2011 10:02:45 +0000 (10:02 +0000)]
re PR libstdc++/51365 (cannot use final empty class in std::tuple)

c-family:
PR libstdc++/51365
* c-common.c (RID_IS_FINAL): Add.
* c-common.h (RID_IS_FINAL): Add.
cp:
PR libstdc++/51365
* cp-tree.h (CPTK_IS_FINAL): Add.
* parser.c (cp_parser_translation_unit): Handle RID_IS_FINAL.
(cp_parser_primary_expression, cp_parser_trait_expr): Likewise.
* semantics.c (trait_expr_value, finish_trait_expr): Handle
CPTK_IS_FINAL.
* cxx-pretty-print.c (pp_cxx_trait_expression): Likewise.
testsuite:
PR libstdc++/51365
* g++.dg/ext/is_final.C: New.

From-SVN: r182360

12 years agore PR libstdc++/51540 (doxygen documentation for partial_sum misleading)
Jonathan Wakely [Thu, 15 Dec 2011 09:49:59 +0000 (09:49 +0000)]
re PR libstdc++/51540 (doxygen documentation for partial_sum misleading)

PR libstdc++/51540
* include/bits/stl_numeric.h (partial_sum): Adjust doxygen comments.

From-SVN: r182359

12 years agorevert: re PR lto/48437 (LTO crashes with block-local function declarations)
Richard Guenther [Thu, 15 Dec 2011 09:44:11 +0000 (09:44 +0000)]
revert: re PR lto/48437 (LTO crashes with block-local function declarations)

2012-12-15  Richard Guenther  <rguenther@suse.de>

Revert
PR lto/48437
* lto-streamer-out.c (tree_is_indexable): Exclude block-local
extern declarations.

PR lto/48508
PR lto/48437
* tree-streamer-out.c (streamer_write_chain): Stream DECL_EXTERNAL
VAR_DECLs and FUNCTION_DECLs locally.

* g++.dg/lto/pr48508-1_0.C: New testcase.
* g++.dg/lto/pr48508-1_1.C: Likewise.

From-SVN: r182358

12 years agoChangeLog: Fix whitespace.
Uros Bizjak [Thu, 15 Dec 2011 08:04:08 +0000 (09:04 +0100)]
ChangeLog: Fix whitespace.

* ChangeLog: Fix whitespace.
* testsuite/ChangeLog: Ditto.

From-SVN: r182357

12 years agosyscall: Move Errno into its own file, for RTEMS.
Ian Lance Taylor [Thu, 15 Dec 2011 07:12:03 +0000 (07:12 +0000)]
syscall: Move Errno into its own file, for RTEMS.

From-SVN: r182356

12 years agoarm-linux: Add libitm support.
Richard Henderson [Thu, 15 Dec 2011 03:24:05 +0000 (19:24 -0800)]
arm-linux: Add libitm support.

* config/arm/hwcap.h, config/arm/hwcap.cc: New files.
* config/arm/sjlj.S, config/arm/target.h: New files.
* config/generic/asmcfi.h (cfi_adjust_cfa_offset): New.
(cfi_rel_offset): New.
* config/linux/futex_bits.h: New file.
* config/linux/futex.cc: Include futex_bits.h here...
* config/linux/futex.h: ... not here.
* Makefile.am (libitm_la_SOURCES) <ARCH_ARM>: Add hwcap.cc.
* configure.ac (ARCH_AM): New conditional.
* Makefile.in, configure: Rebuild.
* configure.tgt: Handle ARM.

From-SVN: r182355

12 years agoarm: Set predicable on more instructions.
Richard Henderson [Thu, 15 Dec 2011 00:23:32 +0000 (16:23 -0800)]
arm: Set predicable on more instructions.

Make sure its set for all CMP, CMN, TST instructions,
which do work inside IT blocks.

        * config/arm/arm.md (*addsi3_compare0_scratch): Set predicable.
        (*compare_negsi_si, *compare_addsi2_op0): Likewise.
        (*compare_addsi2_op1, *zeroextractsi_compare0_scratch): Likewise.
        (*compareqi_eq0, *arm_cmpsi_insn, *arm_cmpsi_negshiftsi_si): Likewise.

From-SVN: r182353

12 years agoDaily bump.
GCC Administrator [Thu, 15 Dec 2011 00:18:40 +0000 (00:18 +0000)]
Daily bump.

From-SVN: r182352

12 years agolibgo: Update to weekly.2011-12-06.
Ian Lance Taylor [Wed, 14 Dec 2011 22:27:04 +0000 (22:27 +0000)]
libgo: Update to weekly.2011-12-06.

From-SVN: r182347

12 years agore PR c++/51554 (ICE in cp/semantics.c:cxx_eval_indirect_ref with -Wall)
Jason Merrill [Wed, 14 Dec 2011 22:26:24 +0000 (17:26 -0500)]
re PR c++/51554 (ICE in cp/semantics.c:cxx_eval_indirect_ref with -Wall)

PR c++/51554
* semantics.c (cxx_eval_indirect_ref): Fix sanity check.

From-SVN: r182346

12 years agore PR c++/51248 (ICE with pointer to enum)
Jason Merrill [Wed, 14 Dec 2011 22:26:13 +0000 (17:26 -0500)]
re PR c++/51248 (ICE with pointer to enum)

PR c++/51248
* decl.c (copy_type_enum): Also update variants.
(finish_enum): Allow variants of complete enums.

From-SVN: r182345

12 years agoPR c++/51475 - ICE with invalid initializer-list
Dodji Seketeli [Wed, 14 Dec 2011 21:49:52 +0000 (21:49 +0000)]
PR c++/51475 - ICE with invalid initializer-list

gcc/cp/

PR c++/51475
* call.c (struct conversion)<u.next>: Update comment.
(next_conversion): New static function.
(convert_like_real): Use it.

gcc/testsuite/

PR c++/51475
* g++.dg/cpp0x/initlist63.C: New test.

From-SVN: r182343

12 years agoCheck __GLIBC__ when using __SIGRTMIN
H.J. Lu [Wed, 14 Dec 2011 18:49:16 +0000 (18:49 +0000)]
Check __GLIBC__ when using __SIGRTMIN

2011-12-14  H.J. Lu  <hongjiu.lu@intel.com>

* generic-morestack.c (__generic_morestack_set_initial_sp): Check
__GLIBC__ instead of __linux__ when using __SIGRTMIN.

From-SVN: r182342

12 years agolibgo: Update to weekly.2011-12-06.
Ian Lance Taylor [Wed, 14 Dec 2011 15:41:54 +0000 (15:41 +0000)]
libgo: Update to weekly.2011-12-06.

From-SVN: r182338

12 years agotree-cfg.c (replace_uses_by): Fixup TREE_CONSTANT for propagating all kinds of constants.
Richard Guenther [Wed, 14 Dec 2011 15:34:35 +0000 (15:34 +0000)]
tree-cfg.c (replace_uses_by): Fixup TREE_CONSTANT for propagating all kinds of constants.

2011-12-14  Richard Guenther  <rguenther@suse.de>

* tree-cfg.c (replace_uses_by): Fixup TREE_CONSTANT for
propagating all kinds of constants.

From-SVN: r182337

12 years agore PR lto/51497 (The run time for the polyhedron test nf.f90 is ~10% slower with...
Richard Guenther [Wed, 14 Dec 2011 15:31:24 +0000 (15:31 +0000)]
re PR lto/51497 (The run time for the polyhedron test nf.f90 is ~10% slower with -flto after revision 182107)

2011-12-14  Richard Guenther  <rguenther@suse.de>

PR lto/51497
* lto-streamer-in.c (lto_read_body): Fixup local types
TYPE_CANONICAL and variant chain.

From-SVN: r182336

12 years agoruntime: Bump memory limit in gc_test.
Ian Lance Taylor [Wed, 14 Dec 2011 14:54:32 +0000 (14:54 +0000)]
runtime: Bump memory limit in gc_test.

From-SVN: r182332

12 years agocompiler: Permit omitting &T in composite literal.
Ian Lance Taylor [Wed, 14 Dec 2011 14:48:01 +0000 (14:48 +0000)]
compiler: Permit omitting &T in composite literal.

From-SVN: r182331

12 years agoMAINTAINERS (picochip): Changed my email address.
Hariharan Sandanagobalane [Wed, 14 Dec 2011 11:31:43 +0000 (11:31 +0000)]
MAINTAINERS (picochip): Changed my email address.

        * MAINTAINERS (picochip): Changed my email address.

From-SVN: r182330

12 years agotree.c (free_lang_data_in_type): Do not clear fields dependent on debuginfo level...
Richard Guenther [Wed, 14 Dec 2011 11:26:13 +0000 (11:26 +0000)]
tree.c (free_lang_data_in_type): Do not clear fields dependent on debuginfo level setting.

2011-12-14  Richard Guenther  <rguenther@suse.de>

* tree.c (free_lang_data_in_type): Do not clear fields
dependent on debuginfo level setting.
(find_decls_types_r): Use TYPE_STUB_DECL rathern than TREE_CHAIN.
* tree.h (TYPE_STUB_DECL): Properly check that we access
a type.

From-SVN: r182329

12 years agore PR target/50931 ([avr] Support a 24-bit scalar integer mode)
Georg-Johann Lay [Wed, 14 Dec 2011 10:00:56 +0000 (10:00 +0000)]
re PR target/50931 ([avr] Support a 24-bit scalar integer mode)

libgcc/
PR target/50931
* config/avr/t-avr (LIB1ASMSRC): Add _mulpsi3, _mulsqipsi3.
* config/avr/lib1funcs.S (__mulpsi3, __mulsqipsi3): New functions.
gcc/
PR target/50931
* config/avr/avr.md (mulpsi3): New expander.
(*umulqihipsi3, *umulhiqipsi3): New insns.
(*mulsqipsi3.libgcc, *mulpsi3.libgcc): New insns.
(mulsqipsi3, *mulpsi3): New insn-and-splits.
(ashlpsi3): Turn to expander.  Move insn code to...
(*ashlpsi3): ...this new insn.
testsuite/
PR target/50931
* gcc.target/avr/torture/int24-mul.c: New testcase.

From-SVN: r182328

12 years agotree-cfg.c (replace_uses_by): Only mark blocks altered that will make a difference.
Richard Guenther [Wed, 14 Dec 2011 09:50:38 +0000 (09:50 +0000)]
tree-cfg.c (replace_uses_by): Only mark blocks altered that will make a difference.

2011-12-14  Richard Guenther  <rguenther@suse.de>

* tree-cfg.c (replace_uses_by): Only mark blocks altered
that will make a difference.  Only recompute ADDR_EXPR
invariantness if it could possibly have changed.  Do so
before folding the statement.

From-SVN: r182327

12 years agoRevert the previous "Fix flags for edges from/to entry/exit basic blocks"
Dmitry Vyukov [Wed, 14 Dec 2011 09:28:05 +0000 (01:28 -0800)]
Revert the previous "Fix flags for edges from/to entry/exit basic blocks"
patch that caused regressions.

From-SVN: r182326

12 years agoPR c++/51476 - ICE on PTRMEM_CST as template argument in c++11
Dodji Seketeli [Wed, 14 Dec 2011 08:46:13 +0000 (08:46 +0000)]
PR c++/51476 - ICE on PTRMEM_CST as template argument in c++11

gcc/cp/

PR c++/51476
* pt.c (convert_nontype_argument): Don't call maybe_constant_value
for PTRMEM_CST nodes.

gcc/testsuite/

PR c++/51476
* g++.dg/cpp0x/ptrmem-cst-arg1.C: New test.

From-SVN: r182324

12 years agore PR c++/51406 ([c++0x] Incorrect result of static_cast to rvalue reference to base...
Jason Merrill [Wed, 14 Dec 2011 05:18:39 +0000 (00:18 -0500)]
re PR c++/51406 ([c++0x] Incorrect result of static_cast to rvalue reference to base class.)

PR c++/51406
PR c++/51161
* typeck.c (build_static_cast_1): Fix cast of lvalue to
base rvalue reference.

From-SVN: r182322

12 years agocompiler: Move import of Go export data to gcc side of interface.
Ian Lance Taylor [Wed, 14 Dec 2011 01:36:11 +0000 (01:36 +0000)]
compiler: Move import of Go export data to gcc side of interface.

* go-backend.c: #include "simple-object.h" and "intl.h".
(GO_EXPORT_SEGMENT_NAME): Define if not defined.
(GO_EXPORT_SECTION_NAME): Likewise.
(go_write_export_data): Use GO_EXPORT_SECTION_NAME.
(go_read_export_data): New function.
* go-c.h (go_read_export_data): Declare.

From-SVN: r182321

12 years agore PR c++/51464 ([c++0x] ICE with invalid use of [])
Paolo Carlini [Wed, 14 Dec 2011 00:36:15 +0000 (00:36 +0000)]
re PR c++/51464 ([c++0x] ICE with invalid use of [])

/cp
2011-12-13  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/51464
* semantics.c (begin_lambda_type): Check begin_class_definition return
value for error_mark_node.
* parser.c (cp_parser_lambda_expression): Check begin_lambda_type
return value for error_mark_node.

/testsuite
2011-12-13  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/51464
* g++.dg/cpp0x/lambda/lambda-ice6.C: New.

From-SVN: r182320

12 years agoDaily bump.
GCC Administrator [Wed, 14 Dec 2011 00:19:11 +0000 (00:19 +0000)]
Daily bump.

From-SVN: r182319

12 years agoruntime: Change gc_test to test only newly allocated memory.
Ian Lance Taylor [Tue, 13 Dec 2011 23:15:36 +0000 (23:15 +0000)]
runtime: Change gc_test to test only newly allocated memory.

From-SVN: r182315

12 years agomksysinfo.sh: Ensure that IPV6 constants and types are defined.
Ian Lance Taylor [Tue, 13 Dec 2011 22:25:30 +0000 (22:25 +0000)]
mksysinfo.sh: Ensure that IPV6 constants and types are defined.

From-SVN: r182314

12 years agosyscall: Don't build wait status functions on RTEMS.
Ian Lance Taylor [Tue, 13 Dec 2011 22:07:25 +0000 (22:07 +0000)]
syscall: Don't build wait status functions on RTEMS.

From-SVN: r182313

12 years agolto-streamer-out.c (write_symbol): Use proper 64-bit host type.
Eric Botcazou [Tue, 13 Dec 2011 21:59:39 +0000 (21:59 +0000)]
lto-streamer-out.c (write_symbol): Use proper 64-bit host type.

* lto-streamer-out.c (write_symbol): Use proper 64-bit host type.
* lto-cgraph.c (input_cgraph_opt_section): Use 'int' for offsets.
* lto-streamer-in.c (lto_read_body): Likewise.
(lto_input_toplevel_asms): Likewise.
* lto-section-in.c (lto_create_simple_input_block): Likewise.
* ipa-inline-analysis.c (inline_read_section): Likewise.
* ipa-prop.c (ipa_prop_read_section): Likewise.

* df.h (DF_NOTE): Fix typo in comment.
lto/
* lto.h (lto_parse_hex): Delete.
* lto.c (lto_read_decls): Use 'int' for offsets.
(lto_parse_hex): Make static and return proper 64-bit host type.
(lto_resolution_read): Use proper 64-bit host type.

From-SVN: r182310

12 years agoruntime: RTEMS build fixes.
Ian Lance Taylor [Tue, 13 Dec 2011 21:59:26 +0000 (21:59 +0000)]
runtime: RTEMS build fixes.

From Joel Sherrill.

From-SVN: r182309

12 years agorevert an unattended change about access declaration
Fabien Chêne [Tue, 13 Dec 2011 21:18:03 +0000 (22:18 +0100)]
revert an unattended change about access declaration

From-SVN: r182308

12 years agotrans-mem.c (ipa_tm_create_version_alias): Set DECL_CONTEXT and DECL_LANG_SPECIFIC.
Aldy Hernandez [Tue, 13 Dec 2011 20:32:26 +0000 (20:32 +0000)]
trans-mem.c (ipa_tm_create_version_alias): Set DECL_CONTEXT and DECL_LANG_SPECIFIC.

        * trans-mem.c (ipa_tm_create_version_alias): Set DECL_CONTEXT and
        DECL_LANG_SPECIFIC.

From-SVN: r182307

12 years agoregmove.c (fixup_match_2): Only access call_used_regs with hard regs.
Andreas Krebbel [Tue, 13 Dec 2011 20:22:59 +0000 (20:22 +0000)]
regmove.c (fixup_match_2): Only access call_used_regs with hard regs.

2011-12-13  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>

* regmove.c (fixup_match_2): Only access call_used_regs with hard
regs.

From-SVN: r182306

12 years agorwlock.cc (gtm_rwlock::write_lock_generic): Fix signed/unsigned comparison werror.
Richard Henderson [Tue, 13 Dec 2011 20:10:36 +0000 (12:10 -0800)]
rwlock.cc (gtm_rwlock::write_lock_generic): Fix signed/unsigned comparison werror.

        * config/posix/rwlock.cc (gtm_rwlock::write_lock_generic): Fix
        signed/unsigned comparison werror.

From-SVN: r182302

12 years agoRevert two unintended commits
Richard Henderson [Tue, 13 Dec 2011 20:07:01 +0000 (12:07 -0800)]
Revert two unintended commits

From-SVN: r182301

12 years agomips-cpus.def: Add Octeon2.
Andrew Pinski [Tue, 13 Dec 2011 20:00:18 +0000 (20:00 +0000)]
mips-cpus.def: Add Octeon2.

2011-12-13  Andrew Pinski  <apinski@cavium.com>
            Adam Nemet  <anemet@caviumnetworks.com>

* config/mips/mips-cpus.def: Add Octeon2.
* config/mips/mips-tables.opt: Regenerate.
* config/mips/mips.md (define_attr "cpu"): Add Octeon2.
* config/mips/driver-native.c (host_detect_local_cpu): Support Octeon2 also.
* config/mips/octeon.md (octeon_arith): Add Octeon2.
(octeon_condmove): Likewise.
(octeon_load): Rename to ..
(octeon_load_o1): this.
(octeon_load_o2): New reserve.
(octeon_cop_o2): New reserve.
(octeon_store):  Match Octeon2 also.
(octeon_brj): Rename to ..
(octeon_brj_o1): this.
(octeon_brj_o2): New reserve.
(octeon_imul3): Rename to ...
(octeon_imul3_o1): this.
(octeon_imul3_o2): New reserve.
(octeon_imul): Rename to ...
(octeon_imul_o1): this.
(octeon_imul_o2): New reserve.
(octeon_mfhilo): Rename to ...
(octeon_mfhilo_o1): This.
(octeon_mfhilo_o2): New reserve.
(octeon_imadd): Rename to ...
(octeon_imadd_o1): this.
(octeon_imadd_o2): New reserve.
(octeon_idiv): Rename to ..
(octeon_idiv_o1): This.
(octeon_idiv_o2_si): New reserve.
(octeon_idiv_o2_di): Likewise.
(octeon_unknown): Match Octeon2 also.
* config/mips/mips.c (mips_rtx_cost_data): Add Octeon2 cost data.
(mips_issue_rate): Octeon2 can issue 2 at a time.
* config/mips/mips.h (TARGET_OCTEON): Match Octeon2 also.
(TARGET_OCTEON2): New define.
(TUNE_OCTEON): Match Octeon2 also.

2011-12-13  Andrew Pinski  <apinski@cavium.com>
            Adam Nemet  <anemet@caviumnetworks.com>

* gcc.target/mips/mips.exp (mips_option_groups): Fix debug.  Add
-fdump-* options.
* gcc.target/mips/octeon2-pipe-1.c: New testcase.
* gcc.target/mips/octeon-pipe-1.c: New testcase.

Co-Authored-By: Adam Nemet <anemet@caviumnetworks.com>
From-SVN: r182300

12 years agoarm: Implement vec_perm and vec_perm_const for NEON.
Richard Henderson [Tue, 13 Dec 2011 19:58:56 +0000 (11:58 -0800)]
arm: Implement vec_perm and vec_perm_const for NEON.

From-SVN: r182299

12 years agoDelete VEC_INTERLEAVE_*_EXPR.
Richard Henderson [Tue, 13 Dec 2011 19:58:49 +0000 (11:58 -0800)]
Delete VEC_INTERLEAVE_*_EXPR.

* tree.def (VEC_INTERLEAVE_HIGH_EXPR, VEC_INTERLEAVE_LOW_EXPR): Remove.
* gimple-pretty-print.c (dump_binary_rhs): Don't handle
VEC_INTERLEAVE_HIGH_EXPR and VEC_INTERLEAVE_LOW_EXPR.
* expr.c (expand_expr_real_2): Likewise.
* tree-cfg.c (verify_gimple_assign_binary): Likewise.
* cfgexpand.c (expand_debug_expr): Likewise.
* tree-inline.c (estimate_operator_cost): Likewise.
* tree-pretty-print.c (dump_generic_node): Likewise.
* tree-vect-generic.c (expand_vector_operations_1): Likewise.
* fold-const.c (fold_binary_loc): Likewise.
* doc/generic.texi (VEC_INTERLEAVE_HIGH_EXPR,
VEC_INTERLEAVE_LOW_EXPR): Remove documentation.
* optabs.c (optab_for_tree_code): Don't handle
VEC_INTERLEAVE_HIGH_EXPR and VEC_INTERLEAVE_LOW_EXPR.
(expand_binop, init_optabs): Remove vec_interleave_high_optab
and vec_interleave_low_optab.
* genopinit.c (optabs): Likewise.
* optabs.h (OTI_vec_interleave_high, OTI_vec_interleave_low): Remove.
(vec_interleave_high_optab, vec_interleave_low_optab): Remove.
* doc/md.texi (vec_interleave_high, vec_interleave_low): Remove
documentation.
* tree-vect-stmts.c (gen_perm_mask): Renamed to...
(vect_gen_perm_mask): ... this.  No longer static.
(perm_mask_for_reverse, vectorizable_load): Adjust callers.
* tree-vectorizer.h (vect_gen_perm_mask): New prototype.
* tree-vect-data-refs.c (vect_strided_store_supported): Don't try
VEC_INTERLEAVE_*_EXPR, use can_vec_perm_p instead of
can_vec_perm_for_code_p.
(vect_permute_store_chain): Generate VEC_PERM_EXPR with interleaving
masks instead of VEC_INTERLEAVE_HIGH_EXPR and VEC_INTERLEAVE_LOW_EXPR.
* config/i386/i386.c (expand_vec_perm_interleave2): If
expand_vec_perm_interleave3 would handle it, return false.
(expand_vec_perm_broadcast_1): Don't use vec_interleave_*_optab.

From-SVN: r182298

12 years agosparc: Default memory model to TSO for Linux and Solaris.
Richard Henderson [Tue, 13 Dec 2011 19:22:44 +0000 (11:22 -0800)]
sparc: Default memory model to TSO for Linux and Solaris.

        * config/sparc/tso.h: New file.
        * config.gcc (sparc-*-linux*, sparc*-*-solaris2*): Use it.
        * config/sparc/sparc.c (sparc_option_override): Honor
        SUBTARGET_DEFAULT_MEMORY_MODEL.
        * config/sparc/sparc.h (SUBTARGET_DEFAULT_MEMORY_MODEL): New.

From-SVN: r182297

12 years agolibgo: Solaris compatibility patches.
Ian Lance Taylor [Tue, 13 Dec 2011 19:18:34 +0000 (19:18 +0000)]
libgo: Solaris compatibility patches.

From Rainer Orth.

From-SVN: r182296

12 years agolibgo: Update to weekly.2011-12-02.
Ian Lance Taylor [Tue, 13 Dec 2011 19:16:27 +0000 (19:16 +0000)]
libgo: Update to weekly.2011-12-02.

From-SVN: r182295

12 years agolibitm: Conversion to c++11 atomics.
Richard Henderson [Tue, 13 Dec 2011 19:11:25 +0000 (11:11 -0800)]
libitm: Conversion to c++11 atomics.

        * local_atomic: New file.
        * libitm_i.h: Include it.
        (gtm_thread::shared_state): Use atomic template.
        * beginend.cc (GTM::gtm_clock): Use atomic template.
        (global_tid): Use atomic template if 64-bit atomics available.
        (gtm_thread::gtm_thread): Update shared_state access.
        (gtm_thread::trycommit): Likewise.
        (choose_code_path): Update global_tid access.
        * method-gl.cc (gl_mg::orec): Use atomic template.  Update all users.
        * stmlock.h (GTM::gtm_clock): Use atomic template.
        (gtm_get_clock, gtm_inc_clock): Update accesses.
        * config/linux/rwlock.cc (gtm_rwlock::read_lock): Remove
        redundant __sync_synchronize after atomic shared_state access.
        * config/posix/rwlock.cc (gtm_rwlock::read_lock): Likewise.
        (gtm_rwlock::write_lock_generic): Likewise.
        (gtm_rwlock::read_unlock): Likewise.
        * config/alpha/target.h (atomic_read_barrier): Remove.
        (atomic_write_barrier): Remove.
        * config/x86/target.h (atomic_read_barrier): Remove.
        (atomic_write_barrier): Remove.

From-SVN: r182294

12 years agocompiler: Fix multiple conversions to different named slices.
Ian Lance Taylor [Tue, 13 Dec 2011 18:52:19 +0000 (18:52 +0000)]
compiler: Fix multiple conversions to different named slices.

From-SVN: r182293

12 years agore PR c++/14258 (typename in a using declaration not supported)
Fabien Chêne [Tue, 13 Dec 2011 18:46:58 +0000 (19:46 +0100)]
re PR c++/14258 (typename in a using declaration not supported)

gcc/testsuite/ChangeLog

2011-12-11  Fabien Chene  <fabien@gcc.gnu.org>

PR c++/14258
* g++.dg/template/using16.C: New.
* g++.dg/template/using17.C: New.

gcc/cp/ChangeLog

2011-12-11  Fabien Chene  <fabien@gcc.gnu.org>

PR c++/14258
* cp-tree.h (USING_DECL_TYPENAME_P): New macro.
* parser.c (cp_parser_nonclass_name): Handle using declarations
that refer to a dependent type.
(cp_parser_using_declaration): Set USING_DECL_TYPENAME_P to 1 if
the using declaration refers to a dependent type.

From-SVN: r182292

12 years agocompiler: Permit converting between string and named []byte/[]rune.
Ian Lance Taylor [Tue, 13 Dec 2011 18:09:56 +0000 (18:09 +0000)]
compiler: Permit converting between string and named []byte/[]rune.

From-SVN: r182291

12 years agotrans-mem.c (struct diagnose_tm): Remove saw_unsafe.
Aldy Hernandez [Tue, 13 Dec 2011 17:49:55 +0000 (17:49 +0000)]
trans-mem.c (struct diagnose_tm): Remove saw_unsafe.

        PR/51443
        * trans-mem.c (struct diagnose_tm): Remove saw_unsafe.
        (diagnose_tm_1): Same.
        (ipa_tm_execute): Do not test tm_may_enter_irr before we set it.
        (ipa_tm_scan_irr_function): Return gracefully when no
        DECL_STRUCT_FUNCTION.
        (ipa_tm_scan_irr_block): Believe the user on TM attributes.

From-SVN: r182290

12 years agore PR middle-end/50628 (gfortran.fortran-torture/execute/entry_4.f90 fails)
Martin Jambor [Tue, 13 Dec 2011 16:08:14 +0000 (17:08 +0100)]
re PR middle-end/50628 (gfortran.fortran-torture/execute/entry_4.f90 fails)

2011-12-13  Martin Jambor  <mjambor@suse.cz>

PR middle-end/50628
* tree-sra.c (propagate_subaccesses_across_link): Do not propagate
sub-accesses of scalar accesses.

From-SVN: r182289

12 years agore PR tree-optimization/51362 (ICE: SIGFPE (division by zero) in good_cloning_opportu...
Martin Jambor [Tue, 13 Dec 2011 15:43:36 +0000 (16:43 +0100)]
re PR tree-optimization/51362 (ICE: SIGFPE (division by zero) in good_cloning_opportunity_p at ipa-cp.c:2401)

2011-12-13  Martin Jambor  <mjambor@suse.cz>

PR tree-optimization/51362
* ipa-cp.c (estimate_local_effects): When estimated size of a
specialized clone is zero, bump it to one.

* testsuite/gcc.dg/ipa/pr51362.c: New test.

From-SVN: r182288

12 years agore PR testsuite/51524 ([BMI2] New regression on 182266 vs 182257)
Uros Bizjak [Tue, 13 Dec 2011 15:00:09 +0000 (16:00 +0100)]
re PR testsuite/51524 ([BMI2] New regression on 182266 vs 182257)

PR testsuite/51524
* gcc.target/i386/bmi2-mulx32-1.c (gen_mulx): Add attribute regparm(2).
* gcc.target/i386/bmi2-mulx32-2.c (calc_mulx_u32): Ditto.

From-SVN: r182287

12 years agore PR debug/48354 (internal compiler error: in splice_child_die, at dwarf2out.c:8064)
Richard Guenther [Tue, 13 Dec 2011 14:43:44 +0000 (14:43 +0000)]
re PR debug/48354 (internal compiler error: in splice_child_die, at dwarf2out.c:8064)

2011-12-13  Richard Guenther  <rguenther@suse.de>

PR lto/48354
* tree.c (find_decls_types_r): Also walk DECL_ORIGINAL_TYPE.
* tree-streamer-in.c (lto_input_ts_decl_non_common_tree_pointers):
Stream DECL_ORIGINAL_TYPE.
* tree-streamer-out.c (write_ts_decl_non_common_tree_pointers):
Likewise.

lto/
* lto.c (lto_ft_decl_non_common): When we merged DECL_ORIGINAL_TYPE
with the type of the TYPE_DECL clear DECL_ORIGINAL_TYPE.

* g++.dg/lto/pr48354-1_0.C: New testcase.

From-SVN: r182286

12 years agolife -> live; one favourite typo of mine.
Michael Matz [Tue, 13 Dec 2011 14:07:26 +0000 (14:07 +0000)]
life -> live; one favourite typo of mine.

From-SVN: r182285

12 years agoRevert
Jakub Jelinek [Tue, 13 Dec 2011 14:00:58 +0000 (15:00 +0100)]
Revert
2011-12-12  Jakub Jelinek  <jakub@redhat.com>

PR tree-optimization/51481
* gimple-fold.c (gimple_fold_call): Call
maybe_clean_or_replace_eh_stmt.  Avoid optimization if stmt has EH
edges, but gimple_fold_builtin result can't throw.

From-SVN: r182284

12 years agore PR tree-optimization/51117 (rev.181172 causes glibc build failure)
Jakub Jelinek [Tue, 13 Dec 2011 13:59:35 +0000 (14:59 +0100)]
re PR tree-optimization/51117 (rev.181172 causes glibc build failure)

PR tree-optimization/51117
* tree-eh.c (sink_clobbers): New function.
(execute_lower_eh_dispatch): Call it for BBs ending with
internally throwing RESX.
* cfgexpand.c (add_scope_conflicts_1): Add all conflicts only
at the first real instruction.

Co-Authored-By: Michael Matz <matz@suse.de>
From-SVN: r182283

12 years agofinal.c (final_scan_insn): Guard the call to begin_epilogue debug hook.
Tristan Gingold [Tue, 13 Dec 2011 13:41:12 +0000 (13:41 +0000)]
final.c (final_scan_insn): Guard the call to begin_epilogue debug hook.

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

* final.c (final_scan_insn): Guard the call to begin_epilogue
debug hook.

From-SVN: r182282

12 years agovmsdbgout.c (vmsdbgout_write_source_line): New function.
Tristan Gingold [Tue, 13 Dec 2011 13:30:18 +0000 (13:30 +0000)]
vmsdbgout.c (vmsdbgout_write_source_line): New function.

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

* vmsdbgout.c (vmsdbgout_write_source_line): New function.
(vmsdbgout_end_prologue): Call vmsdbgout_write_source_line.
(vmsdbgout_begin_epilogue): Likewise.
(vmsdbgout_end_epilogue): Likewise.
(vmsdbgout_source_line): Move code to vmsdbgout_write_source_line.

From-SVN: r182281