Jason Merrill [Wed, 17 Dec 2014 20:41:18 +0000 (15:41 -0500)]
re PR c++/64333 (C++14 constexpr gives wrong results when a looping constexpr function is evaluated twice)
PR c++/64333
* constexpr.c (cxx_bind_parameters_in_call): non_constant_args parm.
(cxx_eval_call_expression): Don't cache calls with non-constant args.
(cxx_eval_constant_expression) [COMPOUND_EXPR]: Pass true for lval.
(cxx_eval_unary_expression, cxx_eval_binary_expression)
(cxx_eval_conditional_expression): Pass false for lval.
From-SVN: r218832
Jason Merrill [Wed, 17 Dec 2014 20:41:12 +0000 (15:41 -0500)]
* constexpr.c: Change "addr" parm names to "lval".
From-SVN: r218831
Jason Merrill [Wed, 17 Dec 2014 20:41:07 +0000 (15:41 -0500)]
* constexpr.c: Tweak comments and formatting.
From-SVN: r218830
James Greenhalgh [Wed, 17 Dec 2014 18:15:46 +0000 (18:15 +0000)]
[AArch64] Remove "generic_sched" attribute
gcc/
* config/aarch64/aarch64.md (generic_sched): Delete it.
From-SVN: r218829
Jan-Benedict Glaw [Wed, 17 Dec 2014 17:10:37 +0000 (17:10 +0000)]
MSP430: Fix unused arg warning
The build robot found this:
g++ -c -g -O2 -DIN_GCC -DCROSS_DIRECTORY_STRUCTURE -fno-exceptions -fno-rtti -fasynchronous-unwind-tables -W -Wall -Wno-narrowing -Wwrite-strings -Wcast-qual -Wmissing-format-attribute -Woverloaded-virtual -pedantic -Wno-long-long -Wno-variadic-macros -Wno-overlength-strings -Werror -fno-common -DHAVE_CONFIG_H -I. -I. -I../../../gcc/gcc -I../../../gcc/gcc/. -I../../../gcc/gcc/../include -I../../../gcc/gcc/../libcpp/include -I/opt/cfarm/mpc/include -I../../../gcc/gcc/../libdecnumber -I../../../gcc/gcc/../libdecnumber/dpd -I../libdecnumber -I../../../gcc/gcc/../libbacktrace -o msp430.o -MT msp430.o -MMD -MP -MF ./.deps/msp430.TPo ../../../gcc/gcc/config/msp430/msp430.c
../../../gcc/gcc/config/msp430/msp430.c:979:43: error: unused parameter ‘file’ [-Werror=unused-parameter]
msp430_asm_output_addr_const_extra (FILE *file, rtx x)
^
cc1plus: all warnings being treated as errors
make[2]: *** [msp430.o] Error 1
(See for example this build:
http://toolchain.lug-owl.de/buildbot/show_build_details.php?id=384666)
Ok for this one?
2014-12-17 Jan-Benedict Glaw <jbglaw@lug-owl.de>
* config/msp430/msp430.c (msp430_asm_output_addr_const_extra): Fix
unused argument warning.
From-SVN: r218828
Pierre-Marie de Rodat [Wed, 17 Dec 2014 16:25:58 +0000 (16:25 +0000)]
dwarf2out.c: do not short-circuit add_bound_info in array descr. lang-hook
gcc/
* dwarf2out.h (struct array_descr_info): Remove the base_decl field.
* dwarf2out.c (enum dw_scalar_form): New.
(struct loc_descr_context): New.
(add_scalar_info): New.
(add_bound_info): Add a context parameter. Use add_scalar_info.
(loc_list_from_tree): Add a context parameter. Handle PLACEHOLDER_EXPR
nodes for type-related expressions. Likewise for base declarations.
(loc_descriptor_from_tree): Add a context parameter.
(subrange_type_die): Update calls to add_bound_info.
(tls_mem_loc_descriptor): Likewise.
(loc_list_for_address_of_addr_expr_of_indirect_ref): Add a context
parameter. Update calls to loc_list_from_tree.
(add_subscript_info): Update calls to add_bound_info.
(gen_array_type_die): Update calls to loc_list_from_tree and to
add_bound_info.
(descr_info_loc): Remove.
(add_descr_info_field): Remove.
(gen_descr_array_type_die): Switch add_descr_info_field calls into
add_scalar_info/add_bound_info ones.
(gen_subprogram_die): Update calls to loc_list_from_tree.
(gen_variable_die): Likewise.
From-SVN: r218827
Pierre-Marie de Rodat [Wed, 17 Dec 2014 16:25:49 +0000 (16:25 +0000)]
Add a few debug utilities for DWARF expressions
* dwarf2out.c (print_loc_descr): New.
(print_dw_val): New.
(print_attribute): New.
(print_loc_descr): New.
(print_die): Use print_dw_val.
(debug_dwarf_loc_descr): New.
* dwarf2out.h (debug_dwarf_loc_descr): New declaration.
From-SVN: r218826
Pierre-Marie de Rodat [Wed, 17 Dec 2014 16:25:39 +0000 (16:25 +0000)]
Make the Ada front-end use the array descr language hook
* gcc-interface/misc.c (gnat_get_array_descr_info): New. Use it for
the get_array_descr_info lang-hook. Use it to tune the DWARF output
for array types.
From-SVN: r218825
Pierre-Marie de Rodat [Wed, 17 Dec 2014 16:25:30 +0000 (16:25 +0000)]
Enable the array descr language hook for all DWARF versions
* dwarf2out.c (gen_type_die_with_usage): Enable the array lang-hook
even when (dwarf_version < 3 && dwarf_strict).
(gen_descr_array_die): Do not output DW_AT_data_locationn,
DW_AT_associated, DW_AT_allocated and DW_AT_byte_stride DWARF
attributes when (dwarf_version < 3 && dwarf_strict).
From-SVN: r218824
Pierre-Marie de Rodat [Wed, 17 Dec 2014 16:25:21 +0000 (16:25 +0000)]
Complete information generated through the array descriptor language hook
gcc/
* dwarf2out.h (enum array_descr_ordering): New.
(array_descr_dimen): Add a bounds_type structure field.
(struct array_descr_info): Add a field to hold index type information
and another one to hold ordering information.
* dwarf2out.c (gen_type_die_with_usage): Get the main variant before
invoking the array descriptor language hook. Initialize the
array_descr_info structure before calling the lang-hook.
(gen_descr_array_type_die): Use gen_type_die if not processing the main
type variant. Replace Fortran-specific code with generic one using
this new field. Add a GNAT descriptive type, if any. Output type
information for the array bound subrange, if any.
gcc/fortran
* trans-types.c (gfc_get_array_descr_info): Describe all Fortran arrays
with column major ordering.
From-SVN: r218823
Pierre-Marie de Rodat [Wed, 17 Dec 2014 16:25:12 +0000 (16:25 +0000)]
* MAINTAINERS (Write After Approval): Add myself.
From-SVN: r218822
H.J. Lu [Wed, 17 Dec 2014 14:39:43 +0000 (06:39 -0800)]
Fix a typo in ChangeLog
From-SVN: r218820
Ian Lance Taylor [Wed, 17 Dec 2014 14:26:55 +0000 (14:26 +0000)]
mksysinfo: Pass -O to compiler to avoid warnings on CentOS.
From Uros Bizjak.
https://gcc.gnu.org/ml/gcc-patches/2014-12/msg01366.html
From-SVN: r218819
H.J. Lu [Wed, 17 Dec 2014 14:22:57 +0000 (14:22 +0000)]
Add -malign-data={abi|compat|cachineline}
Add -malign-data={abi|compat,cachineline} to control how GCC aligns
variables. "compat" uses increased alignment value compatible with
GCC 4.8 and earlier, "abi" uses alignment value as specified by the
psABI, and "cacheline" uses increased alignment value to match the
cache line size. "compat" is the default.
gcc/
PR target/61296
* config/i386/i386-opts.h (ix86_align_data): New enum.
* config/i386/i386.c (ix86_data_alignment): Return the ABI
alignment value for -malign-data=abi, the cachine line size
for -malign-data=cachineline and the older GCC compatible
alignment value for for -malign-data=compat.
* config/i386/i386.opt (malign-data=): New.
* doc/invoke.texi: Document -malign-data=.
gcc/testsuite/
PR target/61296
* gcc.target/i386/pr61296-2.c: New.
* gcc.target/i386/pr61296-2.c: Likewise.
* gcc.target/i386/pr61296-3.c: Likewise.
* gcc.target/i386/pr61296-4.c: Likewise.
* gcc.target/i386/pr61296-5.c: Likewise.
* gcc.target/i386/pr61296-6.c: Likewise.
* gcc.target/i386/pr61296-7.c: Likewise.
Co-Authored-By: Jakub Jelinek <jakub@redhat.com>
Co-Authored-By: Uros Bizjak <ubizjak@gmail.com>
From-SVN: r218818
Tejas Belagod [Wed, 17 Dec 2014 12:15:36 +0000 (12:15 +0000)]
re PR testsuite/64328 (addr_equal-1.c fails execution.)
PR testsuite/64328
* gcc.dg/addr_equal-1.c: Not supported for -fPIC.
From-SVN: r218817
Marek Polacek [Wed, 17 Dec 2014 11:48:33 +0000 (11:48 +0000)]
re PR middle-end/63568 (Missed optimization (a & ~mask) | (b & mask) = a ^ ((a ^ b) & mask))
PR middle-end/63568
* match.pd: Add (x & ~m) | (y & m) -> ((x ^ y) & m) ^ x pattern.
* gcc.dg/pr63568.c: New test.
From-SVN: r218816
Jakub Jelinek [Wed, 17 Dec 2014 09:29:12 +0000 (10:29 +0100)]
re PR tree-optimization/64322 (More optimize opportunity for constant folding)
PR tree-optimization/64322
* tree-vrp.c (extract_range_from_binary_expr_1): Attempt to derive
range for RSHIFT_EXPR even if vr0 range is not VR_RANGE or is symbolic.
* gcc.dg/tree-ssa/vrp95.c: New test.
From-SVN: r218812
Jakub Jelinek [Wed, 17 Dec 2014 09:26:49 +0000 (10:26 +0100)]
re PR sanitizer/64289 (ICE with -fsanitize=float-cast-overflow)
PR sanitizer/64289
* c-convert.c: Include ubsan.h.
(convert): For real -> integral casts and
-fsanitize=float-cast-overflow don't call convert_to_integer, but
instead instrument the float cast directly.
* c-c++-common/ubsan/pr64289.c: New test.
From-SVN: r218811
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
Michael Haubenwallner [Wed, 17 Dec 2014 08:27:53 +0000 (08:27 +0000)]
drop reason for my change from ChangeLog
From-SVN: r218809
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
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
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
GCC Administrator [Wed, 17 Dec 2014 00:16:33 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r218805
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
GCC Administrator [Tue, 16 Dec 2014 00:16:40 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r218772
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
GCC Administrator [Mon, 15 Dec 2014 00:16:29 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r218725
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
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
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
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
GCC Administrator [Sun, 14 Dec 2014 00:16:33 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r218714
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
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
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
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