gcc.git
9 years agore PR libstdc++/64302 (The match_results::cbegin()/cend() return incorrect results)
Tim Shen [Wed, 17 Dec 2014 09:25:44 +0000 (09:25 +0000)]
re PR libstdc++/64302 (The match_results::cbegin()/cend() return incorrect results)

PR libstdc++/64302
PR libstdc++/64303
* include/bits/regex.h (match_results::cbegin, match_results::cend,
regex_token_iterator::regex_token_iterator,
regex_token_iterator::_M_normalize_result): Fix match_results cbegin
and cend and regex_token_iterator::_M_result invariant.
* include/bits/regex.tcc: Fix regex_token_iterator::_M_result invariant.
* testsuite/28_regex/iterators/regex_token_iterator/64303.cc: Testcase.

From-SVN: r218810

9 years agodrop reason for my change from ChangeLog
Michael Haubenwallner [Wed, 17 Dec 2014 08:27:53 +0000 (08:27 +0000)]
drop reason for my change from ChangeLog

From-SVN: r218809

9 years agore PR fortran/54687 (Use gcc option machinery for gfortran)
Tobias Burnus [Wed, 17 Dec 2014 06:29:30 +0000 (07:29 +0100)]
re PR fortran/54687 (Use gcc option machinery for gfortran)

2014-12-17  Tobias Burnus  <burnus@net-b.de>

        PR fortran/54687
gcc/
        * flag-types.h (gfc_init_local_real, gfc_fcoarray,
        gfc_convert): New enums; moved from fortran/.

gcc/fortran/
        * gfortran.h (gfc_option_t): Remove flags which now
        have a Var().
        (init_local_real, gfc_fcoarray): Moved to ../flag-types.h.
        * libgfortran.h (unit_convert): Add comment.
        * lang.opt (flag-convert, flag-init_real, flag-coarray):
        Add Var() and Enum().
        * options.c (gfc_handle_coarray_option): Remove.
        (gfc_init_options, gfc_post_options, gfc_handle_option):
        Update for *.opt changes.
        * array.c: Update for flag-variable name changes.
        * check.c: Ditto.
        * match.c: Ditto.
        * resolve.c: Ditto.
        * simplify.c: Ditto.
        * trans-array.c: Ditto.
        * trans-decl.c: Ditto.
        * trans-expr.c: Ditto.
        * trans-intrinsic.c: Ditto.
        * trans-stmt.c: Ditto.
        * trans-types.c: Ditto.
        * trans.c: Ditto.

From-SVN: r218808

9 years agocrt.h: New.
Oleg Endo [Wed, 17 Dec 2014 02:01:10 +0000 (02:01 +0000)]
crt.h: New.

libgcc/
* config/sh/crt.h: New.
* config/sh/crti.S: Use GLOBAL macro from crt.h for _init and _fini
symbols.
* config/sh/crt1.S: Likewise.

From-SVN: r218807

9 years agocompiler: Don't crash on append with single argument.
Ian Lance Taylor [Wed, 17 Dec 2014 01:04:39 +0000 (01:04 +0000)]
compiler: Don't crash on append with single argument.

Instead of allocating an empty slice literal, use a slice
value with a nil pointer.

From-SVN: r218806

9 years agoDaily bump.
GCC Administrator [Wed, 17 Dec 2014 00:16:33 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r218805

9 years agore PR c++/58650 ([c++11] ICE with invalid friend declaration)
Paolo Carlini [Tue, 16 Dec 2014 23:28:31 +0000 (23:28 +0000)]
re PR c++/58650 ([c++11] ICE with invalid friend declaration)

/cp
2014-12-16  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/58650
* parser.c (cp_parser_member_declaration): Fix error recovery for
initialized non-static data member declared friend.

/testsuite
2014-12-16  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/58650
* g++.dg/parse/friend12.C: New.

From-SVN: r218801

9 years agocompiler: Don't built hash/equality functions for thunk structs.
Ian Lance Taylor [Tue, 16 Dec 2014 22:53:38 +0000 (22:53 +0000)]
compiler: Don't built hash/equality functions for thunk structs.

They are never necessary, and they can cause problems when a
thunk is used to pass an unexported type from a different
package to a function defined in that package.  The resulting
struct type may need to call the comparison routine from the
other package, which will fail because the type is not
exported.  This will be bug492 in the master testsuite.

From-SVN: r218798

9 years ago* fibonacci_heap.h (min): Return m_data instead of non-existing data.
Jan Hubicka [Tue, 16 Dec 2014 22:30:22 +0000 (23:30 +0100)]
* fibonacci_heap.h (min): Return m_data instead of non-existing data.

From-SVN: r218797

9 years agoipa-inline-analysis.c (will_be_nonconstant_predicate): Consider return values of...
Jan Hubicka [Tue, 16 Dec 2014 22:16:17 +0000 (23:16 +0100)]
ipa-inline-analysis.c (will_be_nonconstant_predicate): Consider return values of const calls as constants.

* ipa-inline-analysis.c (will_be_nonconstant_predicate): Consider
return values of const calls as constants.
(estimate_function_body_sizes): Expect calls to have false predicates.

From-SVN: r218796

9 years agore PR target/54089 ([SH] Refactor shift patterns)
Oleg Endo [Tue, 16 Dec 2014 21:37:42 +0000 (21:37 +0000)]
re PR target/54089 ([SH] Refactor shift patterns)

gcc/testsuite/
PR target/54089
* gcc.target/sh/pr54089-1.c: Change optimization level from -O1 to -O2.

From-SVN: r218795

9 years agore PR go/61246 (gccgo: ICE in do_determine_types [GoSmith])
Ian Lance Taylor [Tue, 16 Dec 2014 21:36:53 +0000 (21:36 +0000)]
re PR go/61246 (gccgo: ICE in do_determine_types [GoSmith])

PR go/61246
compiler: Switch expression comparisons should be boolean typed.

From-SVN: r218794

9 years agore PR target/53513 ([SH] Add support for fpchg insn and improve fenv support)
Oleg Endo [Tue, 16 Dec 2014 21:28:59 +0000 (21:28 +0000)]
re PR target/53513 ([SH] Add support for fpchg insn and improve fenv support)

gcc/testsuite/
PR target/53513
* gcc.target/sh/fpchg.c: Rename to ...
* gcc.target/sh/pr53513-1.c: ... this.  Adjust test case to work for
-m4a and -m4a-single.

From-SVN: r218793

9 years agore PR fortran/54687 (Use gcc option machinery for gfortran)
Tobias Burnus [Tue, 16 Dec 2014 20:44:45 +0000 (21:44 +0100)]
re PR fortran/54687 (Use gcc option machinery for gfortran)

2014-12-16  Tobias Burnus  <burnus@net-b.de>

        PR fortran/54687
        * gfortran.h (gfc_option_t): Remove flags which now
        have a Var().
        * lang.opt (flag-aggressive_function_elimination,
        flag-align_commons, flag-all_intrinsics,
        flag-allow_leading_underscore, flag-automatic, flag-backslash,
        flag-backtrace, flag-blas_matmul_limit, flag-cray_pointer,
        flag-dollar_ok, flag-dump_fortran_original,
        flag-dump_fortran_optimized, flag-external_blas, flag-f2c,
        flag-implicit_none, flag-max_array_constructor,
        flag-module_private, flag-pack_derived, flag-range_check,
        flag-recursive, flag-repack_arrays, flag-sign_zero,
        flag-underscoring): Add Var() and, where applicable, Enum().
        * options.c (gfc_init_options, gfc_post_options,
        gfc_handle_option): Update for *.opt changes.
        * arith.c: Update for flag-variable name changes.
        * array.c: Ditto.
        * cpp.c: Ditto.
        * decl.c: Ditto.
        * expr.c: Ditto.
        * f95-lang.c: Ditto.
        * frontend-passes.c: Ditto.
        * intrinsic.c: Ditto.
        * io.c: Ditto.
        * match.c: Ditto.
        * module.c: Ditto.
        * parse.c: Ditto.
        * primary.c: Ditto.
        * resolve.c: Ditto.
        * scanner.c: Ditto.
        * simplify.c: Ditto.
        * symbol.c: Ditto.
        * trans-array.c: Ditto.
        * trans-common.c: Ditto.
        * trans-decl.c: Ditto.
        * trans-expr.c: Ditto.
        * trans-intrinsic.c: Ditto.
        * trans-openmp.c: Ditto.
        * trans-types.c: Ditto.

From-SVN: r218792

9 years agohwint.c (abs_hwi, absu_hwi): Move to ...
Jan Hubicka [Tue, 16 Dec 2014 19:59:56 +0000 (20:59 +0100)]
hwint.c (abs_hwi, absu_hwi): Move to ...

* hwint.c (abs_hwi, absu_hwi): Move to ...
* hwint.h (abs_hwi, absu_hwi): ... here; make inline.

From-SVN: r218791

9 years ago2014-12-15 Tobias Burnus <burnus@net-b.de>
Tobias Burnus [Tue, 16 Dec 2014 19:24:50 +0000 (20:24 +0100)]
2014-12-15  Tobias Burnus  <burnus@net-b.de>

        * lang.opt (fsecond-underscore, frecord-marker=8,
        * frecord-marker=4,
        frealloc-lhs, freal-8-real-16, freal-8-real-10, freal-8-real-4,
        freal-4-real-16, freal-4-real-10, freal-4-real-8, fprotect-parens,
        fstack-arrays, fmax-stack-var-size=, fmax-subrecord-length=,
        ffrontend-optimize, ffree-line-length-, ffixed-line-length-,
        finteger-4-integer-8, fdefault-real-8, fdefault-integer-8,
        fdefault-double-8): Add Var() and Init().
        * gfortran.h (gfc_option_t): Remove moved flags.
        * options.c (gfc_init_options, gfc_handle_option): Ditto.
        (gfc_post_options): Update for name change.
        * decl.c (gfc_match_old_kind_spec, gfc_match_kind_spec): Handle
        flag-name change.
        * frontend-passes.c (gfc_run_passes): Ditto.
        * module.c (use_iso_fortran_env_module): Ditto.
        * primary.c (match_integer_constant, match_real_constant):
        * Ditto.
        * resolve.c (resolve_ordinary_assign): Ditto.
        * scanner.c (gfc_next_char_literal, load_line): Ditto.
        * trans-array.c (gfc_trans_allocate_array_storage,
        gfc_conv_resolve_dependencies, gfc_trans_auto_array_allocation,
        gfc_conv_ss_startstride): Ditto.
        * trans-common.c (gfc_sym_mangled_common_id): Ditto.
        * trans-decl.c (gfc_sym_mangled_function_id,
        create_main_function): Ditto.
        * trans-expr.c (gfc_conv_expr_op, gfc_conv_procedure_call,
        arrayfunc_assign_needs_temporary, gfc_trans_arrayfunc_assign,
        gfc_trans_assignment_1): Ditto.
        * trans-stmt.c (gfc_trans_allocate): Ditto.
        * trans-types.c (gfc_init_kinds): Ditto.

From-SVN: r218790

9 years agore PR go/61264 (gccgo: ICE in __normal_iterator [GoSmith])
Ian Lance Taylor [Tue, 16 Dec 2014 19:14:54 +0000 (19:14 +0000)]
re PR go/61264 (gccgo: ICE in __normal_iterator [GoSmith])

PR go/61264
compiler: Fix copying behavior for empty composite literals.

From-SVN: r218789

9 years agore PR go/61273 (gccgo: ICE in Unsafe_type_conversion_expression::do_get_backend ...
Ian Lance Taylor [Tue, 16 Dec 2014 18:53:46 +0000 (18:53 +0000)]
re PR go/61273 (gccgo: ICE in Unsafe_type_conversion_expression::do_get_backend [GoSmith])

PR go/61273
compiler: Send statements should contextually permit composite literals.

From-SVN: r218788

9 years agore PR middle-end/64309 (if (1 & (1 << n)) not simplified to if (n == 0))
Marek Polacek [Tue, 16 Dec 2014 18:29:01 +0000 (18:29 +0000)]
re PR middle-end/64309 (if (1 & (1 << n)) not simplified to if (n == 0))

PR middle-end/64309
* match.pd: Add ((1 << A) & 1) != 0 -> A == 0 and
((1 << A) & 1) == 0 -> A != 0.

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

From-SVN: r218787

9 years agogenmatch.c (parser::parser): Initialize capture_ids.
Richard Biener [Tue, 16 Dec 2014 18:24:55 +0000 (18:24 +0000)]
genmatch.c (parser::parser): Initialize capture_ids.

2014-12-16  Richard Biener  <rguenther@suse.de>

* genmatch.c (parser::parser): Initialize capture_ids.
(parser::parse_pattern): Properly allocate capture_ids before
using them.  Set capture_ids to zero when its lifetime is
supposed to finish.
(parser::parse_simplify): Allocate capture_ids only if
required.

From-SVN: r218786

9 years agognu.ver (CXXABI_1.3.9): Export not just _Zd[la]Pvm...
Jakub Jelinek [Tue, 16 Dec 2014 17:42:24 +0000 (18:42 +0100)]
gnu.ver (CXXABI_1.3.9): Export not just _Zd[la]Pvm...

* config/abi/pre/gnu.ver (CXXABI_1.3.9): Export not just
_Zd[la]Pvm, but also _Zd[la]Pv[jy] to cover other std::size_t
manglings.

From-SVN: r218785

9 years agognu-versioned-namespace.ver: And other size_t manglings.
Jason Merrill [Tue, 16 Dec 2014 17:21:42 +0000 (12:21 -0500)]
gnu-versioned-namespace.ver: And other size_t manglings.

* config/abi/pre/gnu-versioned-namespace.ver: And other size_t
manglings.

From-SVN: r218784

9 years agoBoth config.h and system.h define ABI/API macros for system headers.
Michael Haubenwallner [Tue, 16 Dec 2014 17:14:49 +0000 (17:14 +0000)]
Both config.h and system.h define ABI/API macros for system headers.

* sreal.c: Include math.h later.

From-SVN: r218783

9 years agoMAINTAINERS (Write After Approval): Add myself.
Michael Haubenwallner [Tue, 16 Dec 2014 16:10:23 +0000 (16:10 +0000)]
MAINTAINERS (Write After Approval): Add myself.

* MAINTAINERS (Write After Approval): Add myself.

From-SVN: r218782

9 years agognu-versioned-namespace.ver: Export _ZdlPvm and _ZdaPvm.
Jason Merrill [Tue, 16 Dec 2014 15:48:58 +0000 (10:48 -0500)]
gnu-versioned-namespace.ver: Export _ZdlPvm and _ZdaPvm.

* config/abi/pre/gnu-versioned-namespace.ver: Export _ZdlPvm and
_ZdaPvm.

From-SVN: r218781

9 years agore PR target/64240 ([AArch64] SMS-3.c causes runtime exception(segfault).)
Felix Yang [Tue, 16 Dec 2014 14:58:03 +0000 (14:58 +0000)]
re PR target/64240 ([AArch64] SMS-3.c causes runtime exception(segfault).)

+       PR rtl-optimization/64240
+       * ddg.c (mark_mem_use): Check *iter instead of *x.

From-SVN: r218780

9 years agore PR other/64278 (/sreal.c:254:22: error: call of overloaded 'abs(const int64_t...
Martin Liska [Tue, 16 Dec 2014 14:55:29 +0000 (15:55 +0100)]
re PR other/64278 (/sreal.c:254:22: error: call of overloaded 'abs(const int64_t&)' is ambiguous)

Fix for PR ipa/64278

* sreal.c (sreal::operator*): Replace std::abs with absu_hwi.

From-SVN: r218779

9 years agosanitizer_symbolizer_libbacktrace.cc, [...]: Cherry pick upstream r224308.
Jakub Jelinek [Tue, 16 Dec 2014 11:35:34 +0000 (12:35 +0100)]
sanitizer_symbolizer_libbacktrace.cc, [...]: Cherry pick upstream r224308.

* sanitizer_common/sanitizer_symbolizer_libbacktrace.cc,
sanitizer_common/sanitizer_symbolizer_libbacktrace.h,
sanitizer_common/sanitizer_symbolizer_posix_libcdep.cc: Cherry pick
upstream r224308.

From-SVN: r218778

9 years agoi386.c (ix86_address_cost): Add explicit restriction to RTL level for the check for...
Igor Zamyatin [Tue, 16 Dec 2014 08:35:29 +0000 (08:35 +0000)]
i386.c (ix86_address_cost): Add explicit restriction to RTL level for the check for PIC register.

gcc/
* config/i386/i386.c (ix86_address_cost): Add explicit restriction
to RTL level for the check for PIC register.

From-SVN: r218777

9 years agore PR fortran/64244 (ICE at class.c:236 when using non_overridable)
Janus Weil [Tue, 16 Dec 2014 08:15:38 +0000 (09:15 +0100)]
re PR fortran/64244 (ICE at class.c:236 when using non_overridable)

2014-12-16  Janus Weil  <janus@gcc.gnu.org>

PR fortran/64244
* resolve.c (resolve_typebound_call): New argument to pass out the
non-overridable attribute of the specific procedure.
(resolve_typebound_subroutine): Get overridable flag from
resolve_typebound_call.

2014-12-16  Janus Weil  <janus@gcc.gnu.org>

PR fortran/64244
* gfortran.dg/typebound_call_26.f90: New.

From-SVN: r218776

9 years agognu-user.h (TARGET_CAN_SPLIT_STACK): Move from here ...
Uros Bizjak [Tue, 16 Dec 2014 07:49:53 +0000 (08:49 +0100)]
gnu-user.h (TARGET_CAN_SPLIT_STACK): Move from here ...

* config/i386/gnu-user.h (TARGET_CAN_SPLIT_STACK): Move from here ...
* config/i386/gnu-user64.h (TARGET_CAN_SPLIT_STACK): ... and here ...
* config/i386/gnu-user-common.h (TARGET_CAN_SPLIT_STACK): ... to here.

From-SVN: r218775

9 years agore PR target/64217 (LRA: generate wrong liveness info after r217947 for clobber in...
Chung-Ju Wu [Tue, 16 Dec 2014 06:22:35 +0000 (06:22 +0000)]
re PR target/64217 (LRA: generate wrong liveness info after r217947 for clobber in jump_insn)

PR target/64217
* config/nds32/nds32.md (casesi_internal): Add '=r' for clobber
register constraint.

From-SVN: r218774

9 years agoDaily bump.
GCC Administrator [Tue, 16 Dec 2014 00:16:40 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r218772

9 years agodecl2.c (decl_needed_p): When not optimizing, do not consider external decls as needed.
Jan Hubicka [Mon, 15 Dec 2014 22:50:18 +0000 (23:50 +0100)]
decl2.c (decl_needed_p): When not optimizing, do not consider external decls as needed.

* decl2.c (decl_needed_p): When not optimizing, do not consider external
decls as needed.

From-SVN: r218769

9 years ago* config/rl78/rl78.h: Remove SHORT_IMMEDIATES_SIGN_EXTEND.
DJ Delorie [Mon, 15 Dec 2014 22:41:22 +0000 (17:41 -0500)]
* config/rl78/rl78.h: Remove SHORT_IMMEDIATES_SIGN_EXTEND.

From-SVN: r218768

9 years agore PR lto/64043 (ICE (segfault) with LTO: in tree_check/tree.h:2758 get_binfo_at_offs...
Jan Hubicka [Mon, 15 Dec 2014 22:35:20 +0000 (23:35 +0100)]
re PR lto/64043 (ICE (segfault) with LTO: in tree_check/tree.h:2758 get_binfo_at_offset/tree.c:11914)

PR lto/64043
* gcc.dg/lto/20110201-1_0.c: New testcase.

* tree-streamer.c (preload_common_nodes): Skip preloading
of main_identifier_node, pid_type and optimization/option nodes.

From-SVN: r218767

9 years agore PR rtl-optimization/63397 (signed integer overflows in ira.c)
Vladimir Makarov [Mon, 15 Dec 2014 22:18:51 +0000 (22:18 +0000)]
re PR rtl-optimization/63397 (signed integer overflows in ira.c)

2014-12-15  Vladimir Makarov  <vmakarov@redhat.com>

PR rtl-optimization/63397
* ira-int.h (ira_overall_cost, ira_reg_cost, ira_mem_cost): Use
int64_t.
(ira_load_cost, ira_store_cost, ira_shuffle_cost): Ditto.
* ira.c (ira_overall_cost, ira_overall_cost_before): Ditto.
(ira_reg_cost, ira_mem_cost): Ditto.
(ira_load_cost, ira_store_cost, ira_shuffle_cost): Ditto.
(calculate_allocation_cost, do_reload): Use the right
format for int64_t values.

From-SVN: r218766

9 years agosreal.h (to_double): New method.
Jan Hubicka [Mon, 15 Dec 2014 22:03:11 +0000 (23:03 +0100)]
sreal.h (to_double): New method.

* sreal.h (to_double): New method.
(shift): Do not ICE on 0.
* sreal.c: Include math.h
(sreal::to_double): New.

From-SVN: r218765

9 years agore PR go/61255 (gccgo: spurious "error: argument 2 has incompatible type" [GoSmith])
Ian Lance Taylor [Mon, 15 Dec 2014 20:20:22 +0000 (20:20 +0000)]
re PR go/61255 (gccgo: spurious "error: argument 2 has incompatible type" [GoSmith])

PR go/61255
compiler: Copied variadic calls should copy lowering state of arguments.

From-SVN: r218764

9 years agore PR c++/64297 (ICE: canonical types differ for identical types)
Jason Merrill [Mon, 15 Dec 2014 20:19:51 +0000 (15:19 -0500)]
re PR c++/64297 (ICE: canonical types differ for identical types)

PR c++/64297
* typeck.c (apply_memfn_quals): Correct wrong TYPE_CANONICAL.

From-SVN: r218763

9 years agore PR rtl-optimization/64316 (ICE in simplify_const_unary_operation after r218503)
Jakub Jelinek [Mon, 15 Dec 2014 20:10:45 +0000 (21:10 +0100)]
re PR rtl-optimization/64316 (ICE in simplify_const_unary_operation after r218503)

PR rtl-optimization/64316
* simplify-rtx.c (simplify_relational_operation_1): For
(eq/ne (and x y) x) and (eq/ne (and x y) y) optimizations use
CONST0_RTX instead of const0_rtx.

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

From-SVN: r218762

9 years agore PR target/62642 (x86 rdtsc is moved through barrier)
Vladimir Makarov [Mon, 15 Dec 2014 20:04:04 +0000 (20:04 +0000)]
re PR target/62642 (x86 rdtsc is moved through barrier)

2014-12-15  Vladimir Makarov  <vmakarov@redhat.com>

PR target/62642
* ira.c (rtx_moveable_p): Prevent UNSPEC_VOLATILE moves.

From-SVN: r218761

9 years agoira-int.h (ira_prohibited_class_mode_regs): Remove.
Vladimir Makarov [Mon, 15 Dec 2014 19:51:31 +0000 (19:51 +0000)]
ira-int.h (ira_prohibited_class_mode_regs): Remove.

2014-12-15  Vladimir Makarov  <vmakarov@redhat.com>

* ira-int.h (ira_prohibited_class_mode_regs): Remove.
(struct target_ira_int): Move x_ira_prohibited_class_mode_regs to
...
* ira.h (struct target_ira_int): ... here.
(ira_prohibited_class_mode_regs): Define.
* lra-constraints.c (process_alt_operands): Add one more condition
to refuse alternative when reload pseudo of given class can not
hold value of given mode.

From-SVN: r218760

9 years agore PR libgcc/63832 (crtstuff.c:400:19: warning: array subscript is above array bounds...
Uros Bizjak [Mon, 15 Dec 2014 18:43:26 +0000 (19:43 +0100)]
re PR libgcc/63832 (crtstuff.c:400:19: warning: array subscript is above array bounds [-Warray-bounds])

PR libgcc/63832
* crtstuff.c (__do_global_dtors_aux) [HIDDEN_DTOR_LIST_END]: Use
func_ptr *dtor_list temporary variable to avoid "array subscript
is above array bounds" warnings.

From-SVN: r218759

9 years agore PR rtl-optimization/63804 (ice in find_oldest_value_reg with -g -O2)
Jakub Jelinek [Mon, 15 Dec 2014 18:40:35 +0000 (19:40 +0100)]
re PR rtl-optimization/63804 (ice in find_oldest_value_reg with -g -O2)

PR rtl-optimization/63804
* gcc.dg/pr63804.c: New test.

From-SVN: r218758

9 years agore PR fortran/61669 (Error recovery ICE)
Steven Bosscher [Mon, 15 Dec 2014 18:37:59 +0000 (18:37 +0000)]
re PR fortran/61669 (Error recovery ICE)

PR fortran/61669
* gfortran.h (struct gfc_namespace): Add OLD_DATA field.
* decl.c (gfc_reject_data): New function.
* parse.c *use_modules): Record roll-back point.
(next_statement): Likewise.
(reject_statement): Roll back to last accepted DATA.

* gfortran.dg/pr61669.f90: New test.

Co-Authored-By: Jakub Jelinek <jakub@redhat.com>
From-SVN: r218757

9 years agore PR tree-optimization/64312 (ICE: Segmentation fault)
Richard Biener [Mon, 15 Dec 2014 18:33:16 +0000 (18:33 +0000)]
re PR tree-optimization/64312 (ICE: Segmentation fault)

2014-12-15  Richard Biener  <rguenther@suse.de>

PR tree-optimization/64312
* tree-ssa-sccvn.c (vn_reference_lookup_pieces): Use
vuse_ssa_val as callback to walk_non_aliased_vuses.
(vn_reference_lookup): Likewise.

* g++.dg/torture/pr64312.C: New testcase.

From-SVN: r218756

9 years agoN3778: Sized Deallocation
Jason Merrill [Mon, 15 Dec 2014 18:31:40 +0000 (13:31 -0500)]
N3778: Sized Deallocation

N3778: Sized Deallocation
gcc/c-family/
* c.opt (-fsized-deallocation, -Wc++14-compat): New.
(-Wsized-deallocation): New.
* c-opts.c (c_common_post_options): -fsized-deallocation defaults
to on in C++14 and up.
gcc/cp/
* call.c (non_placement_deallocation_fn_p): A global sized
operator delete is not a usual deallocation function until C++14.
(build_op_delete_call): Choose the global sized op delete if we
know the size.
* cp-tree.h: Declare non_placement_deallocation_fn_p.
(enum cp_tree_index): Remove CPTI_GLOBAL_DELETE_FNDECL.
(global_delete_fndecl): Remove.
* decl.c (cxx_init_decl_processing): Also declare sized op deletes.
(grok_op_properties): Warn about sized dealloc without the flag.
* init.c (build_builtin_delete_call): Remove.
(build_vec_delete_1, build_delete): Don't call it.
* decl2.c (maybe_warn_sized_delete): New.
(cp_write_global_declarations): Call it.
libstdc++-v3/
* libsupc++/del_ops.cc: New.
* libsupc++/del_opvs.cc: New.
* libsupc++/Makefile.am: Add them.
* libsupc++/Makefile.in: Regenerate.
* config/abi/pre/gnu.ver: Export _ZdlPvm and _ZdaPvm.

From-SVN: r218755

9 years agore PR go/61248 (gccgo: spurious "error: too many arguments" [GoSmith])
Ian Lance Taylor [Mon, 15 Dec 2014 17:33:43 +0000 (17:33 +0000)]
re PR go/61248 (gccgo: spurious "error: too many arguments" [GoSmith])

PR go/61248
compiler: Ignore argument when typechecking converted recover calls.

From-SVN: r218754

9 years agore PR go/61253 (gccgo: spurious "error: expected '<-' or '='" [GoSmith])
Ian Lance Taylor [Mon, 15 Dec 2014 17:12:26 +0000 (17:12 +0000)]
re PR go/61253 (gccgo: spurious "error: expected '<-' or '='" [GoSmith])

PR go/61253
compiler: Support RecvStmt = ExpressionList "=" RecvExpr.

From-SVN: r218753

9 years agore PR c++/58882 (ICE with invalid C99 style designated initializers)
Paolo Carlini [Mon, 15 Dec 2014 16:16:29 +0000 (16:16 +0000)]
re PR c++/58882 (ICE with invalid C99 style designated initializers)

/cp
2014-12-15  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/58882
* decl.c (check_array_designated_initializer): Diagnose gracefully
C99 designators which aren't integral constant-expressions; allow
constexpr user-defined type conversion operators.

/testsuite
2014-12-15  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/58882
* g++.dg/ext/desig8.C: New.
* g++.dg/cpp0x/desig1.C: Likewise.

From-SVN: r218752

9 years agore PR fortran/63727 ([F03] Checks missing for proc-pointer components: Usage as actua...
Janus Weil [Mon, 15 Dec 2014 16:10:50 +0000 (17:10 +0100)]
re PR fortran/63727 ([F03] Checks missing for proc-pointer components: Usage as actual argument when elemental)

2014-12-15  Janus Weil  <janus@gcc.gnu.org>

PR fortran/63727
* resolve.c (resolve_actual_arglist): Check for elemental procedure
pointer components.

2014-12-15  Janus Weil  <janus@gcc.gnu.org>

PR fortran/63727
* gfortran.dg/coarray_collectives_14.f90: Address FIXME item.

From-SVN: r218751

9 years ago* gcc/config/rs6000/rs6000.md (*add>mode>3_imm_dot,
Segher Boessenkool [Mon, 15 Dec 2014 14:39:26 +0000 (15:39 +0100)]
* gcc/config/rs6000/rs6000.md (*add>mode>3_imm_dot,

*add<mode>3_imm_dot2): Change the constraint for the second
alternative for operand 1 from "r" to "b".

From-SVN: r218750

9 years agovec.h (vec::safe_grow): Guard against a grow to zero size.
Richard Biener [Mon, 15 Dec 2014 14:24:06 +0000 (14:24 +0000)]
vec.h (vec::safe_grow): Guard against a grow to zero size.

2014-12-15  Richard Biener  <rguenther@suse.de>

* vec.h (vec::safe_grow): Guard against a grow to zero size.

From-SVN: r218749

9 years agore PR tree-optimization/64295 (ICE: SIGSEGV (infinite recursion) with -frounding...
Richard Biener [Mon, 15 Dec 2014 13:01:47 +0000 (13:01 +0000)]
re PR tree-optimization/64295 (ICE: SIGSEGV (infinite recursion) with -frounding-math -funsafe-math-optimizations)

2014-12-15  Richard Biener  <rguenther@suse.de>

PR middle-end/64295
* match.pd (X / CST -> X * (1 / CST): Use const_binop instead of
fold_binary to compute the constant to multiply with.

* gcc.dg/pr64295.c: New testcase.

From-SVN: r218748

9 years agore PR middle-end/64246 (ICE building libada for Windows due to NULL loop header)
Richard Biener [Mon, 15 Dec 2014 12:20:10 +0000 (12:20 +0000)]
re PR middle-end/64246 (ICE building libada for Windows due to NULL loop header)

2014-12-15  Richard Biener  <rguenther@suse.de>

PR middle-end/64246
* cfgloop.c (mark_loop_for_removal): Make safe against multiple
invocations on the same loop.

* gnat.dg/opt46.adb: New testcase.
* gnat.dg/opt46.ads: Likewise.
* gnat.dg/opt46_pkg.adb: Likewise.
* gnat.dg/opt46_pkg.ads: Likewise.

From-SVN: r218746

9 years agore PR middle-end/64292 (FAIL: g++.dg/torture/pr60474.C -O1 (internal compiler...
Marek Polacek [Mon, 15 Dec 2014 12:15:14 +0000 (12:15 +0000)]
re PR middle-end/64292 (FAIL: g++.dg/torture/pr60474.C   -O1  (internal compiler error))

PR middle-end/64292
* fold-const.c (negate_expr_p): Add INTEGRAL_TYPE_P check.

From-SVN: r218745

9 years agoBuild machinery cleanup.
Thomas Schwinge [Mon, 15 Dec 2014 10:54:43 +0000 (11:54 +0100)]
Build machinery cleanup.

* configure.ac (--enable-as-accelerator-for): Don't set
ENABLE_AS_ACCELERATOR_FOR.  Update all users.
* configure: Regenerate.

From-SVN: r218744

9 years agore PR target/64210 (FAIL: gcc.target/i386/avx512vl-(vmovdqa64|vpbroadcastd)-1.c ...
Jakub Jelinek [Mon, 15 Dec 2014 10:50:52 +0000 (11:50 +0100)]
re PR target/64210 (FAIL: gcc.target/i386/avx512vl-(vmovdqa64|vpbroadcastd)-1.c  ... with -fpic)

PR target/64210
* gcc.target/i386/avx512f-broadcast-gpr-1.c: Use %(?:e|r\[0-9\]+d)
instead of %e in regexps trying to match 32-bit GPR.
* gcc.target/i386/avx512f-vpbroadcastd-1.c: Likewise.
* gcc.target/i386/avx512vl-vpbroadcastd-1.c: Likewise.
* gcc.target/i386/avx512vl-vmovdqa64-1.c: Restrict some scan-assembler-times
lines to nonpic targets only.  Fix up \[^\n^x^y\] to \[^\nxy\].

From-SVN: r218743

9 years agopr63996.C: Fix.
Paolo Carlini [Mon, 15 Dec 2014 10:47:53 +0000 (10:47 +0000)]
pr63996.C: Fix.

2014-12-15  Paolo Carlini  <paolo.carlini@oracle.com>

* g++.dg/cpp1y/pr63996.C: Fix.

From-SVN: r218742

9 years agore PR tree-optimization/63551 (wrong code (segfaults) at -Os on x86_64-linux-gnu)
Jakub Jelinek [Mon, 15 Dec 2014 10:44:53 +0000 (11:44 +0100)]
re PR tree-optimization/63551 (wrong code (segfaults) at -Os on x86_64-linux-gnu)

PR tree-optimization/63551
* gcc.dg/ipa/pr63551.c (fn2): Use 4294967286U instead of
4294967286 to avoid warnings.

From-SVN: r218740

9 years agore PR fortran/63674 ([F03] procedure pointer and non/pure procedure)
Janus Weil [Mon, 15 Dec 2014 10:34:46 +0000 (11:34 +0100)]
re PR fortran/63674 ([F03] procedure pointer and non/pure procedure)

2014-12-15  Janus Weil  <janus@gcc.gnu.org>

PR fortran/63674
* resolve.c (check_pure_function): Rewording in error message.

2014-12-15  Janus Weil  <janus@gcc.gnu.org>

PR fortran/63674
* gfortran.dg/forall_5.f90: Modified error message.
* gfortran.dg/proc_ptr_comp_39.f90: Ditto.
* gfortran.dg/pure_dummy_length_1.f90: Ditto.
* gfortran.dg/stfunc_6.f90: Ditto.
* gfortran.dg/typebound_operator_4.f90: Ditto.

From-SVN: r218738

9 years ago[AARCH64]Fix CLZ_DEFINED_AT_ZERO and CTZ_DEFINED_AT_ZERO definition.
Renlin Li [Mon, 15 Dec 2014 09:56:29 +0000 (09:56 +0000)]
[AARCH64]Fix CLZ_DEFINED_AT_ZERO and CTZ_DEFINED_AT_ZERO definition.

gcc/

2014-12-15  Renlin Li  <renlin.li@arm.com>

* config/aarch64/aarch64.h (CLZ_DEFINED_VALUE_AT_ZERO): Return 2.
(CTZ_DEFINED_VALUE_AT_ZERO): Update to support more modes.

From-SVN: r218737

9 years agore PR sanitizer/64265 (r217669 broke tsan)
Jakub Jelinek [Mon, 15 Dec 2014 09:37:47 +0000 (10:37 +0100)]
re PR sanitizer/64265 (r217669 broke tsan)

PR sanitizer/64265
* tsan.c (instrument_func_entry): Insert __tsan_func_entry
call on edge from entry block to single succ instead
of after labels of single succ of entry block.

From-SVN: r218734

9 years agore PR tree-optimization/64284 (ICE: Segmentation fault)
Richard Biener [Mon, 15 Dec 2014 08:19:55 +0000 (08:19 +0000)]
re PR tree-optimization/64284 (ICE: Segmentation fault)

2014-12-15  Richard Biener  <rguenther@suse.de>

PR tree-optimization/64284
* tree-ssa-threadupdate.c (duplicate_seme_region): Mark
the loop for removal if we copied the loop header.

* gcc.dg/torture/pr64284.c: New testcase.

From-SVN: r218733

9 years agoserver.c (server_setup): Check return value of getcwd and in case of error set buff...
Uros Bizjak [Mon, 15 Dec 2014 08:10:41 +0000 (09:10 +0100)]
server.c (server_setup): Check return value of getcwd and in case of error set buff[0] to 0.

* server.c (server_setup): Check return value of
getcwd and in case of error set buff[0] to 0.

From-SVN: r218732

9 years agore PR ipa/61602 (ICE in lto1 on x86_64-linux-gnu in ipa_single_use, at ipa.c:1257)
Jan Hubicka [Mon, 15 Dec 2014 06:19:51 +0000 (07:19 +0100)]
re PR ipa/61602 (ICE in lto1 on x86_64-linux-gnu in ipa_single_use, at ipa.c:1257)

PR ipa/61602
* gcc.dg/torture/pr61602.c: New testcase.

* cgraph.h (ipa_discover_readonly_nonaddressable_vars): Return bool.
* ipa.c (set_writeonly_bit): Track if reference was removed.
(ipa_discover_readonly_nonaddressable_vars): Return true if any
references was removed.
* ipa-reference.c (propagate): Return TODO_remove_functions if
reference was removed.

From-SVN: r218731

9 years ago* ipa.c (process_references): Fix conditoinal on flag_optimize
Jan Hubicka [Mon, 15 Dec 2014 03:47:18 +0000 (04:47 +0100)]
* ipa.c (process_references): Fix conditoinal on flag_optimize

From-SVN: r218730

9 years agore PR middle-end/61558 (ICE: Segmentation fault)
Jan Hubicka [Mon, 15 Dec 2014 03:44:58 +0000 (04:44 +0100)]
re PR middle-end/61558 (ICE: Segmentation fault)

PR ipa/61558
* symtab.c (symbol_table::insert_to_assembler_name_hash
symbol_table::unlink_from_assembler_name_hash): Do not ICE when
DECL_ASSEMBLER_NAME is NULL.

From-SVN: r218729

9 years ago* cgraphunit.c (analyze_functions): Always analyze targets of aliases.
Jan Hubicka [Mon, 15 Dec 2014 03:42:14 +0000 (03:42 +0000)]
* cgraphunit.c (analyze_functions): Always analyze targets of aliases.

From-SVN: r218728

9 years agore PR lto/64043 (ICE (segfault) with LTO: in tree_check/tree.h:2758 get_binfo_at_offs...
Jan Hubicka [Mon, 15 Dec 2014 03:41:41 +0000 (03:41 +0000)]
re PR lto/64043 (ICE (segfault) with LTO: in tree_check/tree.h:2758 get_binfo_at_offset/tree.c:11914)

PR lto/64043
* tree.c (virtual_method_call_p): Return false when OTR type has
no BINFO.
* g++.dg/lto/pr64043_0.C: New testcase.

From-SVN: r218727

9 years agocgraphunit.c (analyze_functions): Do not analyze extern inline funtions when not...
Jan Hubicka [Mon, 15 Dec 2014 00:21:21 +0000 (00:21 +0000)]
cgraphunit.c (analyze_functions): Do not analyze extern inline funtions when not optimizing; skip comdat locals.

* cgraphunit.c (analyze_functions): Do not analyze extern inline
funtions when not optimizing; skip comdat locals.

From-SVN: r218726

9 years agoDaily bump.
GCC Administrator [Mon, 15 Dec 2014 00:16:29 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r218725

9 years agocompiler: Fix crash when tracked field used in global initializer.
Ian Lance Taylor [Sun, 14 Dec 2014 19:39:15 +0000 (19:39 +0000)]
compiler: Fix crash when tracked field used in global initializer.

From-SVN: r218722

9 years agoPass unpromoted argument to promote_function_mode
H.J. Lu [Sun, 14 Dec 2014 16:04:11 +0000 (16:04 +0000)]
Pass unpromoted argument to promote_function_mode

This patch updates setup_incoming_promotions in combine.c to match what
is actually passed in assign_parm_setup_reg in function.c.

gcc/

PR rtl-optimization/64037
* combine.c (setup_incoming_promotions): Pass the argument
before any promotions happen to promote_function_mode.

gcc/testsuite/

PR rtl-optimization/64037
* g++.dg/pr64037.C: New test.

From-SVN: r218720

9 years agore PR fortran/63674 ([F03] procedure pointer and non/pure procedure)
Janus Weil [Sun, 14 Dec 2014 12:04:49 +0000 (13:04 +0100)]
re PR fortran/63674 ([F03] procedure pointer and non/pure procedure)

2014-12-14  Janus Weil  <janus@gcc.gnu.org>

PR fortran/63674
* resolve.c (pure_function): Treat procedure-pointer components.
(check_pure_function): New function.
(resolve_function): Use it.
(pure_subroutine): Return a bool to indicate success and modify
arguments.
(resolve_generic_s0,resolve_specific_s0,resolve_unknown_s): Use return
value of 'pure_subroutine'.
(resolve_ppc_call): Call 'pure_subroutine'.
(resolve_expr_ppc): Call 'check_pure_function'.

2014-12-14  Janus Weil  <janus@gcc.gnu.org>

PR fortran/63674
* gfortran.dg/proc_ptr_comp_39.f90: New.
* gfortran.dg/pure_dummy_length_1.f90: Modified error message.
* gfortran.dg/stfunc_6.f90: Ditto.
* gfortran.dg/typebound_operator_4.f90: Ditto.

From-SVN: r218717

9 years agore PR go/61244 (gccgo: ICE in write_specific_type_functions [GoSmith])
Ian Lance Taylor [Sun, 14 Dec 2014 00:55:01 +0000 (00:55 +0000)]
re PR go/61244 (gccgo: ICE in write_specific_type_functions [GoSmith])

PR go/61244
compiler: Traverse type descriptor expressions.

From-SVN: r218715

9 years agoDaily bump.
GCC Administrator [Sun, 14 Dec 2014 00:16:33 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r218714

9 years agore PR libstdc++/64239 (regex_iterator::operator= should copy match_results::position)
Tim Shen [Sat, 13 Dec 2014 22:19:18 +0000 (22:19 +0000)]
re PR libstdc++/64239 (regex_iterator::operator= should copy match_results::position)

PR libstdc++/64239
* include/bits/regex.h (match_results<>::match_results,
match_results<>::operator=, match_results<>::position,
match_results<>::swap): Remove match_results::_M_in_iterator.
Fix ctor/assign/swap.
* include/bits/regex.tcc: (__regex_algo_impl<>,
regex_iterator<>::operator++): Set match_results::_M_begin as
"start position".
* testsuite/28_regex/iterators/regex_iterator/char/
string_position_01.cc: Test cases.

From-SVN: r218710

9 years agoPost-Urbana updates to Library Fundamentals v1.
Jonathan Wakely [Sat, 13 Dec 2014 20:44:06 +0000 (20:44 +0000)]
Post-Urbana updates to Library Fundamentals v1.

* include/experimental/any (any): Remove allocator support and update
feature-testing macro.
* include/experimental/functional: Update feature-testing macro.
* include/experimental/optional (optional::_M_get()): Add constexpr.
(optional::operator*(), optional::value()): Overload and add
ref-qualifiers. Update feature-testing macro.
* include/experimental/string_view (basic_string_view::clear): Remove
and update feature-testing macro.
* testsuite/experimental/any/cons/3.cc: Remove.
* testsuite/experimental/any/cons/4.cc: Remove.
* testsuite/experimental/any/misc/any_cast.cc: Remove allocator tests.
* testsuite/experimental/any/misc/any_cast_neg.cc: Adjust dg-error.
* testsuite/experimental/string_view/capacity/1.cc: Don't test clear().

From-SVN: r218709

9 years agore PR target/53513 ([SH] Add support for fpchg insn and improve fenv support)
Oleg Endo [Sat, 13 Dec 2014 13:17:55 +0000 (13:17 +0000)]
re PR target/53513 ([SH] Add support for fpchg insn and improve fenv support)

gcc/testsuite/
PR target/53513
* gcc.target/sh/attr-isr-nosave_low_regs.c: Fix matching of expected
register push/pop sequences.
* gcc.target/sh/attr-isr.c: Likewise.
* gcc.target/sh/attr-isr-trapa.c: Likewise.
* gcc.target/sh/pragma-isr-nosave_low_regs.c: Likewise.
* gcc.target/sh/pragma-isr-trapa.c: Likewise.
* gcc.target/sh/pragma-isr-trapa2.c: Likewise.

From-SVN: r218707

9 years agosp-switch.c: Match zero or more underscores in alt_stack symbol.
Oleg Endo [Sat, 13 Dec 2014 13:02:23 +0000 (13:02 +0000)]
sp-switch.c: Match zero or more underscores in alt_stack symbol.

gcc/testsuite/
* gcc.target/sh/sp-switch.c: Match zero or more underscores in
alt_stack symbol.

From-SVN: r218706

9 years agore PR bootstrap/64023 (r216964 breaks bootstrap on darwin when using gcc as the boots...
Jakub Jelinek [Sat, 13 Dec 2014 11:24:37 +0000 (12:24 +0100)]
re PR bootstrap/64023 (r216964 breaks bootstrap on darwin when using gcc as the bootstrap compiler.)

PR bootstrap/64023
* Makefile.tpl (EXTRA_TARGET_FLAGS): Set STAGE1_LDFLAGS
to POSTSTAGE1_LDFLAGS and STAGE1_LIBS to POSTSTAGE1_LIBS.
Add -B to libstdc++-v3/src/.libs and libstdc++-v3/libsupc++/.libs
to CXX.
* Makefile.in: Regenerated.

From-SVN: r218705

9 years agore PR go/61258 (gccgo: assertion failure go-map-delete.c:37 [GoSmith])
Ian Lance Taylor [Sat, 13 Dec 2014 01:58:46 +0000 (01:58 +0000)]
re PR go/61258 (gccgo: assertion failure go-map-delete.c:37 [GoSmith])

PR go/61258
runtime: Don't crash when deleting zero-sized key.

From-SVN: r218702

9 years agore PR go/61254 (gccgo: spurious "error: slice end must be integer" [GoSmith])
Ian Lance Taylor [Sat, 13 Dec 2014 01:41:49 +0000 (01:41 +0000)]
re PR go/61254 (gccgo: spurious "error: slice end must be integer" [GoSmith])

PR go/61254
compiler: Don't move nil subexpressions into temporaries.

From-SVN: r218701

9 years agotesting: Add testing.MainStart function.
Ian Lance Taylor [Sat, 13 Dec 2014 01:00:49 +0000 (01:00 +0000)]
testing: Add testing.MainStart function.

This patches in the Go 1.4 function, for convenience for
people using the Go 1.4 go tool with mainline gccgo.

From-SVN: r218700

9 years agoruntime: Clear stack pointers for extra G's.
Ian Lance Taylor [Sat, 13 Dec 2014 00:52:20 +0000 (00:52 +0000)]
runtime: Clear stack pointers for extra G's.

Fix an unusual C to Go callback case.  Newly created C threads
call into Go code, forcing the Go code to allocate new M and G
structures.  While executing Go code, the stack is split.  The
Go code then returns.  Returning from a Go callback is treated
as entering a system call, so the G gcstack field is set to
point to the Go stack.  In this case, though, we were called
from a newly created C thread, so we drop the extra M and G
structures.  The C thread then exits.

Then a new C thread calls into Go code, reusing the previously
created M and G.  The Go code requires a larger stack frame,
causing the old stack segment to be unmapped and a new stack
segment allocated.  At this point the gcstack field is
pointing to the old stack segment.

Then a garbage collection occurs.  The garbage collector sees
that the gcstack field is not nil, so it scans it as the first
stack segment.  Unfortunately it points to memory that was
unmapped.  So the program crashes.

The fix is simple: when handling extra G structures created
for callbacks from new C threads, clear the gcstack field.

From-SVN: r218699

9 years agore PR libstdc++/58594 (std::make_shared does not accept const types as parameters)
Jonathan Wakely [Sat, 13 Dec 2014 00:44:17 +0000 (00:44 +0000)]
re PR libstdc++/58594 (std::make_shared does not accept const types as parameters)

PR libstdc++/58594
* include/bits/shared_ptr_base.h: Real fix for cv-qualified types.

From-SVN: r218698

9 years agoDaily bump.
GCC Administrator [Sat, 13 Dec 2014 00:16:40 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r218697

9 years agoerror.c (gfc_error): Add variant which takes a va_list.
Tobias Burnus [Fri, 12 Dec 2014 23:12:06 +0000 (00:12 +0100)]
error.c (gfc_error): Add variant which takes a va_list.

2014-12-13  Tobias Burnus  <burnus@net-b.de>
            Manuel López-Ibáñez  <manu@gcc.gnu.org>

fortran/
        * error.c (gfc_error): Add variant which takes a va_list.
        (gfc_notify_std): Convert to common diagnostic.
        * array.c: Use %qs, %<...%> in more gfc_error calls and
        for gfc_notify_std.
        * check.c: Ditto.
        * data.c: Ditto.
        * decl.c: Ditto.
        * expr.c: Ditto.
        * interface.c: Ditto.
        * intrinsic.c: Ditto.
        * io.c: Ditto.
        * match.c: Ditto.
        * matchexp.c: Ditto.
        * module.c: Ditto.
        * openmp.c: Ditto.
        * parse.c: Ditto.
        * primary.c: Ditto.
        * resolve.c: Ditto.
        * simplify.c: Ditto.
        * symbol.c: Ditto.
        * trans-common.c: Ditto.
        * trans-intrinsic.c: Ditto.

gcc/testsuite/
        * gfortran.dg/realloc_on_assign_21.f90: Update dg-error.
        * gfortran.dg/warnings_are_errors_1.f: Ditto.
        * gfortran.dg/warnings_are_errors_1.f90: Ditto.

Co-Authored-By: Manuel López-Ibáñez <manu@gcc.gnu.org>
From-SVN: r218694

9 years agore PR c++/59240 (ICE in varpool_get_node)
Paolo Carlini [Fri, 12 Dec 2014 22:40:29 +0000 (22:40 +0000)]
re PR c++/59240 (ICE in varpool_get_node)

2014-12-12  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/59240
* g++.dg/torture/pr59240.C: New.

From-SVN: r218693

9 years agore PR c++/59628 (ICE with invalid OpenMP "declare reduction" clause)
Paolo Carlini [Fri, 12 Dec 2014 21:50:12 +0000 (21:50 +0000)]
re PR c++/59628 (ICE with invalid OpenMP "declare reduction" clause)

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

PR c++/59628
* semantics.c (finish_omp_reduction_clause): Early return true
if DECL_SAVED_TREE (id) is NULL_TREE.

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

PR c++/59628
* g++.dg/gomp/pr59628.C: New.

From-SVN: r218692

9 years agore PR libstdc++/58594 (std::make_shared does not accept const types as parameters)
Jonathan Wakely [Fri, 12 Dec 2014 21:05:35 +0000 (21:05 +0000)]
re PR libstdc++/58594 (std::make_shared does not accept const types as parameters)

PR libstdc++/58594
* include/bits/shared_ptr_base.h: Cast away cv-quals.
* testsuite/20_util/shared_ptr/creation/58594-no-rtti.cc: New.
* testsuite/20_util/shared_ptr/creation/private.cc: Make allocator
rebindable so test passes with -fno-rtti.

From-SVN: r218691

9 years agore PR c++/61924 ([C++11] ICE in instantiate_template_1, at cp/pt.c:15618)
Paolo Carlini [Fri, 12 Dec 2014 20:30:11 +0000 (20:30 +0000)]
re PR c++/61924 ([C++11] ICE in instantiate_template_1, at cp/pt.c:15618)

2014-12-12  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/61924
* g++.dg/cpp0x/pr61924.C: New.

From-SVN: r218690

9 years agonvptx: Define valid ASM_OUTPUT_ALIGN.
Thomas Schwinge [Fri, 12 Dec 2014 20:14:10 +0000 (21:14 +0100)]
nvptx: Define valid ASM_OUTPUT_ALIGN.

gcc/
* config/nvptx/nvptx.h (ASM_OUTPUT_ALIGN): Define as a C statment.

    gcc/doc/tm.texi:@defmac ASM_OUTPUT_ALIGN (@var{stream}, @var{power})
    gcc/doc/tm.texi-A C statement to output to the stdio stream @var{stream} an assembler
    gcc/doc/tm.texi-command to advance the location counter to a multiple of 2 to the
    gcc/doc/tm.texi-@var{power} bytes.  @var{power} will be a C expression of type @code{int}.
    gcc/doc/tm.texi-@end defmac

    gcc/config/nvptx/nvptx.h:#define ASM_OUTPUT_ALIGN(FILE, POWER)

"Empty" is not a C statement, and so in code such as:

    gcc/dwarf2out.c-              if (lsda_encoding == DW_EH_PE_aligned)
    gcc/dwarf2out.c:                ASM_OUTPUT_ALIGN (asm_out_file, floor_log2 (PTR_SIZE));
    gcc/dwarf2out.c-              dw2_asm_output_data (size_of_encoded_value (lsda_encoding), 0,
    gcc/dwarf2out.c-                                   "Language Specific Data Area (none)");

    gcc/varasm.c-      if (align > BITS_PER_UNIT)
    gcc/varasm.c:        ASM_OUTPUT_ALIGN (asm_out_file, floor_log2 (align / BITS_PER_UNIT));
    gcc/varasm.c-      assemble_variable_contents (decl, name, dont_output_data);

    gcc/varasm.c-  if (align > 0)
    gcc/varasm.c:    ASM_OUTPUT_ALIGN (asm_out_file, align);
    gcc/varasm.c-
    gcc/varasm.c-  targetm.asm_out.internal_label (asm_out_file, "LTRAMP", 0);

    gcc/varasm.c-      if (align > BITS_PER_UNIT)
    gcc/varasm.c:        ASM_OUTPUT_ALIGN (asm_out_file, floor_log2 (align / BITS_PER_UNIT));
    gcc/varasm.c-      assemble_constant_contents (exp, XSTR (symbol, 0), align);

..., GCC warns:

    [...]/source-gcc/gcc/dwarf2out.c: In function 'void output_fde(dw_fde_ref, bool, bool, char*, int, char*, bool, int)':
    [...]/source-gcc/gcc/dwarf2out.c:665:3: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
       ASM_OUTPUT_ALIGN (asm_out_file, floor_log2 (PTR_SIZE));
       ^

    [...]/source-gcc/gcc/varasm.c: In function 'void assemble_variable(tree, int, int, int)':
    [...]/source-gcc/gcc/varasm.c:2217:2: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
      ASM_OUTPUT_ALIGN (asm_out_file, floor_log2 (align / BITS_PER_UNIT));
      ^
    [...]/source-gcc/gcc/varasm.c: In function 'rtx_def* assemble_trampoline_template()':
    [...]/source-gcc/gcc/varasm.c:2603:5: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
         ASM_OUTPUT_ALIGN (asm_out_file, align);
         ^
    [...]/source-gcc/gcc/varasm.c: In function 'void output_constant_def_contents(rtx)':
    [...]/source-gcc/gcc/varasm.c:3413:2: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
      ASM_OUTPUT_ALIGN (asm_out_file, floor_log2 (align / BITS_PER_UNIT));
      ^

Also, "use" the values, to get rid of that one:

    [...]/source-gcc/gcc/final.c: In function 'rtx_insn* final_scan_insn(rtx_insn*, FILE*, int, int, int*)':
    [...]/source-gcc/gcc/final.c:2450:12: warning: variable 'log_align' set but not used [-Wunused-but-set-variable]
            int log_align;
                ^

From-SVN: r218689

9 years agore PR rtl-optimization/64110 (ICE: Max. number of generated reload insns per insn...
Vladimir Makarov [Fri, 12 Dec 2014 20:11:10 +0000 (20:11 +0000)]
re PR rtl-optimization/64110 (ICE: Max. number of generated reload insns per insn is achieved (90))

2014-12-12  Vladimir Makarov  <vmakarov@redhat.com>

PR target/64110
* lra-constraints.c (process_alt_operands): Refuse alternative
when reload pseudo of given class can not hold value of given
mode.

2014-12-12  Vladimir Makarov  <vmakarov@redhat.com>

PR target/64110
* gcc.target/i386/pr64110.c: New.

From-SVN: r218688

9 years agoOpenMP target nesting tests.
Thomas Schwinge [Fri, 12 Dec 2014 20:01:29 +0000 (21:01 +0100)]
OpenMP target nesting tests.

gcc/testsuite/
* c-c++-common/gomp/nesting-1.c: New file.
* c-c++-common/gomp/nesting-warn-1.c: Likewise.

From-SVN: r218687

9 years agoA bit of walk_gimple_op maintenance.
Thomas Schwinge [Fri, 12 Dec 2014 20:01:18 +0000 (21:01 +0100)]
A bit of walk_gimple_op maintenance.

* gimple-walk.c (walk_gimple_op) <GIMPLE_OMP_FOR>: Also check
intermediate walk_tree results for for_incr.
<GIMPLE_OMP_TARGET>: Walk child_fn and data_arg, too.
<GIMPLE_OMP_CRITICAL, GIMPLE_OMP_ATOMIC_STORE>: Pretty printing.

From-SVN: r218686

9 years agopt.c (do_auto_deduction): In direct-init context, { x } deduces from x.
Jason Merrill [Fri, 12 Dec 2014 17:52:28 +0000 (12:52 -0500)]
pt.c (do_auto_deduction): In direct-init context, { x } deduces from x.

N3922
* pt.c (do_auto_deduction): In direct-init context, { x } deduces
from x.

From-SVN: r218685

9 years agocp-tree.h (NAMESPACE_ABI_TAG): New.
Jason Merrill [Fri, 12 Dec 2014 17:52:21 +0000 (12:52 -0500)]
cp-tree.h (NAMESPACE_ABI_TAG): New.

* cp-tree.h (NAMESPACE_ABI_TAG): New.
* name-lookup.c (handle_namespace_attrs): Set it.
* class.c (check_tag): Split out from find_abi_tags_r.
(find_abi_tags_r): Also check namespace tags.
(mark_type_abi_tags): Also mark namespace tags.

From-SVN: r218684