pmderodat [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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218826
138bc75d-0d04-0410-961f-
82ee72b054a4
pmderodat [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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218825
138bc75d-0d04-0410-961f-
82ee72b054a4
pmderodat [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).
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218824
138bc75d-0d04-0410-961f-
82ee72b054a4
pmderodat [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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218823
138bc75d-0d04-0410-961f-
82ee72b054a4
pmderodat [Wed, 17 Dec 2014 16:25:12 +0000 (16:25 +0000)]
* MAINTAINERS (Write After Approval): Add myself.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218822
138bc75d-0d04-0410-961f-
82ee72b054a4
hjl [Wed, 17 Dec 2014 14:39:43 +0000 (14:39 +0000)]
Fix a typo in ChangeLog
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218820
138bc75d-0d04-0410-961f-
82ee72b054a4
ian [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
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218819
138bc75d-0d04-0410-961f-
82ee72b054a4
hjl [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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218818
138bc75d-0d04-0410-961f-
82ee72b054a4
belagod [Wed, 17 Dec 2014 12:15:36 +0000 (12:15 +0000)]
PR testsuite/64328
* gcc.dg/addr_equal-1.c: Not supported for -fPIC.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218817
138bc75d-0d04-0410-961f-
82ee72b054a4
mpolacek [Wed, 17 Dec 2014 11:48:33 +0000 (11:48 +0000)]
PR middle-end/63568
* match.pd: Add (x & ~m) | (y & m) -> ((x ^ y) & m) ^ x pattern.
* gcc.dg/pr63568.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218816
138bc75d-0d04-0410-961f-
82ee72b054a4
jakub [Wed, 17 Dec 2014 09:29:12 +0000 (09:29 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218812
138bc75d-0d04-0410-961f-
82ee72b054a4
jakub [Wed, 17 Dec 2014 09:26:49 +0000 (09:26 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218811
138bc75d-0d04-0410-961f-
82ee72b054a4
timshen [Wed, 17 Dec 2014 09:25:44 +0000 (09:25 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218810
138bc75d-0d04-0410-961f-
82ee72b054a4
haubi [Wed, 17 Dec 2014 08:27:53 +0000 (08:27 +0000)]
drop reason for my change from ChangeLog
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218809
138bc75d-0d04-0410-961f-
82ee72b054a4
burnus [Wed, 17 Dec 2014 06:29:30 +0000 (06:29 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218808
138bc75d-0d04-0410-961f-
82ee72b054a4
olegendo [Wed, 17 Dec 2014 02:01:10 +0000 (02:01 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218807
138bc75d-0d04-0410-961f-
82ee72b054a4
ian [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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218806
138bc75d-0d04-0410-961f-
82ee72b054a4
gccadmin [Wed, 17 Dec 2014 00:16:33 +0000 (00:16 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218805
138bc75d-0d04-0410-961f-
82ee72b054a4
paolo [Tue, 16 Dec 2014 23:28:31 +0000 (23:28 +0000)]
/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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218801
138bc75d-0d04-0410-961f-
82ee72b054a4
ian [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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218798
138bc75d-0d04-0410-961f-
82ee72b054a4
hubicka [Tue, 16 Dec 2014 22:30:22 +0000 (22:30 +0000)]
* fibonacci_heap.h (min): Return m_data instead of non-existing data.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218797
138bc75d-0d04-0410-961f-
82ee72b054a4
hubicka [Tue, 16 Dec 2014 22:16:17 +0000 (22:16 +0000)]
* 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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218796
138bc75d-0d04-0410-961f-
82ee72b054a4
olegendo [Tue, 16 Dec 2014 21:37:42 +0000 (21:37 +0000)]
gcc/testsuite/
PR target/54089
* gcc.target/sh/pr54089-1.c: Change optimization level from -O1 to -O2.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218795
138bc75d-0d04-0410-961f-
82ee72b054a4
ian [Tue, 16 Dec 2014 21:36:53 +0000 (21:36 +0000)]
PR go/61246
compiler: Switch expression comparisons should be boolean typed.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218794
138bc75d-0d04-0410-961f-
82ee72b054a4
olegendo [Tue, 16 Dec 2014 21:28:59 +0000 (21:28 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218793
138bc75d-0d04-0410-961f-
82ee72b054a4
burnus [Tue, 16 Dec 2014 20:44:45 +0000 (20:44 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218792
138bc75d-0d04-0410-961f-
82ee72b054a4
hubicka [Tue, 16 Dec 2014 19:59:56 +0000 (19:59 +0000)]
* hwint.c (abs_hwi, absu_hwi): Move to ...
* hwint.h (abs_hwi, absu_hwi): ... here; make inline.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218791
138bc75d-0d04-0410-961f-
82ee72b054a4
burnus [Tue, 16 Dec 2014 19:24:50 +0000 (19:24 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218790
138bc75d-0d04-0410-961f-
82ee72b054a4
ian [Tue, 16 Dec 2014 19:14:54 +0000 (19:14 +0000)]
PR go/61264
compiler: Fix copying behavior for empty composite literals.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218789
138bc75d-0d04-0410-961f-
82ee72b054a4
ian [Tue, 16 Dec 2014 18:53:46 +0000 (18:53 +0000)]
PR go/61273
compiler: Send statements should contextually permit composite literals.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218788
138bc75d-0d04-0410-961f-
82ee72b054a4
mpolacek [Tue, 16 Dec 2014 18:29:01 +0000 (18:29 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218787
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Tue, 16 Dec 2014 18:24:55 +0000 (18:24 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218786
138bc75d-0d04-0410-961f-
82ee72b054a4
jakub [Tue, 16 Dec 2014 17:42:24 +0000 (17:42 +0000)]
* 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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218785
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Tue, 16 Dec 2014 17:21:42 +0000 (17:21 +0000)]
* config/abi/pre/gnu-versioned-namespace.ver: And other size_t
manglings.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218784
138bc75d-0d04-0410-961f-
82ee72b054a4
haubi [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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218783
138bc75d-0d04-0410-961f-
82ee72b054a4
haubi [Tue, 16 Dec 2014 16:10:23 +0000 (16:10 +0000)]
* MAINTAINERS (Write After Approval): Add myself.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218782
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Tue, 16 Dec 2014 15:48:58 +0000 (15:48 +0000)]
* config/abi/pre/gnu-versioned-namespace.ver: Export _ZdlPvm and
_ZdaPvm.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218781
138bc75d-0d04-0410-961f-
82ee72b054a4
fyang [Tue, 16 Dec 2014 14:58:03 +0000 (14:58 +0000)]
+ PR rtl-optimization/64240
+ * ddg.c (mark_mem_use): Check *iter instead of *x.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218780
138bc75d-0d04-0410-961f-
82ee72b054a4
marxin [Tue, 16 Dec 2014 14:55:29 +0000 (14:55 +0000)]
Fix for PR ipa/64278
* sreal.c (sreal::operator*): Replace std::abs with absu_hwi.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218779
138bc75d-0d04-0410-961f-
82ee72b054a4
jakub [Tue, 16 Dec 2014 11:35:34 +0000 (11:35 +0000)]
* sanitizer_common/sanitizer_symbolizer_libbacktrace.cc,
sanitizer_common/sanitizer_symbolizer_libbacktrace.h,
sanitizer_common/sanitizer_symbolizer_posix_libcdep.cc: Cherry pick
upstream r224308.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218778
138bc75d-0d04-0410-961f-
82ee72b054a4
kyukhin [Tue, 16 Dec 2014 08:35:29 +0000 (08:35 +0000)]
gcc/
* config/i386/i386.c (ix86_address_cost): Add explicit restriction
to RTL level for the check for PIC register.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218777
138bc75d-0d04-0410-961f-
82ee72b054a4
janus [Tue, 16 Dec 2014 08:15:38 +0000 (08:15 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218776
138bc75d-0d04-0410-961f-
82ee72b054a4
uros [Tue, 16 Dec 2014 07:49:53 +0000 (07:49 +0000)]
* 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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218775
138bc75d-0d04-0410-961f-
82ee72b054a4
jasonwucj [Tue, 16 Dec 2014 06:22:35 +0000 (06:22 +0000)]
PR target/64217
* config/nds32/nds32.md (casesi_internal): Add '=r' for clobber
register constraint.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218774
138bc75d-0d04-0410-961f-
82ee72b054a4
gccadmin [Tue, 16 Dec 2014 00:16:40 +0000 (00:16 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218772
138bc75d-0d04-0410-961f-
82ee72b054a4
hubicka [Mon, 15 Dec 2014 22:50:18 +0000 (22:50 +0000)]
* decl2.c (decl_needed_p): When not optimizing, do not consider external
decls as needed.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218769
138bc75d-0d04-0410-961f-
82ee72b054a4
dj [Mon, 15 Dec 2014 22:41:22 +0000 (22:41 +0000)]
* config/rl78/rl78.h: Remove SHORT_IMMEDIATES_SIGN_EXTEND.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218768
138bc75d-0d04-0410-961f-
82ee72b054a4
hubicka [Mon, 15 Dec 2014 22:35:20 +0000 (22:35 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218767
138bc75d-0d04-0410-961f-
82ee72b054a4
vmakarov [Mon, 15 Dec 2014 22:18:51 +0000 (22:18 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218766
138bc75d-0d04-0410-961f-
82ee72b054a4
hubicka [Mon, 15 Dec 2014 22:03:11 +0000 (22:03 +0000)]
* sreal.h (to_double): New method.
(shift): Do not ICE on 0.
* sreal.c: Include math.h
(sreal::to_double): New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218765
138bc75d-0d04-0410-961f-
82ee72b054a4
ian [Mon, 15 Dec 2014 20:20:22 +0000 (20:20 +0000)]
PR go/61255
compiler: Copied variadic calls should copy lowering state of arguments.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218764
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Mon, 15 Dec 2014 20:19:51 +0000 (20:19 +0000)]
PR c++/64297
* typeck.c (apply_memfn_quals): Correct wrong TYPE_CANONICAL.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218763
138bc75d-0d04-0410-961f-
82ee72b054a4
jakub [Mon, 15 Dec 2014 20:10:45 +0000 (20:10 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218762
138bc75d-0d04-0410-961f-
82ee72b054a4
vmakarov [Mon, 15 Dec 2014 20:04:04 +0000 (20:04 +0000)]
2014-12-15 Vladimir Makarov <vmakarov@redhat.com>
PR target/62642
* ira.c (rtx_moveable_p): Prevent UNSPEC_VOLATILE moves.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218761
138bc75d-0d04-0410-961f-
82ee72b054a4
vmakarov [Mon, 15 Dec 2014 19:51:31 +0000 (19:51 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218760
138bc75d-0d04-0410-961f-
82ee72b054a4
uros [Mon, 15 Dec 2014 18:43:26 +0000 (18:43 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218759
138bc75d-0d04-0410-961f-
82ee72b054a4
jakub [Mon, 15 Dec 2014 18:40:35 +0000 (18:40 +0000)]
PR rtl-optimization/63804
* gcc.dg/pr63804.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218758
138bc75d-0d04-0410-961f-
82ee72b054a4
jakub [Mon, 15 Dec 2014 18:37:59 +0000 (18:37 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218757
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Mon, 15 Dec 2014 18:33:16 +0000 (18:33 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218756
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Mon, 15 Dec 2014 18:31:40 +0000 (18:31 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218755
138bc75d-0d04-0410-961f-
82ee72b054a4
ian [Mon, 15 Dec 2014 17:33:43 +0000 (17:33 +0000)]
PR go/61248
compiler: Ignore argument when typechecking converted recover calls.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218754
138bc75d-0d04-0410-961f-
82ee72b054a4
ian [Mon, 15 Dec 2014 17:12:26 +0000 (17:12 +0000)]
PR go/61253
compiler: Support RecvStmt = ExpressionList "=" RecvExpr.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218753
138bc75d-0d04-0410-961f-
82ee72b054a4
paolo [Mon, 15 Dec 2014 16:16:29 +0000 (16:16 +0000)]
/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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218752
138bc75d-0d04-0410-961f-
82ee72b054a4
janus [Mon, 15 Dec 2014 16:10:50 +0000 (16:10 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218751
138bc75d-0d04-0410-961f-
82ee72b054a4
segher [Mon, 15 Dec 2014 14:39:26 +0000 (14:39 +0000)]
* 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".
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218750
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Mon, 15 Dec 2014 14:24:06 +0000 (14:24 +0000)]
2014-12-15 Richard Biener <rguenther@suse.de>
* vec.h (vec::safe_grow): Guard against a grow to zero size.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218749
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Mon, 15 Dec 2014 13:01:47 +0000 (13:01 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218748
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Mon, 15 Dec 2014 12:20:10 +0000 (12:20 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218746
138bc75d-0d04-0410-961f-
82ee72b054a4
mpolacek [Mon, 15 Dec 2014 12:15:14 +0000 (12:15 +0000)]
PR middle-end/64292
* fold-const.c (negate_expr_p): Add INTEGRAL_TYPE_P check.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218745
138bc75d-0d04-0410-961f-
82ee72b054a4
tschwinge [Mon, 15 Dec 2014 10:54:43 +0000 (10:54 +0000)]
Build machinery cleanup.
* configure.ac (--enable-as-accelerator-for): Don't set
ENABLE_AS_ACCELERATOR_FOR. Update all users.
* configure: Regenerate.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218744
138bc75d-0d04-0410-961f-
82ee72b054a4
jakub [Mon, 15 Dec 2014 10:50:52 +0000 (10:50 +0000)]
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\].
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218743
138bc75d-0d04-0410-961f-
82ee72b054a4
paolo [Mon, 15 Dec 2014 10:47:53 +0000 (10:47 +0000)]
2014-12-15 Paolo Carlini <paolo.carlini@oracle.com>
* g++.dg/cpp1y/pr63996.C: Fix.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218742
138bc75d-0d04-0410-961f-
82ee72b054a4
jakub [Mon, 15 Dec 2014 10:44:53 +0000 (10:44 +0000)]
PR tree-optimization/63551
* gcc.dg/ipa/pr63551.c (fn2): Use 4294967286U instead of
4294967286 to avoid warnings.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218740
138bc75d-0d04-0410-961f-
82ee72b054a4
janus [Mon, 15 Dec 2014 10:34:46 +0000 (10:34 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218738
138bc75d-0d04-0410-961f-
82ee72b054a4
renlin [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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218737
138bc75d-0d04-0410-961f-
82ee72b054a4
jakub [Mon, 15 Dec 2014 09:37:47 +0000 (09:37 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218734
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Mon, 15 Dec 2014 08:19:55 +0000 (08:19 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218733
138bc75d-0d04-0410-961f-
82ee72b054a4
uros [Mon, 15 Dec 2014 08:10:41 +0000 (08:10 +0000)]
* server.c (server_setup): Check return value of
getcwd and in case of error set buff[0] to 0.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218732
138bc75d-0d04-0410-961f-
82ee72b054a4
hubicka [Mon, 15 Dec 2014 06:19:51 +0000 (06:19 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218731
138bc75d-0d04-0410-961f-
82ee72b054a4
hubicka [Mon, 15 Dec 2014 03:47:18 +0000 (03:47 +0000)]
* ipa.c (process_references): Fix conditoinal on flag_optimize
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218730
138bc75d-0d04-0410-961f-
82ee72b054a4
hubicka [Mon, 15 Dec 2014 03:44:58 +0000 (03:44 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218729
138bc75d-0d04-0410-961f-
82ee72b054a4
hubicka [Mon, 15 Dec 2014 03:42:14 +0000 (03:42 +0000)]
* cgraphunit.c (analyze_functions): Always analyze targets of aliases.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218728
138bc75d-0d04-0410-961f-
82ee72b054a4
hubicka [Mon, 15 Dec 2014 03:41:41 +0000 (03:41 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218727
138bc75d-0d04-0410-961f-
82ee72b054a4
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218726
138bc75d-0d04-0410-961f-
82ee72b054a4
gccadmin [Mon, 15 Dec 2014 00:16:29 +0000 (00:16 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218725
138bc75d-0d04-0410-961f-
82ee72b054a4
ian [Sun, 14 Dec 2014 19:39:15 +0000 (19:39 +0000)]
compiler: Fix crash when tracked field used in global initializer.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218722
138bc75d-0d04-0410-961f-
82ee72b054a4
hjl [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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218720
138bc75d-0d04-0410-961f-
82ee72b054a4
janus [Sun, 14 Dec 2014 12:04:49 +0000 (12:04 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218717
138bc75d-0d04-0410-961f-
82ee72b054a4
ian [Sun, 14 Dec 2014 00:55:01 +0000 (00:55 +0000)]
PR go/61244
compiler: Traverse type descriptor expressions.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218715
138bc75d-0d04-0410-961f-
82ee72b054a4
gccadmin [Sun, 14 Dec 2014 00:16:33 +0000 (00:16 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218714
138bc75d-0d04-0410-961f-
82ee72b054a4
timshen [Sat, 13 Dec 2014 22:19:18 +0000 (22:19 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218710
138bc75d-0d04-0410-961f-
82ee72b054a4
redi [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().
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218709
138bc75d-0d04-0410-961f-
82ee72b054a4
olegendo [Sat, 13 Dec 2014 13:17:55 +0000 (13:17 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218707
138bc75d-0d04-0410-961f-
82ee72b054a4
olegendo [Sat, 13 Dec 2014 13:02:23 +0000 (13:02 +0000)]
gcc/testsuite/
* gcc.target/sh/sp-switch.c: Match zero or more underscores in
alt_stack symbol.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218706
138bc75d-0d04-0410-961f-
82ee72b054a4
jakub [Sat, 13 Dec 2014 11:24:37 +0000 (11:24 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218705
138bc75d-0d04-0410-961f-
82ee72b054a4
ian [Sat, 13 Dec 2014 01:58:46 +0000 (01:58 +0000)]
PR go/61258
runtime: Don't crash when deleting zero-sized key.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218702
138bc75d-0d04-0410-961f-
82ee72b054a4
ian [Sat, 13 Dec 2014 01:41:49 +0000 (01:41 +0000)]
PR go/61254
compiler: Don't move nil subexpressions into temporaries.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218701
138bc75d-0d04-0410-961f-
82ee72b054a4
ian [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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218700
138bc75d-0d04-0410-961f-
82ee72b054a4
ian [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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218699
138bc75d-0d04-0410-961f-
82ee72b054a4
redi [Sat, 13 Dec 2014 00:44:17 +0000 (00:44 +0000)]
PR libstdc++/58594
* include/bits/shared_ptr_base.h: Real fix for cv-qualified types.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218698
138bc75d-0d04-0410-961f-
82ee72b054a4