Thomas Preud'homme [Wed, 12 Mar 2014 10:15:29 +0000 (10:15 +0000)]
re PR tree-optimization/60454 (Code mistakenly detected as doing bswap)
PR tree-optimization/60454
* tree-ssa-math-opts.c (find_bswap_1): Fix bswap detection.
* gcc.c-torture/execute/pr60454.c: New test.
From-SVN: r208509
Kyrylo Tkachov [Wed, 12 Mar 2014 10:13:07 +0000 (10:13 +0000)]
[AArch64] Fix selection of default CPU options at configure-time
* config.gcc (aarch64*-*-*): Use ISA flags from aarch64-arches.def.
Do not define target_cpu_default2 to generic.
* config/aarch64/aarch64.h (TARGET_CPU_DEFAULT): Use generic cpu.
* config/aarch64/aarch64.c (aarch64_override_options): Update comment.
* config/aarch64/aarch64-arches.def (armv8-a): Use generic cpu.
From-SVN: r208508
Jakub Jelinek [Wed, 12 Mar 2014 09:21:59 +0000 (10:21 +0100)]
re PR tree-optimization/60502 (ICE reassociation and vector types.)
PR tree-optimization/60502
* tree-ssa-reassoc.c (eliminate_not_pairs): Use build_all_ones_cst
instead of build_low_bits_mask.
* gcc.c-torture/compile/pr60502.c: New test.
Co-Authored-By: Marc Glisse <marc.glisse@inria.fr>
From-SVN: r208507
Jakub Jelinek [Wed, 12 Mar 2014 09:15:08 +0000 (10:15 +0100)]
re PR middle-end/60482 (Loop optimization regression)
PR middle-end/60482
* tree-vrp.c (register_edge_assert_for_1): Don't add assert
if there are multiple uses, but op doesn't live on E edge.
* tree-cfg.c (assert_unreachable_fallthru_edge_p): Also ignore
clobber stmts before __builtin_unreachable.
* gcc.dg/vect/pr60482.c: New test.
From-SVN: r208506
Ian Lance Taylor [Wed, 12 Mar 2014 04:38:52 +0000 (04:38 +0000)]
libgo: Build math package with -ffp-contract=off on non-x86.
http://golang.org/issue/7074 shows that not using
-ffp-contract=off produces the wrong result for math.Log2(1)
on arm64.
From-SVN: r208505
GCC Administrator [Wed, 12 Mar 2014 00:17:26 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r208504
Richard Sandiford [Tue, 11 Mar 2014 21:35:02 +0000 (21:35 +0000)]
builtins.c (expand_builtin_setjmp_receiver): Use and clobber hard_frame_pointer_rtx.
gcc/
* builtins.c (expand_builtin_setjmp_receiver): Use and clobber
hard_frame_pointer_rtx.
* cse.c (cse_insn): Remove volatile check.
* cselib.c (cselib_process_insn): Likewise.
* dse.c (scan_insn): Likewise.
From-SVN: r208498
Paolo Carlini [Tue, 11 Mar 2014 17:34:32 +0000 (17:34 +0000)]
re PR c++/60389 ([c++11] ICE with inheriting constructors and wrong usage of constexpr)
/cp
2014-03-11 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/60389
* method.c (get_inherited_ctor): New.
* cp-tree.h (get_inherited_ctor): Declare it.
* semantics.c (is_valid_constexpr_fn): Use it.
/testsuite
2014-03-11 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/60389
* g++.dg/cpp0x/inh-ctor19.C: New.
From-SVN: r208491
Jonathan Wakely [Tue, 11 Mar 2014 17:16:41 +0000 (17:16 +0000)]
re PR libstdc++/60499 (non-reserved name in <debug/vector>)
PR libstdc++/60499
* include/debug/forward_list (forward_list::operator=(forward_list&&)):
Uglify name.
* include/debug/map (map::operator=(map&&)): Likewise.
* include/debug/multimap (multimap::operator=(multimap&&)): Likewise.
* include/debug/multiset (multiset::operator=(multiset&&)): Likewise.
* include/debug/set (set::operator=(set&&)): Likewise.
* include/debug/unordered_map
(unordered_map::operator=(unordered_map&&)): Likewise.
(unordered_multimap::operator=(unordered_multimap&&)): Likewise.
* include/debug/unordered_set
(unordered_set::operator=(unordered_set&&)): Likewise.
(unordered_multiset::operator=(unordered_multiset&&)): Likewise.
* include/debug/vector (vector::operator=(vector&&)): Likewise.
* testsuite/23_containers/forward_list/debug/60499.cc: New
* testsuite/23_containers/map/debug/60499.cc: New
* testsuite/23_containers/multimap/debug/60499.cc: New
* testsuite/23_containers/multiset/debug/60499.cc: New
* testsuite/23_containers/set/debug/60499.cc: New
* testsuite/23_containers/unordered_map/debug/60499.cc: New
* testsuite/23_containers/unordered_multimap/debug/60499.cc: New
* testsuite/23_containers/unordered_multiset/debug/60499.cc: New
* testsuite/23_containers/unordered_set/debug/60499.cc: New
* testsuite/23_containers/vector/debug/60499.cc: New
From-SVN: r208490
Uros Bizjak [Tue, 11 Mar 2014 16:41:07 +0000 (17:41 +0100)]
natObject.cc (_Jv_MonitorEnter): Add missing parenthesis around comparison with (address | LOCKED) in JvAssert.
* java/lang/natObject.cc (_Jv_MonitorEnter): Add missing parenthesis
around comparison with (address | LOCKED) in JvAssert.
From-SVN: r208489
Joern Rennecke [Tue, 11 Mar 2014 16:21:33 +0000 (16:21 +0000)]
Fix arc_predicate_delay_insns ICE suring qt build:
* config/arc/arc.c (conditionalize_nonjump): New function, broken
out of:
(arc_ifcvt) .
(arc_predicate_delay_insns): Use it.
From-SVN: r208488
Joern Rennecke [Tue, 11 Mar 2014 16:09:59 +0000 (16:09 +0000)]
Fix post-reload predicate mismatch ICE during qt build:
* config/arc/predicates.md (extend_operand): During/after reload,
allow const_int_operand.
* config/arc/arc.md (mulsidi3_700): Use extend_operand predicate.
(umulsidi3_700): Likewise. Change operand 2 constraint back to "cL".
(mulsi3_highpart): Change operand 2 constraint alternatives 2 and 3
to "i".
(umulsi3_highpart_i): Likewise.
From-SVN: r208487
Jason Merrill [Tue, 11 Mar 2014 15:37:12 +0000 (11:37 -0400)]
* c.opt: Add -std=gnu++14.
From-SVN: r208486
Richard Biener [Tue, 11 Mar 2014 15:32:27 +0000 (15:32 +0000)]
tree-ssa-structalias.c (get_constraint_for_ptr_offset): Add asserts to guard possible wrong-code bugs.
2014-03-11 Richard Biener <rguenther@suse.de>
* tree-ssa-structalias.c (get_constraint_for_ptr_offset):
Add asserts to guard possible wrong-code bugs.
From-SVN: r208485
Richard Biener [Tue, 11 Mar 2014 12:42:18 +0000 (12:42 +0000)]
re PR middle-end/60429 (Miscompilation (aliasing) with -finline-functions)
2014-03-11 Richard Biener <rguenther@suse.de>
PR tree-optimization/60429
PR tree-optimization/60485
* tree-ssa-structalias.c (set_union_with_increment): Properly
take into account all fields that overlap the shifted vars.
(do_sd_constraint): Likewise.
(do_ds_constraint): Likewise.
(get_constraint_for_ptr_offset): Likewise.
* gcc.dg/pr60485-1.c: New testcase.
* gcc.dg/pr60485-2.c: Likewise.
From-SVN: r208479
Ian Bolton [Tue, 11 Mar 2014 09:41:20 +0000 (09:41 +0000)]
Don't override -ffp-contract=fast if -funsafe-math-optimizations
From-SVN: r208474
Chung-Lin Tang [Tue, 11 Mar 2014 09:04:54 +0000 (09:04 +0000)]
nios2.c (machine_function): Add fp_save_offset field.
2014-03-11 Chung-Lin Tang <cltang@codesourcery.com>
* config/nios2/nios2.c (machine_function): Add fp_save_offset field.
(nios2_compute_frame_layout):
Add calculation of cfun->machine->fp_save_offset.
(nios2_expand_prologue): Correct setting of frame pointer register
in prologue.
(nios2_expand_epilogue): Update recovery of stack pointer from
frame pointer accordingly.
(nios2_initial_elimination_offset): Update calculation of offset
for eliminating to HARD_FRAME_POINTER_REGNUM.
From-SVN: r208472
Joseph Myers [Tue, 11 Mar 2014 00:24:22 +0000 (00:24 +0000)]
* sv.po: Update.
From-SVN: r208470
GCC Administrator [Tue, 11 Mar 2014 00:17:28 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r208469
Eric Botcazou [Mon, 10 Mar 2014 23:58:30 +0000 (23:58 +0000)]
* gcc-interface/Make-lang.in (ADA_DEPFILES): Fix typo.
From-SVN: r208466
Jason Merrill [Mon, 10 Mar 2014 21:06:59 +0000 (17:06 -0400)]
re PR c++/60367 (Default argument object is not getting constructed)
PR c++/60367
* call.c (convert_default_arg): Remove special handling for
CONSTRUCTOR.
From-SVN: r208465
Anatoly Sokolov [Mon, 10 Mar 2014 19:44:14 +0000 (23:44 +0400)]
* MAINTAINERS (Write After Approval): Add myself.
From-SVN: r208461
Jason Merrill [Mon, 10 Mar 2014 19:31:50 +0000 (15:31 -0400)]
move dg-do before dg-require
From-SVN: r208460
Uros Bizjak [Mon, 10 Mar 2014 18:31:20 +0000 (19:31 +0100)]
re PR libgcc/60472 (Warning: array subscript is above array bounds when compiling crtstuff.c)
PR libgcc/60472
* crtstuff.c (frame_dummy): Use void **jcr_list temporary
variable to avoid array subscript is above array bounds warnings.
Use __builtin_expect when checking *jcr_list for NULL.
From-SVN: r208457
Jason Merrill [Mon, 10 Mar 2014 15:44:50 +0000 (11:44 -0400)]
re PR c++/53492 (ICE in retrieve_specialization, at cp/pt.c:985)
PR c++/53492
* parser.c (cp_parser_class_head): Also check PRIMARY_TEMPLATE_P
when deciding whether to call push_template_decl for a member class.
* pt.c (push_template_decl_real): Return after wrong levels error.
From-SVN: r208455
Jakub Jelinek [Mon, 10 Mar 2014 14:55:20 +0000 (15:55 +0100)]
re PR ipa/60457 (ICE in cgraph_get_node)
PR ipa/60457
* ipa.c (symtab_remove_unreachable_nodes): Don't call
cgraph_get_create_node on VAR_DECLs.
* g++.dg/ipa/pr60457.C: New test.
From-SVN: r208454
Richard Biener [Mon, 10 Mar 2014 13:27:16 +0000 (13:27 +0000)]
re PR c++/60474 (Crash in tree_class_check)
2014-03-10 Richard Biener <rguenther@suse.de>
PR middle-end/60474
* tree.c (signed_or_unsigned_type_for): Handle OFFSET_TYPEs.
* g++.dg/torture/pr60474.C: New testcase.
From-SVN: r208451
GCC Administrator [Mon, 10 Mar 2014 00:16:26 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r208447
Andreas Schwab [Sun, 9 Mar 2014 07:52:48 +0000 (07:52 +0000)]
* g++.dg/cpp0x/alias-decl-debug-0.C: Move dg-skip after dg-do.
From-SVN: r208441
Tobias Burnus [Sun, 9 Mar 2014 07:48:48 +0000 (08:48 +0100)]
Makefile.am: Install cilk.h.
2014-03-09 Tobias Burnus <burnus@net-b.de>
* Makefile.am: Install cilk.h.
* Makefile.in: Regenerate.
* aclocal.m4: Regenerate.
From-SVN: r208440
Jerry DeLisle [Sun, 9 Mar 2014 05:34:34 +0000 (05:34 +0000)]
re PR libfortran/38199 (missed optimization: I/O performance)
2014-03-08 Jerry DeLisle <jvdelisle@gcc.gnu>
PR libfortran/38199
* io/list_read.c (next_char): Mark unlikely error checks.
(eat_spaces): For character array reading, skip ahead over
spaces rather than call next_char multiple times.
From-SVN: r208439
Jerry DeLisle [Sun, 9 Mar 2014 03:17:16 +0000 (03:17 +0000)]
re PR libfortran/38199 (missed optimization: I/O performance)
2014-03-08 Jerry DeLisle <jvdelisle@gcc.gnu>
PR libfortran/38199
* io/list_read.c (next_char): Delete unuseful error checks.
(eat_spaces): For character array reading, skip ahead over
spaces rather than call next_char multiple times.
From-SVN: r208438
GCC Administrator [Sun, 9 Mar 2014 00:17:01 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r208437
Tobias Burnus [Sat, 8 Mar 2014 22:13:26 +0000 (23:13 +0100)]
libgfortran.h (unlikely, likely): Add usage comment.
2014-03-08 Tobias Burnus <burnus@net-b.de>
* libgfortran.h (unlikely, likely): Add usage comment.
From-SVN: r208434
Douglas B Rupp [Sat, 8 Mar 2014 20:57:29 +0000 (20:57 +0000)]
Fixes reported build failure.
Tested by cross compiler target ia64-hp-openvms
* config/vms/vms.opt (vms_float_format): New variable.
From-SVN: r208433
Tobias Burnus [Sat, 8 Mar 2014 20:42:34 +0000 (21:42 +0100)]
invoke.texi (-fcilkplus): Update implementation status.
2014-03-08 Tobias Burnus <burnus@net-b.de>
* doc/invoke.texi (-fcilkplus): Update implementation
status.
From-SVN: r208432
Tobias Burnus [Sat, 8 Mar 2014 18:53:18 +0000 (19:53 +0100)]
re PR fortran/60447 (Empty .s file created when using -E flag)
2014-03-08 Tobias Burnus <burnus@net-b.de>
PR fortran/60447
* f95-lang.c (gfc_init): Return false when only
preprocessing.
* options.c (gfc_post_options): Ditto.
From-SVN: r208431
Tobias Burnus [Sat, 8 Mar 2014 11:06:48 +0000 (12:06 +0100)]
gfortran.texi (Fortran 2003 Status): Mention finalization, deferred-length character support and input rounding.
2014-03-08 Tobias Burnus <burnus@net-b.de>
* gfortran.texi (Fortran 2003 Status): Mention finalization,
deferred-length character support and input rounding.
(Fortran 2008 Status): Mention that at termination
signalling exceptions are shown.
From-SVN: r208429
Paulo Matos [Sat, 8 Mar 2014 10:54:05 +0000 (11:54 +0100)]
lto-wrapper.c (merge_and_complain): Ensure -fshort-double is used consistently accross all TUs.
2014-03-08 Paulo Matos <paulo@matos-sorge.com>
Richard Biener <rguenther@suse.de>
* lto-wrapper.c (merge_and_complain): Ensure -fshort-double is used
consistently accross all TUs.
(run_gcc): Enable -fshort-double automatically at link at link-time
and disallow override.
2014-03-08 Paulo Matos <paulo@matos-sorge.com>
* c.opt: Enable LTO FE for fshort-double.
2014-03-08 Paulo Matos <paulo@matos-sorge.com>
* gcc.dg/lto/pr55113_0.c: New testcase.
2014-03-08 Paulo Matos <paulo@matos-sorge.com>
* lto-lang.c (lto_init): Pass flag_short_double to
build_common_tree_nodes.
Co-Authored-By: Richard Biener <rguenther@suse.de>
From-SVN: r208428
Adam Butcher [Sat, 8 Mar 2014 09:33:12 +0000 (09:33 +0000)]
re PR c++/60033 ([c++1y] ICE in retrieve_specialization while compiling recursive generic lambda)
Fix PR c++/60033
PR c++/60033
* pt.c (tsubst_copy): When retrieving a capture pack from a generic
lambda, remove the lambda's own template argument list prior to fetching
the specialization.
PR c++/60033
* g++.dg/cpp1y/pr60033.C: New testcase.
From-SVN: r208427
Adam Butcher [Sat, 8 Mar 2014 09:33:03 +0000 (09:33 +0000)]
re PR c++/60393 ([c++1y] ICE with with invalid functions with auto parameters)
Fix PR c++/60393
PR c++/60393
* parser.c (cp_parser_parameter_declaration_clause): Move generic
function template unwinding on error into a more general location, ...
(cp_parser_skip_to_end_of_statement): ... here.
PR c++/60393
* g++.dg/cpp1y/pr60393.C: New testcase.
From-SVN: r208426
Richard Sandiford [Sat, 8 Mar 2014 09:27:23 +0000 (09:27 +0000)]
re PR target/58271 (ICE in gcc for a MIPS target during compilation with -mpaired-single -ftree-vectorize)
gcc/
PR target/58271
* config/mips/mips.c (mips_option_override): Promote -mpaired-single
warning to an error. Disable TARGET_PAIRED_SINGLE and TARGET_MIPS3D
if they can't be used.
From-SVN: r208425
Dominique d'Humieres [Sat, 8 Mar 2014 06:04:34 +0000 (07:04 +0100)]
re PR fortran/60128 (Wrong ouput using en edit descriptor)
2014-03-08 Dominique d'Humieres <dominiq@lps.ens.fr>
PR libgfortran/60128
* io/write_float.def (output_float): Remove unused variable
nzero_real. Replace a double space with a single one.
(determine_en_precision): Fix wrong handling of the EN format.
PR libfortran/60128
* gfortran.dg/fmt_en.f90: New test.
From-SVN: r208423
GCC Administrator [Sat, 8 Mar 2014 00:16:29 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r208422
Doug Rupp [Fri, 7 Mar 2014 20:35:33 +0000 (20:35 +0000)]
re PR ada/60411 (Ada bootstrap failure on ARM)
2014-03-07 Doug Rupp <rupp@adacore.com>
PR ada/60411
* system-linux-armel.ads (Backend_Overflow_Checks): Set to True.
(Support_64_Bit_Divides): Removed, no longer used.
(ZCX_By_Default): Enabled.
From-SVN: r208419
Jason Merrill [Fri, 7 Mar 2014 20:01:27 +0000 (15:01 -0500)]
* Make-lang.in (check_g++_parallelize): Split dg.exp.
From-SVN: r208417
Jason Merrill [Fri, 7 Mar 2014 20:01:12 +0000 (15:01 -0500)]
g++-dg.exp (g++-dg-runtest): Run tests in C++1y mode, too.
* lib/g++-dg.exp (g++-dg-runtest): Run tests in C++1y mode, too.
* lib/target-supports.exp (check_effective_target_c++11): Now
means C++11 and up.
(check_effective_target_c++11_only): New.
(check_effective_target_c++11_down): New.
(check_effective_target_c++1y): New.
(check_effective_target_c++1y_only): New.
(check_effective_target_c++98_only): Rename from
check_effective_target_c++98.
* g++.dg/*: Use { target c++11 } instead of -std=c++11.
From-SVN: r208416
Jason Merrill [Fri, 7 Mar 2014 20:00:36 +0000 (15:00 -0500)]
parser.c (cp_parser_type_id_1): Only allow 'auto' in C++1y if we're in a trailing return type.
* parser.c (cp_parser_type_id_1): Only allow 'auto' in C++1y if
we're in a trailing return type.
From-SVN: r208415
Jason Merrill [Fri, 7 Mar 2014 20:00:31 +0000 (15:00 -0500)]
typeck.c (comp_template_parms_position): 'auto' and 'decltype(auto)' are different from real template parms.
* typeck.c (comp_template_parms_position): 'auto' and
'decltype(auto)' are different from real template parms.
From-SVN: r208414
Jason Merrill [Fri, 7 Mar 2014 20:00:25 +0000 (15:00 -0500)]
parser.c (cp_parser_using_declaration): Consume the semicolon after bare parameter pack error.
* parser.c (cp_parser_using_declaration): Consume the semicolon
after bare parameter pack error.
From-SVN: r208413
Jason Merrill [Fri, 7 Mar 2014 20:00:20 +0000 (15:00 -0500)]
cp-tree.h (REF_PARENTHESIZED_P): New.
* cp-tree.h (REF_PARENTHESIZED_P): New.
* semantics.c (force_paren_expr): Set it.
* pt.c (do_auto_deduction): Check it.
(tsubst) [COMPONENT_REF]: Copy it.
* typeck.c (maybe_warn_about_useless_cast): Don't strip dereference.
From-SVN: r208412
Jason Merrill [Fri, 7 Mar 2014 20:00:14 +0000 (15:00 -0500)]
decl.c (create_array_type_for_decl): Only warn about invalid C++1y VLA if flag_iso or warn_vla>0.
* decl.c (create_array_type_for_decl): Only warn about invalid
C++1y VLA if flag_iso or warn_vla>0.
(grokdeclarator): Likewise.
* pt.c (tsubst): Likewise.
* semantics.c (finish_decltype_type): Likewise.
* typeck.c (cxx_sizeof_or_alignof_type): Likewise.
(cp_build_addr_expr_1): Likewise.
* init.c (build_new_1): Improve diagnostics.
From-SVN: r208411
Paolo Carlini [Fri, 7 Mar 2014 18:33:38 +0000 (18:33 +0000)]
re PR c++/58609 ([c++11] ICE with uninitialized variable in constexpr)
/cp
2014-03-07 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/58609
* decl.c (check_initializer): Return NULL_TREE after error;
consistently use inform.
/testsuite
2014-03-07 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/58609
* g++.dg/cpp0x/constexpr-ice12.C: New.
From-SVN: r208410
Denis Chertykov [Fri, 7 Mar 2014 16:55:43 +0000 (20:55 +0400)]
MAINTAINERS: Remove avr maintainers: Anatoly Sokolov and Eric Weddington
* MAINTAINERS: Remove avr maintainers: Anatoly Sokolov and Eric Weddington
From-SVN: r208406
Jason Merrill [Fri, 7 Mar 2014 16:23:57 +0000 (11:23 -0500)]
* c.opt: Add -std=c++14.
From-SVN: r208404
Ian Lance Taylor [Fri, 7 Mar 2014 15:52:48 +0000 (15:52 +0000)]
* sort.c (backtrace_qsort): Use middle element as pivot.
From-SVN: r208403
Paolo Carlini [Fri, 7 Mar 2014 14:19:53 +0000 (14:19 +0000)]
decl.c (check_initializer): Remove dead code.
2014-03-07 Paolo Carlini <paolo.carlini@oracle.com>
* decl.c (check_initializer): Remove dead code.
From-SVN: r208402
Rainer Orth [Fri, 7 Mar 2014 13:55:54 +0000 (13:55 +0000)]
Handle backtrace_qsort
* libbacktrace/Makefile.am (libsanitizer_libbacktrace_la_SOURCES):
Add ../../libbacktrace/sort.c.
* libbacktrace/Makefile.in: Regenerate.
* libbacktrace/backtrace-rename.h (backtrace_qsort): Define.
From-SVN: r208401
Jakub Jelinek [Fri, 7 Mar 2014 12:58:27 +0000 (13:58 +0100)]
re PR bootstrap/58572 (make bootstrap-lean leads to installation failure (doing extra rebuilds and invoking system compiler))
PR bootstrap/58572
* Makefile.tpl (POSTSTAGE1_CXX_EXPORT): Use -isystem instead of
-I for libstdc++-v3 includes if $(LEAN).
* Makefile.in: Regenerated.
From-SVN: r208400
Rainer Orth [Fri, 7 Mar 2014 11:33:39 +0000 (11:33 +0000)]
Improve @tlsldmplt test on Solaris 11/x86
* configure.ac (HAVE_AS_IX86_TLSLDMPLT): Improve test for Solaris
11/x86 ld.
* configure: Regenerate.
From-SVN: r208399
Rainer Orth [Fri, 7 Mar 2014 11:30:40 +0000 (11:30 +0000)]
Disable local dynamic TLS model on Solaris/x86 if as/ld cannot handle it
* configure.ac (TLS_SECTION_ASM_FLAG): Save as tls_section_flag.
(LIB_TLS_SPEC): Save as ld_tls_libs.
(HAVE_AS_IX86_TLSLDMPLT): Define as 1/0.
(HAVE_AS_IX86_TLSLDM): New test.
* configure, config.in: Regenerate.
* config/i386/i386.c (legitimize_tls_address): Fall back to
TLS_MODEL_GLOBAL_DYNAMIC on 32-bit Solaris/x86 if tool chain
cannot support TLS_MODEL_LOCAL_DYNAMIC.
* config/i386/i386.md (*tls_local_dynamic_base_32_gnu): Use if
instead of #ifdef in HAVE_AS_IX86_TLSLDMPLT test.
From-SVN: r208398
Paulo Matos [Fri, 7 Mar 2014 09:34:18 +0000 (10:34 +0100)]
common.opt (fira-loop-pressure): Mark as optimization.
2014-03-07 Paulo Matos <paulo@matos-sorge.com>
* common.opt (fira-loop-pressure): Mark as optimization.
From-SVN: r208395
Thomas Schwinge [Fri, 7 Mar 2014 08:46:13 +0000 (09:46 +0100)]
The error_mark_node is not an OpenMP mappable type.
gcc/
* langhooks.c (lhd_omp_mappable_type): The error_mark_node is not
an OpenMP mappable type.
gcc/c/
* c-decl.c (c_decl_attributes): Use
lang_hooks.types.omp_mappable_type.
* c-typeck.c (c_finish_omp_clauses): Likewise.
gcc/testsuite/
* c-c++-common/gomp/map-1.c: Extend.
From-SVN: r208394
Ian Lance Taylor [Fri, 7 Mar 2014 05:07:56 +0000 (05:07 +0000)]
sort.c: New file.
* sort.c: New file.
* stest.c: New file.
* internal.h (backtrace_qsort): Declare.
* dwarf.c (read_abbrevs): Call backtrace_qsort instead of qsort.
(read_line_info, read_function_entry): Likewise.
(read_function_info, build_dwarf_data): Likewise.
* elf.c (elf_initialize_syminfo): Likewise.
* Makefile.am (libbacktrace_la_SOURCES): Add sort.c.
(stest_SOURCES, stest_LDADD): Define.
(check_PROGRAMS): Add stest.
From-SVN: r208392
Ian Lance Taylor [Fri, 7 Mar 2014 05:04:37 +0000 (05:04 +0000)]
runtime: Fix GC bug caused by Entersyscall modifying reg.
This patch fixes a rare but serious bug. The Go garbage
collector only examines Go stacks. When Go code calls a
function that is not written in Go, it first calls
syscall.Entersyscall. Entersyscall records the position of
the Go stack pointer and saves a copy of all the registers.
If the garbage collector runs while the thread is executing
the non-Go code, the garbage collector fetches the stack
pointer and registers from the saved location.
Entersyscall saves the registers using the getcontext
function. Unfortunately I didn't consider the possibility
that Entersyscall might itself change a register before
calling getcontext. This only matters for callee-saved
registers, as caller-saved registers would be visible on the
saved stack. And it only matters if Entersyscall is compiled
to save and modify a callee-saved register before it calls
getcontext. And it only matters if a garbage collection
occurs while the non-Go code is executing. And it only
matters if the only copy of a valid Go pointer happens to be
in the callee-saved register when Entersyscall is called.
When all those conditions are true, the Go pointer might get
collected incorrectly, leading to memory corruption.
This patch tries to avoid the problem by splitting
Entersyscall into two functions. The first is a simple
function that just calls getcontext and then calls the rest of
Entersyscall. This should fix the problem, provided the
simple Entersyscall function does not itself modify any
callee-saved registers before calling getcontext. That seems
to be true on the systems I checked. But since the argument
to getcontext is an offset from a TLS variable, it won't be
true on a system which needs to save callee-saved registers in
order to get the address of a TLS variable. I don't know why
any system would work that way, but I don't know how to rule
it out. I think that on any such system this will have to be
implemented in assembler. I can't put the ucontext_t
structure on the stack, because this function can not split
stacks, and the ucontext_t structure is large enough that it
could cause a stack overflow.
From-SVN: r208390
GCC Administrator [Fri, 7 Mar 2014 00:16:53 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r208389
Paul Thomas [Thu, 6 Mar 2014 21:45:31 +0000 (21:45 +0000)]
re PR fortran/51976 ([F2003] Support deferred-length character components of derived types (allocatable string length))
2014-03-06 Paul Thomas <pault@gcc.gnu.org>
Janus Weil <janus@gcc.gnu.org>
PR fortran/51976
* gfortran.h (symbol_attribute): Add deferred_parameter attribute.
* primary.c (build_actual_constructor): It is not an error if
a missing component has the deferred_parameter attribute;
equally, if one is given a value, it is an error.
* resolve.c (resolve_fl_derived0): Remove error for deferred
character length components. Add the hidden string length
field to the structure. Give it the deferred_parameter
attribute.
* trans-array.c (duplicate_allocatable): Add a strlen field
which is used as the element size if it is non-null.
(gfc_duplicate_allocatable, gfc_copy_allocatable_data): Pass a
NULL to the new argument in duplicate_allocatable.
(structure_alloc_comps): Set the hidden string length as
appropriate. Use it in calls to duplicate_allocatable.
(gfc_alloc_allocatable_for_assignment): When a deferred length
backend declaration is variable, use that; otherwise use the
string length from the expression evaluation.
* trans-expr.c (gfc_conv_component_ref): If this is a deferred
character length component, the string length should have the
value of the hidden string length field.
(gfc_trans_subcomponent_assign): Set the hidden string length
field for deferred character length components. Allocate the
necessary memory for the string.
(alloc_scalar_allocatable_for_assignment): Same change as in
gfc_alloc_allocatable_for_assignment above.
* trans-stmt.c (gfc_trans_allocate): Likewise.
* trans-intrinsic (size_of_string_in_bytes): Make non-static.
* trans-types.c (gfc_get_derived_type): Set the tree type for
a deferred character length component.
* trans.c (gfc_deferred_strlen): New function.
* trans.h (size_of_string_in_bytes,gfc_deferred_strlen): New prototypes.
2014-03-06 Paul Thomas <pault@gcc.gnu.org>
Janus Weil <janus@gcc.gnu.org>
PR fortran/51976
* gfortran.dg/deferred_type_component_1.f90 : New test.
* gfortran.dg/deferred_type_component_2.f90 : New test.
Co-Authored-By: Janus Weil <janus@gcc.gnu.org>
From-SVN: r208386
Matthias Klose [Thu, 6 Mar 2014 14:16:49 +0000 (14:16 +0000)]
Makefile.in (s-mlib): Only pass MULTIARCH_DIRNAME if MULTILIB_OSDIRNAMES is not defined.
2014-03-06 Matthias Klose <doko@ubuntu.com>
* Makefile.in (s-mlib): Only pass MULTIARCH_DIRNAME if
MULTILIB_OSDIRNAMES is not defined.
From-SVN: r208383
Marek Polacek [Thu, 6 Mar 2014 13:41:46 +0000 (13:41 +0000)]
re PR c/60197 (ICE with _Cilk_spawn in expression)
PR c/60197
c-family/
* cilk.c (contains_cilk_spawn_stmt): New function.
(contains_cilk_spawn_stmt_walker): Likewise.
(recognize_spawn): Give error on invalid use of _Cilk_spawn.
* c-common.h (contains_cilk_spawn_stmt): Add declaration.
c/
* c-typeck.c (c_finish_return): Call contains_cilk_spawn_stmt instead
of checking tree code.
cp/
* typeck.c (check_return_expr): Call contains_cilk_spawn_stmt instead
of checking tree code.
testsuite/
* c-c++-common/cilk-plus/CK/pr60197.c: New test.
* c-c++-common/cilk-plus/CK/pr60197-2.c: New test.
From-SVN: r208382
Rainer Orth [Thu, 6 Mar 2014 12:24:11 +0000 (12:24 +0000)]
Don't install vtv_*.o unless --enable-vtable-verify (PR libgcc/59339)
PR libgcc/59339
* config.host (*-*-linux*, frv-*-*linux*, *-*-kfreebsd*-gnu)
(*-*-knetbsd*-gnu, *-*-gnu*, *-*-kopensolaris*-gnu): Only add
vtv_*.o to extra_parts if enable_vtable_verify.
From-SVN: r208381
Jakub Jelinek [Thu, 6 Mar 2014 12:07:07 +0000 (13:07 +0100)]
re PR target/58595 (internal compiler error: in gen_movsi when compiling on arm some files of lttng-tools with -fPIE)
PR target/58595
* config/arm/arm.c (arm_tls_symbol_p): Remove.
(arm_legitimize_address): Call legitimize_tls_address for any
arm_tls_referenced_p expression, handle constant addend. Call it
before testing for !TARGET_ARM.
(thumb_legitimize_address): Don't handle arm_tls_symbol_p here.
* gcc.dg/tls/pr58595.c: New test.
Co-Authored-By: Meador Inge <meadori@codesourcery.com>
From-SVN: r208380
Richard Biener [Thu, 6 Mar 2014 11:19:13 +0000 (11:19 +0000)]
re PR middle-end/60445 (473.astar miscompares with -Ofast)
2014-03-06 Richard Biener <rguenther@suse.de>
PR middle-end/60445
PR lto/60424
PR lto/60427
Revert
2014-03-04 Paulo Matos <paulo@matos-sorge.com>
* tree-streamer.c (record_common_node): Assert we don't record
nodes with type double.
(preload_common_node): Skip type double, complex double and
double pointer since it is now frontend dependent due to
fshort-double option.
* gcc.dg/lto/pr55113_0.c: New testcase.
From-SVN: r208379
Paolo Carlini [Thu, 6 Mar 2014 09:40:06 +0000 (09:40 +0000)]
parser.c (cp_lexer_set_source_position): New.
2014-03-06 Paolo Carlini <paolo.carlini@oracle.com>
* parser.c (cp_lexer_set_source_position): New.
(cp_parser_mem_initializer): Use it.
(cp_parser_postfix_open_square_expression): Likewise.
(cp_parser_parenthesized_expression_list): Likewise.
(cp_parser_new_initializer): Likewise.
(cp_parser_jump_statement): Likewise.
(cp_parser_initializer): Likewise.
(cp_parser_functional_cast): Likewise.
From-SVN: r208378
Richard Biener [Thu, 6 Mar 2014 08:48:01 +0000 (08:48 +0000)]
gcc.c (PLUGIN_COND): Always enable unless -fno-use-linker-plugin or -fno-lto is specified and the...
2014-03-06 Richard Biener <rguenther@suse.de>
* gcc.c (PLUGIN_COND): Always enable unless -fno-use-linker-plugin
or -fno-lto is specified and the linker has full plugin support.
* collect2.c (lto_mode): Default to LTO_MODE_WHOPR if LTO is
enabled.
(main): Remove -flto processing, adjust lto_mode using
use_plugin late.
* lto-wrapper.c (merge_and_complain): Merge compile-time
optimization levels.
(run_gcc): And pass it through to the link options.
From-SVN: r208375
Nick Clifton [Thu, 6 Mar 2014 08:35:40 +0000 (08:35 +0000)]
t-msp430 (LIB2ADD): Add lib2hw_mul.S
* config/msp430/t-msp430 (LIB2ADD): Add lib2hw_mul.S
* config/msp430/lib2hw_mul.S: New: Hardware multiply routines.
From-SVN: r208374
Alexandre Oliva [Thu, 6 Mar 2014 07:04:47 +0000 (07:04 +0000)]
re PR debug/60381 (ICE: in vt_expand_var_loc_chain, at var-tracking.c:8245)
PR debug/60381
Revert:
2014-02-28 Alexandre Oliva <aoliva@redhat.com>
PR debug/59992
* cselib.c (remove_useless_values): Skip to avoid quadratic
behavior if the condition moved from...
(cselib_process_insn): ... here holds.
From-SVN: r208361
Ed Smith-Rowland [Thu, 6 Mar 2014 01:31:39 +0000 (01:31 +0000)]
[libstdc++,docs] After the latest batch of papers came out I updated the status docs.
From-SVN: r208358
GCC Administrator [Thu, 6 Mar 2014 00:16:40 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r208357
Jakub Jelinek [Wed, 5 Mar 2014 20:07:50 +0000 (21:07 +0100)]
re PR testsuite/59308 (gcc.dg/tree-ssa/ssa-ifcombine-ccmp-[1456] tests fail on arm cortex-a5)
PR testsuite/59308
* gcc.dg/pr46309.c: Don't compile on logical_op_short_circuit targets
other than mips/avr. Use -mbranch-cost=2 even for i?86/x86_64.
* gcc.dg/tree-ssa/reassoc-32.c: Use -mbranch-cost=2 even for
s390*/i?86/x86_64.
* gcc.dg/tree-ssa/reassoc-33.c: Likewise.
* gcc.dg/tree-ssa/reassoc-34.c: Likewise.
* gcc.dg/tree-ssa/reassoc-35.c: Likewise.
* gcc.dg/tree-ssa/reassoc-36.c: Likewise.
* gcc.dg/tree-ssa/ssa-ifcombine-ccmp-1.c: Don't compile on
logical_op_short_circuit targets other than avr. Use -mbranch-cost=2
even for mips*/s390*/i?86/x86_64.
* gcc.dg/tree-ssa/ssa-ifcombine-ccmp-2.c: Likewise.
* gcc.dg/tree-ssa/ssa-ifcombine-ccmp-3.c: Likewise.
* gcc.dg/tree-ssa/ssa-ifcombine-ccmp-4.c: Likewise.
* gcc.dg/tree-ssa/ssa-ifcombine-ccmp-5.c: Likewise.
* gcc.dg/tree-ssa/ssa-ifcombine-ccmp-6.c: Likewise.
From-SVN: r208354
Jason Merrill [Wed, 5 Mar 2014 19:25:37 +0000 (14:25 -0500)]
re PR c++/60409 ([c++1y] ICE on valid with template function)
PR c++/60409
* semantics.c (force_paren_expr): Only add a PAREN_EXPR to a
dependent expression.
From-SVN: r208352
Jason Merrill [Wed, 5 Mar 2014 17:53:28 +0000 (12:53 -0500)]
re PR c++/60361 (unexpected 'use of parameter outside function body' error)
PR c++/60361
* parser.c (cp_parser_template_id): Don't set up a CPP_TEMPLATE_ID
if re-parsing might succeed.
* semantics.c (finish_id_expression): Use of a parameter outside
the function body is a parse error.
From-SVN: r208351
Jason Merrill [Wed, 5 Mar 2014 17:53:21 +0000 (12:53 -0500)]
parser.c (cp_parser_mem_initializer): Set input_location properly for init-list warning.
* parser.c (cp_parser_mem_initializer): Set input_location
properly for init-list warning.
(cp_parser_postfix_open_square_expression): Likewise.
(cp_parser_parenthesized_expression_list): Likewise.
(cp_parser_new_initializer): Likewise.
(cp_parser_jump_statement): Likewise.
(cp_parser_initializer): Likewise.
(cp_parser_functional_cast): Likewise.
From-SVN: r208350
Jakub Jelinek [Wed, 5 Mar 2014 15:06:23 +0000 (16:06 +0100)]
re PR plugins/59335 (Plugin doesn't build on trunk)
PR plugins/59335
* Makefile.in (PLUGIN_HEADERS): Add tree-phinodes.h, stor-layout.h,
ssa-iterators.h, $(RESOURCE_H) and tree-cfgcleanup.h.
From-SVN: r208346
Jakub Jelinek [Wed, 5 Mar 2014 09:52:18 +0000 (10:52 +0100)]
re PR plugins/59335 (Plugin doesn't build on trunk)
PR plugins/59335
* config/i386/t-i386 (OPTIONS_H_EXTRA): Add stringop.def.
(TM_H): Add x86-tune.def.
From-SVN: r208344
Kyrylo Tkachov [Wed, 5 Mar 2014 09:39:09 +0000 (09:39 +0000)]
aarch64.c (generic_tunings): Use cortexa57_extra_costs.
* config/aarch64/aarch64.c (generic_tunings):
Use cortexa57_extra_costs.
From-SVN: r208343
Jakub Jelinek [Wed, 5 Mar 2014 08:46:31 +0000 (09:46 +0100)]
re PR lto/60404 (wrong code by LTO on x86_64-linux-gnu)
PR lto/60404
* cfgexpand.c (expand_used_vars): Do not assume all SSA_NAMEs
of PARM/RESULT_DECLs must be coalesced with optimize && in_lto_p.
* tree-ssa-coalesce.c (coalesce_ssa_name): Use MUST_COALESCE_COST - 1
cost for in_lto_p.
* gcc.dg/lto/pr60404_0.c: New test.
* gcc.dg/lto/pr60404_1.c: New file.
* gcc.dg/lto/pr60404_2.c: New file.
From-SVN: r208340
GCC Administrator [Wed, 5 Mar 2014 00:17:10 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r208338
Jason Merrill [Tue, 4 Mar 2014 22:16:12 +0000 (17:16 -0500)]
re PR c++/60417 ([DR 1518] Bogus error on C++03 aggregate initialization)
PR c++/60417
* typeck2.c (process_init_constructor_record): Set
CONSTRUCTOR_IS_DIRECT_INIT on {} for omitted initializers.
From-SVN: r208333
Jason Merrill [Tue, 4 Mar 2014 22:16:03 +0000 (17:16 -0500)]
re PR c++/60415 (Bogus "invalid use of qualified-name")
PR c++/60415
PR c++/54359
* parser.c (cp_parser_direct_declarator): Set declarator to
cp_error_declarator on invalid qualified-id.
From-SVN: r208332
Heiher [Tue, 4 Mar 2014 21:39:50 +0000 (04:09 +0630)]
mips-cpus.def (loongson3a): Mark as a MIPS64r2 processor.
gcc/
2014-03-04 Heiher <r@hev.cc>
* config/mips/mips-cpus.def (loongson3a): Mark as a MIPS64r2 processor.
* config/mips/mips.h (MIPS_ISA_LEVEL_SPEC): Adjust accordingly.
From-SVN: r208330
Uros Bizjak [Tue, 4 Mar 2014 18:13:12 +0000 (19:13 +0100)]
predicates.md (const2356_operand): Change to ...
* config/i386/predicates.md (const2356_operand): Change to ...
(const2367_operand): ... this.
* config/i386/sse.md (avx512pf_scatterpf<mode>sf): Use
const2367_operand.
(*avx512pf_scatterpf<mode>sf_mask): Ditto.
(*avx512pf_scatterpf<mode>sf): Ditto.
(avx512pf_scatterpf<mode>df): Ditto.
(*avx512pf_scatterpf<mode>df_mask): Ditto.
(*avx512pf_scatterpf<mode>df): Ditto.
* config/i386/i386.c (ix86_expand_builtin): Update
incorrect hint operand error message.
From-SVN: r208324
Bill Schmidt [Tue, 4 Mar 2014 17:00:21 +0000 (17:00 +0000)]
extract-vsx.c: Replace "vector long" with "vector long long" throughout.
2014-03-04 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
* gcc.dg/vmx/extract-vsx.c: Replace "vector long" with "vector
long long" throughout.
* gcc.dg/vmx/extract-vsx-be-order.c: Likewise.
* gcc.dg/vmx/insert-vsx.c: Likewise.
* gcc.dg/vmx/insert-vsx-be-order.c: Likewise.
* gcc.dg/vmx/ld-vsx.c: Likewise.
* gcc.dg/vmx/ld-vsx-be-order.c: Likewise.
* gcc.dg/vmx/ldl-vsx.c: Likewise.
* gcc.dg/vmx/ldl-vsx-be-order.c: Likewise.
* gcc.dg/vmx/merge-vsx.c: Likewise.
* gcc.dg/vmx/merge-vsx-be-order.c: Likewise.
* gcc.dg/vmx/st-vsx.c: Likewise.
* gcc.dg/vmx/st-vsx-be-order.c: Likewise.
* gcc.dg/vmx/stl-vsx.c: Likewise.
* gcc.dg/vmx/stl-vsx-be-order.c: Likewise.
From-SVN: r208321
Jonathan Wakely [Tue, 4 Mar 2014 12:56:10 +0000 (12:56 +0000)]
* MAINTAINERS: Update my email address.
From-SVN: r208316
Richard Biener [Tue, 4 Mar 2014 12:52:13 +0000 (12:52 +0000)]
lto-section-in.c (lto_get_section_data): Fix const cast.
2014-03-04 Richard Biener <rguenther@suse.de>
* lto-section-in.c (lto_get_section_data): Fix const cast.
From-SVN: r208315
Paulo Matos [Tue, 4 Mar 2014 11:45:06 +0000 (12:45 +0100)]
tree-streamer.c (record_common_node): Assert we don't record nodes with type double.
2014-03-04 Paulo Matos <paulo@matos-sorge.com>
* tree-streamer.c (record_common_node): Assert we don't record
nodes with type double.
(preload_common_node): Skip type double, complex double and
double pointer since it is now frontend dependent due to
fshort-double option.
2014-03-04 Paulo Matos <paulo@matos-sorge.com>
* gcc.dg/lto/pr55113_0.c: New testcase.
From-SVN: r208312
Richard Biener [Tue, 4 Mar 2014 11:25:50 +0000 (11:25 +0000)]
re PR lto/60405 (ICE in lto1 on x86_64-linux-gnu)
2014-03-04 Richard Biener <rguenther@suse.de>
PR lto/60405
* lto-streamer-in.c (lto_read_body): Remove LTO bytecode version
check.
(lto_input_toplevel_asms): Likewise.
* lto-section-in.c (lto_get_section_data): Instead do it here
for every section.
From-SVN: r208311
Paolo Carlini [Tue, 4 Mar 2014 10:52:18 +0000 (10:52 +0000)]
re PR c++/60376 ([c++1y] ICE on invalid with using declaration in template function)
/gcc/cp
2014-03-04 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/60376
* parser.c (cp_parser_using_declaration): Early return when
cp_parser_nested_name_specifier errors out.
/gcc/testsuite
2014-03-04 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/60376
* g++.dg/cpp1y/pr60376.C: New.
/libstdc++-v3
2014-03-04 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/60376
* testsuite/29_atomics/headers/atomic/types_std_c++0x_neg.cc:
Adjust dg-error directives.
From-SVN: r208309
Rainer Orth [Tue, 4 Mar 2014 10:02:17 +0000 (10:02 +0000)]
Fix g++.dg/abi/anon2.C with -std=c++98
* g++.dg/abi/anon2.C: Don't scan assembler for c++98.
From-SVN: r208307
Richard Biener [Tue, 4 Mar 2014 08:47:55 +0000 (08:47 +0000)]
re PR tree-optimization/60382 (ICE on valid code at -O3 on x86_64-linux-gnu (in vect_create_epilog_for_reduction, at tree-vect-loop.c:4352))
2014-03-04 Richard Biener <rguenther@suse.de>
PR tree-optimization/60382
* tree-vect-loop.c (vect_is_simple_reduction_1): Do not consider
dead PHIs a reduction.
* gcc.dg/vect/pr60382.c: New testcase.
From-SVN: r208305
Jerry DeLisle [Tue, 4 Mar 2014 05:46:06 +0000 (05:46 +0000)]
re PR fortran/60148 (strings in NAMELIST do not honor DELIM= in open statement)
2014-03-03 Jerry DeLisle <jvdelisle@gcc.gnu>
PR libfortran/60148
* gfortran.dg/namelist_84.f90: New test.
From-SVN: r208303