Thomas Preud'homme [Thu, 27 Aug 2015 10:08:54 +0000 (10:08 +0000)]
aarch64.md (*condjump): Handle functions > 1 MiB.
2015-08-27 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
Andre Vieira <andre.simoesdiasvieira@arm.com>
gcc/
* config/aarch64/aarch64.md (*condjump): Handle functions > 1 MiB.
(*cb<optab><mode>1): Likewise.
(*tb<optab><mode>1): Likewise.
(*cb<optab><mode>1): Likewise.
* config/aarch64/iterators.md (inv_cb): New code attribute.
(inv_tb): Likewise.
* config/aarch64/aarch64.c (aarch64_gen_far_branch): New.
* config/aarch64/aarch64-protos.h (aarch64_gen_far_branch): New.
gcc/testsuite/
* gcc.target/aarch64/long_branch_1.c: New test.
From-SVN: r227253
Richard Biener [Thu, 27 Aug 2015 08:02:57 +0000 (08:02 +0000)]
ipa.c (cgraph_build_static_cdtor_1): Set DECL_IGNORED_P.
2015-08-27 Richard Biener <rguenther@suse.de>
* ipa.c (cgraph_build_static_cdtor_1): Set DECL_IGNORED_P.
From-SVN: r227252
Dominik Vogt [Thu, 27 Aug 2015 07:38:36 +0000 (07:38 +0000)]
S/390: Add emit_barrier() after trap
gcc/ChangeLog
* config/s390/s390.c (s390_emit_prologue): Add emit_barrier() after
trap to fix ICE.
gcc/testsuite/ChangeLog
* gcc.target/s390/
20150826-1.c: New test.
From-SVN: r227251
Ian Lance Taylor [Thu, 27 Aug 2015 00:44:11 +0000 (00:44 +0000)]
compiler: Don't crash on invalid builtin calls.
Fixes golang/go#11544.
Reviewed-on: https://go-review.googlesource.com/13893
From-SVN: r227245
GCC Administrator [Thu, 27 Aug 2015 00:16:11 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r227244
Edward Smith-Rowland [Wed, 26 Aug 2015 21:27:09 +0000 (21:27 +0000)]
Ensure std::generate_canonical doesn't return 1.
2015-08-26 Edward Smith-Rowland <3dw4rd@verizon.net>
Jonathan Wakely <jwakely@redhat.com>
PR libstdc++/64351
PR libstdc++/63176
* include/bits/random.tcc (generate_canonical): Loop until we get a
result less than one.
* testsuite/26_numerics/random/uniform_real_distribution/operators/
64351.cc: New.
Co-Authored-By: Jonathan Wakely <jwakely@redhat.com>
From-SVN: r227233
Jonathan Wakely [Wed, 26 Aug 2015 21:27:00 +0000 (22:27 +0100)]
Only set std::enable_shared_from_this member once.
* include/bits/shared_ptr.h (__enable_shared_from_this_helper): Use
nullptr.
* include/bits/shared_ptr_base.h (weak_ptr::_M_assign): Don't assign
if ownership is already shared with a shared_ptr object.
(__enable_shared_from_this_helper): Use nullptr.
* testsuite/20_util/enable_shared_from_this/members/const.cc: New.
* testsuite/20_util/enable_shared_from_this/members/reinit.cc: New.
* testsuite/20_util/enable_shared_from_this/requirements/
explicit_instantiation.cc: Instantiate with const and incomplete types.
From-SVN: r227232
Michael Meissner [Wed, 26 Aug 2015 21:23:04 +0000 (21:23 +0000)]
Delete extra blank line
From-SVN: r227231
Michael Meissner [Wed, 26 Aug 2015 21:22:23 +0000 (21:22 +0000)]
rs6000-protos.h (rs6000_expand_float128_convert): Add declaration.
2015-08-26 Michael Meissner <meissner@linux.vnet.ibm.com>
* config/rs6000/rs6000-protos.h (rs6000_expand_float128_convert):
Add declaration.
* config/rs6000/rs6000.c (rs6000_emit_le_vsx_store): Fix a
comment.
(rs6000_cannot_change_mode_class): Add support for IEEE 128-bit
floating point in VSX registers.
(rs6000_output_move_128bit): Always print out the set insn if we
can't generate an appropriate 128-bit move.
(rs6000_generate_compare): Add support for IEEE 128-bit floating
point in VSX registers comparisons.
(rs6000_expand_float128_convert): Likewise.
* config/rs6000/predicates.md (int_reg_operand_not_pseudo): New
predicate for only GPR hard registers.
* config/rs6000/rs6000.md (FP): Add IEEE 128-bit floating point
modes to iterators. Add new iterators for moving 128-bit values in
scalar FPR registers and VSX registers.
(FMOVE128): Likewise.
(FMOVE128_FPR): Likewise.
(FMOVE128_GPR): Likewise.
(FMOVE128_VSX): Likewise.
(FLOAT128_SFDFTF): New iterators for IEEE 128-bit floating point
in VSX registers.
(IFKF): Likewise.
(IBM128): Likewise.
(TFIFKF): Likewise.
(RELOAD): Add IEEE 128-bit floating point modes.
(signbittf2): Convert TF insns to add support for new IEEE 128-bit
floating point in VSX registers modes.
(signbit<mode>2, IBM128 iterator): Likewise.
(mov<mode>_64bit_dm, FMOVE128_FPR iterator): Likewise.
(mov<mode>_32bit, FMOVE128_FPR iterator): Likewise.
(negtf2): Likewise.
(neg<mode>2, TFIFKF iterator): Likewise.
(negtf2_internal): Likewise.
(abstf2): Likewise.
(abs<mode>2, TFIFKF iterator): Likewise.
(ieee_128bit_negative_zero): New IEEE 128-bit floating point in
VSX insn support for negate, absolute value, and negative absolute
value.
(ieee_128bit_vsx_neg<mode>2): Likewise.
(ieee_128bit_vsx_neg<mode>2_internal): Likewise.
(ieee_128bit_vsx_abs<mode>2): Likewise.
(ieee_128bit_vsx_abs<mode>2_internal): Likewise.
(ieee_128bit_vsx_nabs<mode>2): Likewise.
(ieee_128bit_vsx_nabs<mode>2_internal): Likewise.
(FP128_64): Update pack/unpack 128-bit insns for IEEE 128-bit
floating point in VSX registers.
(unpack<mode>_dm): Likewise.
(unpack<mode>_nodm): Likewise.
(pack<mode>): Likewise.
(unpackv1ti): Likewise.
(unpack<mode>, FMOVE128_VSX iterator): Likewise.
(packv1ti): Likewise.
(pack<mode>, FMOVE128_VSX iterator): Likewise.
(extenddftf2): Add support for IEEE 128-bit floating point in VSX
registers.
(extenddftf2_internal): Likewise.
(trunctfdf2): Likewise.
(trunctfdf2_internal2): Likewise.
(fix_trunc_helper): Likewise.
(fix_trunctfdi2"): Likewise.
(floatditf2): Likewise.
(floatuns<mode>tf2): Likewise.
(extend<FLOAT128_SFDFTF:mode><IFKF:mode>2): Likewise.
(trunc<IFKF:mode><FLOAT128_SFDFTF:mode>2): Likewise.
(fix_trunc<IFKF:mode><SDI:mode>2): Likewise.
(fixuns_trunc<IFKF:mode><SDI:mode>2): Likewise.
(float<SDI:mode><IFKF:mode>2): Likewise.
(floatuns<SDI:mode><IFKF:mode>2): Likewise.
From-SVN: r227230
Jonathan Wakely [Wed, 26 Aug 2015 20:58:14 +0000 (21:58 +0100)]
try_emplace and insert_or_assign for Debug Mode.
* include/debug/map.h (map::try_emplace, map::insert_or_assign):
Define.
* include/debug/unordered_map (unordered_map::try_emplace,
unordered_map::insert_or_assign): Define.
From-SVN: r227229
Jonathan Wakely [Wed, 26 Aug 2015 20:22:58 +0000 (21:22 +0100)]
libstdc++/66902 Make _S_debug_messages static.
PR libstdc++/66902
* src/c++11/debug.cc (_S_debug_messages): Give internal linkage.
From-SVN: r227228
Ian Lance Taylor [Wed, 26 Aug 2015 19:18:51 +0000 (19:18 +0000)]
compiler: Don't crash on invalid arithmetic ops.
The gofrontend would crash after hitting an unreachable state while
trying to determine the type of an arithmetic expression involving
non-numeric values. Instead of crashing, it should fail gracefully
if the relevant error is already reported.
Fixes golang/go#11537.
Reviewed-on: https://go-review.googlesource.com/13793
From-SVN: r227227
Renlin Li [Wed, 26 Aug 2015 17:37:42 +0000 (17:37 +0000)]
[PATCH][AARCH64]Add backend aarch64_bfi pattern.
2015-08-26 Renlin Li <renlin.li@arm.com>
gcc/
* config/aarch64/aarch64.md (aarch64_bfi): New pattern.
gcc/testsuite/
* gcc.target/aarch64/combine_bfi_1.c: New.
From-SVN: r227226
Jiong Wang [Wed, 26 Aug 2015 13:38:40 +0000 (13:38 +0000)]
[AArch64][TLSIE][2/2] Implement TLS IE for tiny model
2015-08-26 Marcus Shawcroft <marcus.shawcroft@arm.com>
Jiong Wang <jiong.wang@arm.com>
gcc/
* config/aarch64/aarch64.md (UNSPEC_GOTTINYTLS): New UNSPEC.
(tlsie_tiny_<mode>): New define_insn.
(tlsie_tiny_sidi): Likewise.
* config/aarch64/aarch64-protos.h (aarch64_symbol_type): Define
SYMBOL_TINY_TLSIE.
(aarch64_symbol_context): New comment for SYMBOL_TINY_TLSIE.
* config/aarch64/aarch64.c (aarch64_load_symref_appropriately): Support
SYMBOL_TINY_TLSIE.
(aarch64_expand_mov_immediate): Likewise.
(aarch64_print_operand): Likewise.
(arch64_classify_tls_symbol): Likewise.
gcc/testsuite/
* gcc.target/aarch64/tlsie_tiny_1.c: New testcase.
From-SVN: r227220
Matthew Wahab [Wed, 26 Aug 2015 13:33:54 +0000 (13:33 +0000)]
arm-arches.def: Replace single value flags with an initializer built from ARM_FSET_MAKE_CPU1.
2015-08-26 Matthew Wahab <matthew.wahab@arm.com>
* config/arm/arm-arches.def: Replace single value flags with
an initializer built from ARM_FSET_MAKE_CPU1.
* config/arm/arm-cores.def: Likewise.
* config/arm/arm.c: (all_cores): Remove ARM_FSET_MAKE_CPU1
derivation from the ARM_CORE macro definition, use the given value
instead.
(all_architectures): Remove ARM_FSET_MAKE_CPU1 derivation from the
ARM_ARCH macro definition, use the given value instead.
From-SVN: r227219
Matthew Wahab [Wed, 26 Aug 2015 13:27:03 +0000 (13:27 +0000)]
arm-builtins.c (def_mbuiltin): Test all flags in a feature set.
2015-08-26 Matthew Wahab <matthew.wahab@arm.com>
* config/arm/arm-builtins.c (def_mbuiltin): Test all flags in a
feature set.
(struct builtin_description): Replace field mask with field
features.
(IWMMXT_BUILTIN): Use ARM_FSET macros for feature flags.
(IWMMXT2_BUILTIN): Likewise.
(IWMMXT2_BUILTIN2): Likewise.
(FP_BUILTIN): Likewise.
(CRC32_BUILTIN): Likewise.
(CRYPTO_BUILTIN): Likewise.
(iwmmx_mbuiltin): Likewise.
(iwmmx2_mbuiltin): Likewise.
(arm_init_iwmmxt_builtins): Likewise. Also, update for change to
struct builtin_description.
From-SVN: r227218
Matthew Wahab [Wed, 26 Aug 2015 13:20:18 +0000 (13:20 +0000)]
arm-builtins.c (def_mbuiltin): Use ARM_FSET macro.
2015-08-26 Matthew Wahab <matthew.wahab@arm.com>
* config/arm/arm-builtins.c (def_mbuiltin): Use ARM_FSET macro.
(struct builtin_description): Change type of mask to unsigned
long.
* config/arm/arm-protos.h (insn_flags): Declare as type
arm_feature_set.
(tune_flags): Likewise.
* config/arm/arm.c (feature_count): New.
(insn_flags): Define as type arm_feature_set.
(tune_flags): Likewise.
(struct processors): Define field flags as type arm_feature_set.
(all_cores): Update for change to struct processors.
(all_architectures): Likewise.
(arm_option_check_internal): Use arm_feature_set and ARM_FSET
macros.
(arm_option_override_internal): Likewise.
(arm_option_override): Likewise.
From-SVN: r227217
Jiong Wang [Wed, 26 Aug 2015 13:16:19 +0000 (13:16 +0000)]
[AArch64][TLSIE][1/2] Rename test source file for reuse
2015-08-26 Jiong Wang <jiong.wang@arm.com>
gcc/testsuite/
* gcc.target/aarch64/tlsle_1.x: Rename to tls_1.x
* gcc.target/aarch64/aarch64/tlsle12_1.c: Update source file name.
* gcc.target/aarch64/aarch64/tlsle24_1.c: Likewise.
* gcc.target/aarch64/aarch64/tlsle32_1.c: Likewise.
From-SVN: r227216
Jiong Wang [Wed, 26 Aug 2015 13:09:35 +0000 (13:09 +0000)]
[AArch64][TLSLE][3/3] Implement local executable mode for all memory model
2015-08-26 Marcus Shawcroft <marcus.shawcroft@arm.com>
Jiong Wang <jiong.wang@arm.com>
gcc/
* config/aarch64/aarch64.c (initialize_aarch64_tls_size): Set default
tls size for tiny, small, large memory model.
(aarch64_load_symref_appropriately): Support new symbol types.
(aarch64_expand_mov_immediate): Likewise.
(aarch64_print_operand): Likewise.
(aarch64_classify_tls_symbol): Likewise.
* config/aarch64/aarch64-protos.h (aarch64_symbol_context): Likewise.
(aarch64_symbol_type): Likewise.
* config/aarch64/aarch64.md (tlsle): Deleted.
(tlsle12_<mode>): New define_insn.
(tlsle24_<mode>): Likewise.
(tlsle32_<mode>): Likewise.
(tlsle48_<mode>): Likewise.
* doc/sourcebuild.texi (AArch64-specific attributes): Document
"aarch64_tlsle32".
gcc/testsuite/
* lib/target-supports.exp (check_effective_target_aarch64_tlsle32):
New test directive.
* gcc.target/aarch64/tlsle_1.x: New test source.
* gcc.target/aarch64/tlsle12_1.c: New testcase.
* gcc.target/aarch64/tlsle24_1.c: Likewise.
* gcc.target/aarch64/tlsle32_1.c: Likewise.
From-SVN: r227215
Matthew Wahab [Wed, 26 Aug 2015 13:04:34 +0000 (13:04 +0000)]
arm-protos.h (FL_NONE): New.
2015-08-26 Matthew Wahab <matthew.wahab@arm.com>
* config/arm/arm-protos.h (FL_NONE): New.
(FL_ANY): New.
(arm_feature_set): New.
(ARM_FSET_MAKE): New.
(ARM_FSET_MAKE_CPU1): New.
(ARM_FSET_MAKE_CPU2): New.
(ARM_FSET_CPU1): New.
(ARM_FSET_CPU2): New.
(ARM_FSET_EMPTY): New.
(ARM_FSET_ANY): New.
(ARM_FSET_HAS_CPU1): New.
(ARM_FSET_HAS_CPU2): New.
(ARM_FSET_HAS_CPU): New.
(ARM_FSET_ADD_CPU1): New.
(ARM_FSET_ADD_CPU2): New.
(ARM_FSET_DEL_CPU1): New.
(ARM_FSET_DEL_CPU2): New.
(ARM_FSET_UNION): New.
(ARM_FSET_INTER): New.
(ARM_FSET_XOR): New.
(ARM_FSET_EXCLUDE): New.
(AFM_FSET_IS_EMPTY): New.
(ARM_FSET_CPU_SUBSET): New.
From-SVN: r227214
Jiong Wang [Wed, 26 Aug 2015 13:01:56 +0000 (13:01 +0000)]
[AArch64][TLSLE][2/3] Rename SYMBOL_TLSLE to SYMBOL_TLSLE24
2015-08-26 Jiong Wang <jiong.wang@arm.com>
gcc/
* config/aarch64/aarch64-protos.h (aarch64_symbol_type): Rename
SYMBOL_TLSLE to SYMBOL_TLSLE24.
* config/aarch64/aarch64.c (aarch64_load_symref_appropriately):
Likewise.
(aarch64_expand_mov_immediate): Likewise.
(aarch64_print_operand): Likewise.
(aarch64_classify_symbol): Likewise.
From-SVN: r227213
Jiong Wang [Wed, 26 Aug 2015 12:58:52 +0000 (12:58 +0000)]
[AArch64][TLSLE][1/3] Add the option "-mtls-size"
2015-08-26 Jiong Wang <jiong.wang@arm.com>
gcc/
* config/aarch64/aarch64.opt (mtls-size): New entry.
* config/aarch64/aarch64.c (initialize_aarch64_tls_size): New function.
(aarch64_override_options_internal): Call initialize_aarch64_tls_size.
* doc/invoke.texi (AArch64 Options): Document -mtls-size.
From-SVN: r227212
Matthew Wahab [Wed, 26 Aug 2015 12:55:15 +0000 (12:55 +0000)]
arm-cores.def: Add FL_FOR_ARCH flag for each ARM_CORE entry.
2015-08-26 Matthew Wahab <matthew.wahab@arm.com>
* gcc/config/arm/arm-cores.def: Add FL_FOR_ARCH flag for each
ARM_CORE entry. Fix some white-space.
* gcc/config/arm/arm.c: Remove FL_FOR_ARCH derivation from
ARM_CORE definition.
From-SVN: r227211
Francois-Xavier Coudert [Wed, 26 Aug 2015 12:37:42 +0000 (12:37 +0000)]
re PR fortran/29600 ([F03] MINLOC and MAXLOC take an optional KIND argument)
PR fortran/29600
* Makefile.am: Add generated/shape_i{1,2}.c
* Makefile.in: Regenerate.
* generated/shape_i1.c: New generated file.
* generated/shape_i2.c: New generated file.
* generated/shape_i4.c: Regenerate.
* generated/shape_i8.c: Regenerate.
* generated/shape_i16.c: Regenerate.
* gfortran.map (GFORTRAN_1.7): Add _gfortran_shape_{1,2}.
* m4/shape.m4: Fix parameter type.
* gfortran.dg/shape_8.f90: New test.
From-SVN: r227210
Francois-Xavier Coudert [Wed, 26 Aug 2015 06:34:05 +0000 (06:34 +0000)]
libgfortran.h (show_variables): Remove prototype.
* libgfortran.h (show_variables): Remove prototype.
* runtime/environ.c (print_spaces, var_source, show_integer,
show_boolean, show_sep, show_string): Remove functions.
* runtime/main.c (init): Remove dead code.
From-SVN: r227208
Naveen H.S [Wed, 26 Aug 2015 03:39:17 +0000 (03:39 +0000)]
fold-const.c (fold_binary_loc): Move Optimize root(x)*root(y) as root(x*y) to match.pd.
2015-08-26 Naveen H.S <Naveen.Hurugalawadi@caviumnetworks.com>
* fold-const.c (fold_binary_loc) : Move Optimize
root(x)*root(y) as root(x*y) to match.pd.
Move Optimize expN(x)*expN(y) as expN(x+y) to match.pd.
Move Optimize pow(x,y)*pow(x,z) as pow(x,y+z) to match.pd.
Move Optimize a/root(b/c) into a*root(c/b) to match.pd.
Move Optimize x/expN(y) into x*expN(-y) to match.pd.
* match.pd (mult (root:s @0) (root:s @1)): New simplifier.
(mult (POW:s @0 @1) (POW:s @0 @2)) : New simplifier.
(mult (exps:s @0) (exps:s @1)) : New simplifier.
(rdiv @0 (root:s (rdiv:s @1 @2))) : New simplifier.
(rdiv @0 (exps:s @1)) : New simplifier.
From-SVN: r227207
GCC Administrator [Wed, 26 Aug 2015 00:16:12 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r227206
Hans-Peter Nilsson [Tue, 25 Aug 2015 23:32:06 +0000 (23:32 +0000)]
configure.ac: Only compile with -fPIC if the target supports it.
* configure.ac: Only compile with -fPIC if the target
supports it.
* configure: Regenerate.
From-SVN: r227203
Ian Lance Taylor [Tue, 25 Aug 2015 23:05:15 +0000 (23:05 +0000)]
compiler: Disallow use of unary ^ on booleans.
Fixes golang/go#11529.
Reviewed-on: https://go-review.googlesource.com/13790
From-SVN: r227201
Joseph Myers [Tue, 25 Aug 2015 21:20:49 +0000 (22:20 +0100)]
Fix build for targets not defining EXTRA_SPECS.
* gcc.c (driver::finalize): Only assign to extra_specs if
[EXTRA_SPECS].
From-SVN: r227194
Ian Lance Taylor [Tue, 25 Aug 2015 21:17:47 +0000 (21:17 +0000)]
compiler: Accept numeric literals with leading zeroes.
When a numeric literal with leading zeroes was seen in the parser, it
would only be accepted if it were a valid hex or octal literal. Any
invalid numeric literal would be split up into multiple tokens: the
valid hex/octal literal followed by the rest of the characters.
Instead, when scanning a numeric literal with leading zeroes, always
accept the number and give an appropriate error if the accepted number
does not fit in the expected base.
Fixes golang/go#11532, golang/go#11533.
Reviewed-on: https://go-review.googlesource.com/13791
From-SVN: r227193
Ian Lance Taylor [Tue, 25 Aug 2015 20:31:51 +0000 (20:31 +0000)]
compiler: Allow string slices with start index == length.
Avoid an off-by-one error when checking the start index of a string
slice by allowing the start index to be the string length instead
of the string length - 1.
Fixes golang/go#11522.
Reviewed-on: https://go-review.googlesource.com/13030
From-SVN: r227191
Marek Polacek [Tue, 25 Aug 2015 20:28:59 +0000 (20:28 +0000)]
re PR middle-end/67330 (ICE handling weak attributes)
PR middle-end/67330
* varasm.c (declare_weak): Return after giving an error.
* c-common.c (handle_weak_attribute): Don't check whether the
visibility can be changed here.
* gcc.dg/weak/weak-18.c: New test.
From-SVN: r227190
François Dumont [Tue, 25 Aug 2015 20:27:03 +0000 (20:27 +0000)]
re PR libstdc++/60519 (Debug mode should check comparators for irreflexivity)
2015-08-24 François Dumont <fdumont@gcc.gnu.org>
PR libstdc++/60519
* include/debug/formatter.h (_Debug_msg_id::__msg_irreflexive_ordering):
New enum entry.
* include/debug/functions.h (_Irreflexive_checker): New.
(__is_irreflexive, __is_irreflexive_pred): New.
* include/debug/macros.h
(__glibcxx_check_irreflexive, __glibcxx_check_irreflexive_pred): New
macros.
(__glibcxx_check_irreflexive2, __glibcxx_check_irreflexive_pred2): New
macros limited to post-C++11 mode.
* include/debug/debug.h
(__glibcxx_requires_irreflexive, __glibcxx_requires_irreflexive_pred):
New macros, use latter.
(__glibcxx_requires_irreflexive2, __glibcxx_requires_irreflexive_pred2):
Likewise.
* include/bits/stl_algo.h
(partial_sort_copy): Add irreflexive debug check.
(partial_sort_copy): Likewise.
(lower_bound): Likewise.
(upper_bound): Likewise.
(equal_range): Likewise.
(binary_search): Likewise.
(inplace_merge): Likewise.
(includes): Likewise.
(next_permutation): Likewise.
(prev_permutation): Likewise.
(is_sorted_until): Likewise.
(minmax_element): Likewise.
(partial_sort): Likewise.
(nth_element): Likewise.
(sort): Likewise.
(merge): Likewise.
(stable_sort): Likewise.
(set_union): Likewise.
(set_intersection): Likewise.
(set_difference): Likewise.
(set_symmetric_difference): Likewise.
(min_element): Likewise.
(max_element): Likewise.
* include/bits/stl_algobase.h
(lower_bound): Likewise.
(lexicographical_compare): Likewise.
* include/bits/stl_heap.h
(push_heap): Likewise.
(pop_heap): Likewise.
(make_heap): Likewise.
(sort_heap): Likewise.
(is_heap_until): Likewise.
* testsuite/25_algorithms/lexicographical_compare/debug/
irreflexive_neg.cc: New.
* testsuite/25_algorithms/lower_bound/debug/irreflexive.cc: New.
* testsuite/25_algorithms/partial_sort_copy/debug/irreflexive_neg.cc:
New.
From-SVN: r227189
David Malcolm [Tue, 25 Aug 2015 20:25:05 +0000 (20:25 +0000)]
Support embedding the driver in-process within libgccjit
gcc/ChangeLog:
* gcc-main.c (main): Add params to driver ctor.
* gcc.c (class env_manager): New.
(env): New global.
(env_manager::init): New.
(env_manager::get): New.
(env_manager::xput): New.
(env_manager::restore): New.
Poison getenv and putenv.
(DEFAULT_TARGET_SYSTEM_ROOT): New.
(target_system_root): Update initialization to use
DEFAULT_TARGET_SYSTEM_ROOT.
(struct spec_list): Add field "default_ptr".
(INIT_STATIC_SPEC): Initialize new field "default_ptr".
(init_spec): Likewise.
(set_spec): Clear field "default_ptr".
(read_specs): Free "spec" and "buffer".
(xputenv): Reimplement in terms of env_manager.
(process_command): Replace ::getenv calls with calls to the
env_manager singleton.
(process_brace_body): Free string in three places.
(driver::driver): New.
(driver::~driver): New.
(used_arg): Convert from a function to...
(class used_arg_t): ...this class, and...
(used_arg): ...this new global instance.
(used_arg_t::finalize): New function.
(getenv_spec_function): Add "const" to local "value". Replace
::getenv call with call to the env_manager singleton.
(path_prefix_reset): New function.
(driver::finalize): New function.
* gcc.h (driver::driver): New.
(driver::~driver): New.
(driver::finalize): New.
gcc/jit/ChangeLog:
* docs/cp/topics/contexts.rst
(gccjit::context::set_bool_use_external_driver): New.
* docs/internals/test-hello-world.exe.log.txt: Update.
* docs/topics/compatibility.rst (LIBGCCJIT_ABI_5): New.
* docs/topics/contexts.rst
(gcc_jit_context_set_bool_use_external_driver): New.
* jit-common.h (enum inner_bool_option): Add
INNER_BOOL_OPTION_USE_EXTERNAL_DRIVER.
* jit-playback.c (gcc_driver_name): New global.
(gcc:jit::playback::context::invoke_driver): Split out second
half into...
(gcc::jit::playback::context::invoke_embedded_driver): ...this new
function, and...
(gcc::jit::playback::context::invoke_external_driver): ...this new
function.
* jit-playback.h
(gcc::jit::playback::context::get_inner_bool_option): New.
(gcc::jit::playback::context::invoke_embedded_driver): New.
(gcc::jit::playback::context::invoke_external_driver): New.
* jit-recording.c (inner_bool_option_reproducer_strings):
Add entry for INNER_BOOL_OPTION_USE_EXTERNAL_DRIVER.
* libgccjit++.h
(gccjit::context::set_bool_use_external_driver): New.
* libgccjit.c (gcc_jit_context_set_bool_use_external_driver): New.
* libgccjit.h (gcc_jit_context_set_bool_use_external_driver): New.
(LIBGCCJIT_HAVE_gcc_jit_context_set_bool_use_external_driver):
New.
* libgccjit.map (LIBGCCJIT_ABI_5): New.
* notes.txt: Show invocation of embedded copy of driver.
* docs/internals/test-hello-world.exe.log.txt: Update
gcc/testsuite/ChangeLog:
* jit.dg/test-error-pr63969-missing-driver.c: Add call to
gcc_jit_context_set_bool_use_external_driver.
From-SVN: r227188
François Dumont [Tue, 25 Aug 2015 20:22:47 +0000 (20:22 +0000)]
Revert my change to commit with PR reference again.
From-SVN: r227187
Nathan Sidwell [Tue, 25 Aug 2015 20:06:13 +0000 (20:06 +0000)]
* gcc.c-torture/execute/builtins/
20010124-1.x: New.
From-SVN: r227186
Nathan Sidwell [Tue, 25 Aug 2015 19:43:02 +0000 (19:43 +0000)]
optabs.c (emit_indirect_jump): Don't try an emit a jump if the target doesn't have one.
* optabs.c (emit_indirect_jump): Don't try an emit a jump if the
target doesn't have one.
From-SVN: r227185
Ian Lance Taylor [Tue, 25 Aug 2015 19:42:26 +0000 (19:42 +0000)]
compiler: Don't crash on erroneous array types.
Fixes golang/go#11546.
Reviewed-on: https://go-review.googlesource.com/13795
From-SVN: r227184
Segher Boessenkool [Tue, 25 Aug 2015 19:35:15 +0000 (21:35 +0200)]
rs6000: Fix PR67346
"*ior<mode>_mask" is a define_insn_and_split, so it shouldn't use
can_create_pseudo in its instruction condition, because IRA can then
create such an instruction, and the condition becomes false before
the insn is split. Use a scratch instead.
2015-08-25 Segher Boessenkool <segher@kernel.crashing.org>
PR target/67346
* config/rs6000/rs6000.md (*ior<mode>_mask): Use a match_scratch.
From-SVN: r227183
Segher Boessenkool [Tue, 25 Aug 2015 19:32:28 +0000 (21:32 +0200)]
rs6000: Fix PR67344
The "*and<mode>3_imm_dot_shifted" pattern is a define_insn_and_split,
like most "dot" patterns: if its output is not assigned cr0 but some
other cr reg, it splits to a non-dot insn and a compare.
Unfortunately that non-dot insn will clobber cr0 as well. We could
add another clobber (with "=X,x"), but then that second alternative
is never useful; instead, just remove that second alternative.
2015-08-25 Segher Boessenkool <segher@kernel.crashing.org>
PR target/67344
* config/rs6000/rs6000.md (*and<mode>3_imm_dot_shifted): Change to
a define_insn, remove second alternative.
From-SVN: r227182
Francois-Xavier Coudert [Tue, 25 Aug 2015 16:27:43 +0000 (16:27 +0000)]
unit.c (get_internal_unit): Make default sign mode unspecified.
* io/unit.c (get_internal_unit): Make default sign mode unspecified.
(init_units): Make default sign mode unspecified.
From-SVN: r227178
Nathan Sidwell [Tue, 25 Aug 2015 16:22:42 +0000 (16:22 +0000)]
20001117-1.c: Needs return_address.
* gcc.dg/
20001117-1.c: Needs return_address.
* gcc.dg/
20020415-1.c: Needs alloca.
* gcc.dg/graphite/id-pr44676.c: Needs profiling.
* gcc.dg/graphite/pr60979.c: Needs nonlocal_goto
* gcc.dg/pr63186.c: Needs label_values.
* gcc.dg/torture/pr33848.c: Likwise.
* lib/target-supports.exp (check_effective_target_fopenacc,
check_effective_target_fopenmp): Disable for nvptx.
* gcc.dg/graphite/run-id-pr47653.c: Disable for nvptx.
* gcc.dg/stack-usage-1.c: Likewise.
* gcc.dg/stack-usage-2.c: Likewise.
* gcc.dg/unused-5.c: Likewise.
* gcc.dg/unwind-1.c: Likewise.
From-SVN: r227177
Francois-Xavier Coudert [Tue, 25 Aug 2015 15:26:02 +0000 (15:26 +0000)]
* libgfortran.h (check_buffered): Remove unused prototype.
From-SVN: r227174
Thomas Schwinge [Tue, 25 Aug 2015 14:53:24 +0000 (16:53 +0200)]
Expand comment on struct switchstr.
This patch, extracted from a larger change on gomp-4_0-branch, expands
a comment documenting struct switchstr in gcc.c.
2015-08-25 Thomas Schwinge <thomas@codesourcery.com>
Joseph Myers <joseph@codesourcery.com>
* gcc.c (struct switchstr): Expand comment.
Co-Authored-By: Joseph Myers <joseph@codesourcery.com>
From-SVN: r227173
Nathan Sidwell [Tue, 25 Aug 2015 14:06:39 +0000 (14:06 +0000)]
nvptx.c (nvptx_write_function_decl): Reformat.
* config/nvptx/nvptx.c (nvptx_write_function_decl): Reformat.
(nvptx_reorg_subreg): Pass insn pattern to asm_operands.
From-SVN: r227169
Richard Biener [Tue, 25 Aug 2015 10:29:09 +0000 (10:29 +0000)]
re PR tree-optimization/67306 (Patterns ICEs when moved using "simplify and match")
2015-08-25 Richard Biener <rguenther@suse.de>
PR middle-end/67306
* genmatch.c (expr::gen_transform): Verify the result of
builtin_decl_implicit.
(dt_simplify::gen_1): Likewise.
From-SVN: r227163
Thomas Preud'homme [Tue, 25 Aug 2015 08:50:53 +0000 (08:50 +0000)]
constraints.md: Also list Cs and US ARM-specific constraints as used.
2015-08-25 Thomas Preud'homme <thomas.preudhomme@arm.com>
* config/arm/constraints.md: Also list Cs and US ARM-specific
constraints as used.
From-SVN: r227162
Christian Bruel [Tue, 25 Aug 2015 07:49:54 +0000 (09:49 +0200)]
gcc.dg/Wno-frame-address.c: Skip for ARM.
g++.dg/Wno-frame-address.C: Ditto.
From-SVN: r227161
Ian Lance Taylor [Tue, 25 Aug 2015 03:48:35 +0000 (03:48 +0000)]
compiler: Type check params in sink function decl.
When a function is declared and named with the blank identifier, only
the syntax is checked. This patch modifies the parser to add a dummy
node for each function declaration with a blank identifier name that
will be type checked like any function declaration.
Fixes golang/go#11535.
Reviewed-on: https://go-review.googlesource.com/13792
From-SVN: r227160
GCC Administrator [Tue, 25 Aug 2015 00:16:11 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r227159
Kaz Kojima [Mon, 24 Aug 2015 23:23:00 +0000 (23:23 +0000)]
re PR target/66609 ([sh] Relative address expressions bind at as-time, even if symbol is weak)
PR target/66609
* [SH] Take into account weak symbols for pc relative calls/sibcalls.
From-SVN: r227155
Aditya Kumar [Mon, 24 Aug 2015 20:53:51 +0000 (20:53 +0000)]
Specify the type of scop->region
Changing the type of scop::region from void* to sese, as this is
the only type assigned to scop::region for now. No functional changes intended.
Passes regtest and bootstrap.
gcc/ChangeLog:
2015-08-17 Aditya Kumar <aditya.k7@samsung.com>
* graphite-poly.c: Change type of region from void* to sese.
* graphite-poly.h (struct scop): Changing the type of scop::region
from void* to sese. Change accessor macro accordingly.
* graphite-sese-to-poly.c (extract_affine_chrec): Use accessor macro.
From-SVN: r227151
Aditya Kumar [Mon, 24 Aug 2015 20:50:12 +0000 (20:50 +0000)]
Constrain only on INTEGER_TYPE
Passes bootstrap, no regressions.
With this patch gcc bootstraps with graphite.
make BOOT_CFLAGS="-g -O2 -fgraphite-identity -floop-interchange -floop-block"
gcc/ChangeLog:
2015-08-12 Aditya Kumar <hiraditya@msn.com>
* graphite-scop-detection.c (stmt_simple_for_scop_p):
Constrain only on INTEGER_TYPE
From-SVN: r227150
François Dumont [Mon, 24 Aug 2015 20:21:57 +0000 (20:21 +0000)]
formatter.h (_Debug_msg_id::__msg_irreflexive_ordering): New enum entry.
2015-08-24 François Dumont <fdumont@gcc.gnu.org>
* include/debug/formatter.h (_Debug_msg_id::__msg_irreflexive_ordering):
New enum entry.
* include/debug/functions.h (_Irreflexive_checker): New.
(__is_irreflexive, __is_irreflexive_pred): New.
* include/debug/macros.h
(__glibcxx_check_irreflexive, __glibcxx_check_irreflexive_pred): New
macros.
(__glibcxx_check_irreflexive2, __glibcxx_check_irreflexive_pred2): New
macros limited to post-C++11 mode.
* include/debug/debug.h
(__glibcxx_requires_irreflexive, __glibcxx_requires_irreflexive_pred):
New macros, use latter.
(__glibcxx_requires_irreflexive2, __glibcxx_requires_irreflexive_pred2):
Likewise.
* include/bits/stl_algo.h
(partial_sort_copy): Add irreflexive debug check.
(partial_sort_copy): Likewise.
(lower_bound): Likewise.
(upper_bound): Likewise.
(equal_range): Likewise.
(binary_search): Likewise.
(inplace_merge): Likewise.
(includes): Likewise.
(next_permutation): Likewise.
(prev_permutation): Likewise.
(is_sorted_until): Likewise.
(minmax_element): Likewise.
(partial_sort): Likewise.
(nth_element): Likewise.
(sort): Likewise.
(merge): Likewise.
(stable_sort): Likewise.
(set_union): Likewise.
(set_intersection): Likewise.
(set_difference): Likewise.
(set_symmetric_difference): Likewise.
(min_element): Likewise.
(max_element): Likewise.
* include/bits/stl_algobase.h
(lower_bound): Likewise.
(lexicographical_compare): Likewise.
* include/bits/stl_heap.h
(push_heap): Likewise.
(pop_heap): Likewise.
(make_heap): Likewise.
(sort_heap): Likewise.
(is_heap_until): Likewise.
* testsuite/25_algorithms/lexicographical_compare/debug/
irreflexive_neg.cc: New.
* testsuite/25_algorithms/lower_bound/debug/irreflexive.cc: New.
* testsuite/25_algorithms/partial_sort_copy/debug/irreflexive_neg.cc:
New.
From-SVN: r227147
Ulrich Weigand [Mon, 24 Aug 2015 18:48:28 +0000 (18:48 +0000)]
configure.ac: Set have_mmap to no on spu-*-* targets.
* configure.ac: Set have_mmap to no on spu-*-* targets.
* configure: Regenerate.
From-SVN: r227145
Michael Meissner [Mon, 24 Aug 2015 18:43:02 +0000 (18:43 +0000)]
re PR target/67211 (ICE (insn does not satisfy its constraints) on powerpc64le-linux-gnu)
[gcc]
2015-08-24 Michael Meissner <meissner@linux.vnet.ibm.com>
PR target/67211
* config/rs6000/rs6000-cpus.def (ISA_2_7_MASKS_SERVER): Set
-mefficient-unaligned-vsx on ISA 2.7.
* config/rs6000/rs6000.opt (-mefficient-unaligned-vsx): Convert
option to a masked option.
* config/rs6000/rs6000.c (rs6000_option_override_internal): Rework
logic for -mefficient-unaligned-vsx so that it is set via an arch
ISA option, instead of being set if -mtune=power8 is set. Move
-mefficient-unaligned-vsx and -mallow-movmisalign handling to be
near other default option handling.
[gcc/testsuite]
2015-08-24 Michael Meissner <meissner@linux.vnet.ibm.com>
PR target/67211
* g++.dg/pr67211.C: New test.
From-SVN: r227144
Richard Sandiford [Mon, 24 Aug 2015 17:59:51 +0000 (17:59 +0000)]
genflags.c (gen_macro): Delete.
gcc/
* genflags.c (gen_macro): Delete.
(gen_proto): Don't create GEN.*CALL.* macros.
* gensupport.h (get_file_location): Declare.
* gensupport.c (rtx_locs): New variable.
(read_md_rtx): Record rtx locations.
(get_file_location): New function.
* target-insns.def (call, call_pop, call_value, call_value_pop)
(sibcall, sibcall_value): New patterns.
* gentarget-def.c (parse_argument): New function.
(def_target_insn): Use it. Handle optional operands. Raise an
error if an .md pattern has the wrong number of operands for the
pattern name. Remove the names of unused operands from the prototype.
* builtins.c (expand_builtin_apply): Use targetm functions
instead of HAVE_call_value and GEN_CALL_VALUE.
* calls.c (emit_call_1): Likewise. Remove support for sibcall_pop
and sibcall_value_pop.
* config/aarch64/aarch64.md (untyped_call): Use gen_call instead
of GEN_CALL.
* config/alpha/alpha.md (untyped_call): Likewise.
* config/iq2000/iq2000.md (untyped_call): Likewise.
* config/m68k/m68k.md (untyped_call): Likewise.
* config/mips/mips.md (untyped_call): Likewise.
* config/pa/pa.md (untyped_call): Likewise.
* config/rs6000/rs6000.md (untyped_call): Likewise.
* config/sparc/sparc.md (untyped_call): Likewise.
* config/tilegx/tilegx.md (untyped_call): Likewise.
* config/tilepro/tilepro.md (untyped_call): Likewise.
* config/visium/visium.md (untyped_call): Likewise.
* config/alpha/alpha.c (alpha_emit_xfloating_libcall): Use
gen_call_value instead of GEN_CALL_VALUE.
* config/arm/arm.md (untyped_call): Likewise.
* config/cr16/cr16.c (cr16_function_arg): Remove reference to
GEN_CALL.
From-SVN: r227143
Richard Sandiford [Mon, 24 Aug 2015 17:59:31 +0000 (17:59 +0000)]
ifcvt.c (HAVE_incscc, [...]): Delete.
gcc/
* ifcvt.c (HAVE_incscc, HAVE_decscc, HAVE_cbranchcc4): Delete.
(have_cbranchcc4): New variable.
(cc_in_cond, noce_emit_cmove, noce_get_alt_condition)
(noce_get_condition): Use it instead of HAVE_cbranchcc4.
(if_convert): Initialize have_cbranchcc4.
From-SVN: r227142
Richard Sandiford [Mon, 24 Aug 2015 17:59:19 +0000 (17:59 +0000)]
builtins.c (expand_cmpstrn): Rename to...
gcc/
* builtins.c (expand_cmpstrn): Rename to...
(expand_cmpstrn_or_cmpmem): ...this.
(expand_builtin_strcmp, expand_builtin_strncmp): Update accordingly.
(expand_builtin_memcmp): Use optabs instead of HAVE_cmpmem/gen_cmpmem.
Remove mode argument.
(expand_builtin): Update accordingly.
From-SVN: r227141
Richard Sandiford [Mon, 24 Aug 2015 17:59:07 +0000 (17:59 +0000)]
builtins.c (expand_cmpstr, [...]): New functions.
gcc/
* builtins.c (expand_cmpstr, expand_cmpstrn): New functions.
(expand_builtin_strcmp, expand_builtin_strncmp): Use them. Remove
references to HAVE_cmpstr{,n}si and CODE_FOR_cmpstr{,n}si.
* config/m32c/blkmov.md (cmpstrsi): Fix predicates of operands 1 and 2.
Add predicates for operands 0 and 3.
* config/rx/rx.md (cmpstrnsi): Remove force_operand for the length
operand.
* config/sh/sh.md (cmpstrnsi): Change the length predicate from
immediate_operand to nonmemory_operand.
From-SVN: r227140
Richard Sandiford [Mon, 24 Aug 2015 17:58:42 +0000 (17:58 +0000)]
df-scan.c (df_insn_info_init_fields): New function, split out from...
gcc/
* df-scan.c (df_insn_info_init_fields): New function, split out
from...
(df_insn_create_insn_record): ...here.
(df_insn_info_free_fields): New function, split out from...
(df_insn_info_delete): ...here.
(df_insn_rescan): Use the new functions instead of freeing and
reallocating the df_insn_info.
From-SVN: r227139
Francois-Xavier Coudert [Mon, 24 Aug 2015 17:52:34 +0000 (17:52 +0000)]
* doc/install.texi (Binaries): Remove links no longer valid.
From-SVN: r227138
Nathan Sidwell [Mon, 24 Aug 2015 17:10:06 +0000 (17:10 +0000)]
libgomp.map: Add 4.0.2 version.
libgomp/
* libgomp.map: Add 4.0.2 version.
* target.c (offload_image_descr): Add version field.
(gomp_load_image_to_device): Add version argument. Adjust plugin
call. Improve load mismatch diagnostic.
(gomp_unload_image_from_device): Add version argument. Adjust plugin
call.
(GOMP_offload_regster): Make stub function, move bulk to ...
(GOMP_offload_register_ver): ... here. Process version argument.
(GOMP_offload_unregister): Make stub function, move bulk to ...
(GOMP_offload_unregister_ver): ... here. Process version argument.
(gomp_init_device): Process version field.
(gomp_unload_device): Process version field.
(gomp_load_plugin_for_device): Reimplement DLSYM & DLSYM_OPT
macros. Check plugin version.
* libgomp.h (gomp_device_descr): Add version function field. Adjust
loader and unloader types.
* oacc-host.c: Include gomp-constants.h.
(host_version): New.
(host_load_image, host_unload_image): Adjust.
(host_dispatch): Add host_version.
* plugin/plugin-nvptx.c: Include gomp-constants.h.
(GOMP_OFFLOAD_version): New.
(GOMP_OFFLOAD_load_image): Add version arg and check it.
(GOMP_OFFLOAD_unload_image): Likewise.
* plugin/plugin-host.c: Include gomp-constants.h.
(GOMP_OFFLOAD_version): New.
(GOMP_OFFLOAD_load_image): Add version arg.
(GOMP_OFFLOAD_unload_image): Likewise.
liboffloadmic/
* plugin/libgomp-plugin-intelmic.cpp (GOMP_OFFLOAD_version): New.
(GOMP_OFFLOAD_load_image): Add version arg and check it.
(GOMP_OFFLOAD_unload_image): Likewise.
include/
* gomp-constants.h (GOMP_VERSION, GOMP_VERSION_NVIDIA_PTX,
GOMP_VERSION_INTEL_MIC): New.
(GOMP_VERSION_PACK, GOMP_VERSION_LIB, GOMP_VERSION_DEV): New.
gcc/
* config/nvptx/mkoffload.c (process): Replace
GOMP_offload_{,un}register with GOMP_offload_{,un}register_ver.
From-SVN: r227137
Francois-Xavier Coudert [Mon, 24 Aug 2015 16:31:47 +0000 (16:31 +0000)]
re PR libfortran/57496 (I/O: WRITE(*,*) HUGE(0._10) gives SIGFPE with -ffpe-trap=overflow)
PR libfortran/57496
* io/write_float.def: Use built-in type-generic functions defined
by libgfortran.h for isfinite, isnan, and signbit.
From-SVN: r227136
Louis Krupp [Mon, 24 Aug 2015 16:29:59 +0000 (16:29 +0000)]
re PR fortran/62536 (ICE (segfault) for invalid END BLOCK statement)
PR fortran/62536
PR fortran/66175
* decl.c (gfc_match_end): Clean up nested BLOCKs.
* parse.c (parse_block_construct): Deal gracefully with cleaned-up
BLOCKs.
* gfortran.dg/block_end_error_1.f90: New test.
* gfortran.dg/blocks_nested_incomplete_1.f90: New test.
From-SVN: r227135
Marek Polacek [Mon, 24 Aug 2015 16:06:02 +0000 (16:06 +0000)]
re PR tree-optimization/67284 (libgo fails to build on trunk r227015 / *-linux-gnu)
PR tree-optimization/67284
* go-gcc.cc (Gcc_backend::define_builtin): Add NORETURN_P parameter.
Set TREE_THIS_VOLATILE.
(Gcc_backend::Gcc_backend): Mark __builtin_trap as a noreturn call.
Pass false to the rest of define_builtin calls.
From-SVN: r227134
H.J. Lu [Mon, 24 Aug 2015 15:31:02 +0000 (15:31 +0000)]
Add a testcase for PR target/66821
PR target/66821
* gcc.target/i386/pr66821.c: New test.
From-SVN: r227133
H.J. Lu [Mon, 24 Aug 2015 15:24:44 +0000 (15:24 +0000)]
Update MOVE_RATIO cost for IA MCU
This patch updates MOVE_RATIO cost for IA MCU from 6 to 9 so that we
can unroll the loop completely for DOM with -mtune=iamcu.
gcc/
PR target/67329
* config/i386/i386.c (iamcu_cost): Set MOVE_RATIO cost to 9.
gcc/testsuite/
PR target/67329
* gcc.target/i386/pr67329.c: New test.
From-SVN: r227132
Tom de Vries [Mon, 24 Aug 2015 15:01:44 +0000 (15:01 +0000)]
Add libgomp.oacc-c-c++-common/vector-loop.c
2015-08-24 Tom de Vries <tom@codesourcery.com>
PR tree-optimization/65468
* testsuite/libgomp.oacc-c-c++-common/vector-loop.c: New test.
From-SVN: r227130
Renlin Li [Mon, 24 Aug 2015 14:59:58 +0000 (14:59 +0000)]
[PATCH][ARM]Tighten the conditions for arm_movw, arm_movt.
gcc/
2015-08-24 Renlin Li <renlin.li@arm.com>
* config/arm/arm-protos.h (arm_valid_symbolic_address_p): Declare.
* config/arm/arm.c (arm_valid_symbolic_address_p): Define.
* config/arm/arm.md (arm_movt): Use arm_valid_symbolic_address_p.
* config/arm/constraints.md ("j"): Add check for high code.
From-SVN: r227129
Nathan Sidwell [Mon, 24 Aug 2015 14:06:12 +0000 (14:06 +0000)]
pr49551.c: Needs -fdata-sections.
* gcc/testsuite/gcc.dg/pr49551.c: Needs -fdata-sections.
* gcc/testsuite/gcc.dg/pr64935-2.c: Needs scheduling.
* gcc/testsuite/gcc.dg/torture/pr66101.c: Needs nonlocal goto.
* gcc/testsuite/gcc.dg/torture/pr63738.c: Likewise.
* gcc/testsuite/gcc.dg/torture/pr64728.c: Likewise.
* gcc/testsuite/gcc.dg/pr63748.c: Likewise.
* gcc/testsuite/gcc.dg/
20020312-2.c: Likewise.
* gcc/testsuite/gcc.dg/torture/pr66123.c: Needs label_values.
* gcc/testsuite/gcc.dg/torture/pr41261.c: Needs profiling.
* gcc/testsuite/gcc.dg/pr26570.c: Likewise.
* gcc/testsuite/gcc.dg/pr61776.c: Likewise.
* gcc/testsuite/gcc.dg/tree-ssa/ssa-lim-11.c: Likewise.
* gcc/testsuite/gcc.dg/gomp/pr34610.c: Likewise.
* gcc/testsuite/gcc.dg/pr54121.c: Likewise.
* gcc/testsuite/gcc.dg/
20050325-1.c: Likewise.
* gcc/testsuite/gcc.dg/pr66899.c: Likewise.
* gcc/testsuite/gcc.dg/pr48770.c: Likewise.
* gcc/testsuite/gcc.dg/pr24225.c: Likewise.
* gcc/testsuite/gcc.dg/pr27531-1.c: Needs io.
* gcc/testsuite/gcc.dg/pr44606.c: Likewise.
* gcc/testsuite/gcc.dg/tree-ssa/nonzero-1.c: Needs weak.
* gcc/testsuite/gcc.dg/pr51990.c: Needs alloca.
* gcc/testsuite/gcc.misc-tests/options.exp: Disable profiling
check for nvptx.
From-SVN: r227128
Jonathan Wakely [Mon, 24 Aug 2015 13:43:54 +0000 (14:43 +0100)]
re PR libstdc++/65049 (Undefined behaviour with std::char_traits<char>)
PR libstdc++/65049
* include/bits/char_traits.h (char_traits<char>::compare,
char_traits<char>::find, char_traits<char>::move,
char_traits<char>::copy, char_traits<char>::assign): Check for zero
length.
(char_traits<wchar_t>::compare, char_traits<wchar_t>::find,
char_traits<wchar_t>::move, char_traits<wchar_t>::copy,
char_traits<wchar_t>::assign): Likewise.
(char_traits<char16_t>::move, char_traits<char16_t>::copy): Likewise.
(char_traits<char32_t>::move, char_traits<char32_t>::copy): Likewise.
* include/ext/pod_char_traits.h (char_traits<character<>>::move,
char_traits<character<>>::copy): Likewise.
* testsuite/21_strings/char_traits/requirements/char/65049.cc: New.
* testsuite/21_strings/char_traits/requirements/char16_t/65049.cc:
New.
* testsuite/21_strings/char_traits/requirements/char32_t/65049.cc:
New.
* testsuite/21_strings/char_traits/requirements/wchar_t/65049.cc:
New.
From-SVN: r227127
Jonathan Wakely [Mon, 24 Aug 2015 13:43:36 +0000 (14:43 +0100)]
re PR libstdc++/67309 (Error compiling with -std=c++11 and -fsingle-precision-constant)
PR libstdc++/67309
* include/bits/random.tcc
(poisson_distribution::param_type::_M_initialize): Use max<double>.
(binomial_distribution::param_type::_M_initialize): Likewise.
* testsuite/17_intro/headers/c++200x/67309.cc: New.
* testsuite/17_intro/headers/c++200x/all_attributes.cc: Remove
redundant header.
From-SVN: r227126
Thomas Schwinge [Mon, 24 Aug 2015 13:20:31 +0000 (15:20 +0200)]
Makefile.am (include_src_dir): Set.
* plugin/Makefile.am (include_src_dir): Set.
[PLUGIN_HOST] (libgomp_plugin_intelmic_la_CPPFLAGS): Use it.
* plugin/Makefile.in: Regenerate.
* plugin/libgomp-plugin-intelmic.cpp: Include "gomp-constants.h".
From-SVN: r227125
Tom de Vries [Mon, 24 Aug 2015 13:14:17 +0000 (13:14 +0000)]
Optimize expand_omp_for_static_chunk for chunk_size one
2015-08-24 Tom de Vries <tom@codesourcery.com>
PR tree-optimization/65468
* omp-low.c (expand_omp_for_static_chunk): Remove inner loop if
chunk_size is one.
* gcc.dg/gomp/static-chunk-size-one.c: New test.
* testsuite/libgomp.c/static-chunk-size-one.c: New test.
From-SVN: r227124
Nathan Sidwell [Mon, 24 Aug 2015 12:43:54 +0000 (12:43 +0000)]
nvptx.c (walk_args_for_param): Revert previous change to nvptx_type_from_mode call.
* config/nvptx/nvptx.c (walk_args_for_param): Revert previous
change to nvptx_type_from_mode call. Use arg_promotion for both
split and non-split args.
From-SVN: r227123
Richard Sandiford [Mon, 24 Aug 2015 11:13:16 +0000 (11:13 +0000)]
target-insns.def (movstr): New pattern.
gcc/
* target-insns.def (movstr): New pattern.
* builtins.c (HAVE_movstr, CODE_FOR_movstr): Delete.
(expand_movstr): Use targetm rather than HAVE_movstr/
CODE_FOR_movstr.
From-SVN: r227121
Richard Sandiford [Mon, 24 Aug 2015 11:12:32 +0000 (11:12 +0000)]
microblaze.c (microblaze_classify_unspec): Fix cast syntax.
gcc/
* config/microblaze/microblaze.c (microblaze_classify_unspec): Fix
cast syntax.
From-SVN: r227120
Joost VandeVondele [Mon, 24 Aug 2015 11:01:25 +0000 (11:01 +0000)]
re PR libgomp/66761 (libgomp: ThreadSanitizer: data race in libgomp)
PR libgomp/66761
PR libgomp/67303
* iter.c (gomp_iter_dynamic_next): Employ an atomic load.
(gomp_iter_guided_next): Idem.
* iter_ull.c (gomp_iter_ull_dynamic_next): Idem.
(gomp_iter_ull_guided_next): Idem.
* config/linux/wait.h (do_spin): Idem.
From-SVN: r227119
Yaakov Selkowitz [Mon, 24 Aug 2015 10:24:52 +0000 (10:24 +0000)]
Missing parts of fixes for in-tree libiconv
(The previous iconv-related commit missed the config/iconv.m4 change.)
Original description:
This is the second in a series of patches to make a build with an
in-tree GNU libiconv work as designed.
Currently GDB is the only toolchain component which actually uses an
in-tree libiconv. This patch modifies the common AM_ICONV to use an
in-tree libiconv when present and not already provided by libc.
(GDB's workaround uses an in-tree libiconv even when libc provides
iconv(3); I'm not sure when or why that would be desirable.)
config/ChangeLog:
2015-08-24 Yaakov Selkowitz <yselkowi@redhat.com>
* iconv.m4 (AM_ICONV_LINK): Use in-tree libiconv when present.
---
config/ChangeLog | 4 +++
config/iconv.m4 | 47 +++++++++++++++++++++------
4 files changed, 112 insertions(+), 36 deletions(-)
diff --git a/config/iconv.m4 b/config/iconv.m4
index
c5f3579..
5f9304a 100644
--- a/config/iconv.m4
+++ b/config/iconv.m4
@@ -7,6 +7,7 @@ dnl that contains a configuration script generated by Autoconf, under
dnl the same distribution terms as the rest of that program.
dnl From Bruno Haible.
+dnl with modifications to support building with in-tree libiconv
AC_DEFUN([AM_ICONV_LINKFLAGS_BODY],
[
@@ -28,24 +29,51 @@ AC_DEFUN([AM_ICONV_LINK],
dnl accordingly.
AC_REQUIRE([AM_ICONV_LINKFLAGS_BODY])
- dnl Add $INCICONV to CPPFLAGS before performing the following checks,
- dnl because if the user has installed libiconv and not disabled its use
- dnl via --without-libiconv-prefix, he wants to use it. The first
- dnl AC_TRY_LINK will then fail, the second AC_TRY_LINK will succeed.
- am_save_CPPFLAGS="$CPPFLAGS"
- AC_LIB_APPENDTOVAR([CPPFLAGS], [$INCICONV])
-
AC_CACHE_CHECK(for iconv, am_cv_func_iconv, [
am_cv_func_iconv="no, consider installing GNU libiconv"
am_cv_lib_iconv=no
+ dnl Add $INCICONV to CPPFLAGS before performing the first check,
+ dnl because if the user has installed libiconv and not disabled its use
+ dnl via --without-libiconv-prefix, he wants to use it. This first
+ dnl AC_TRY_LINK will then fail, the second AC_TRY_LINK will succeed.
+ am_save_CPPFLAGS="$CPPFLAGS"
+ CPPFLAGS="$CPPFLAGS $INCICONV"
AC_TRY_LINK([#include <stdlib.h>
#include <iconv.h>],
[iconv_t cd = iconv_open("","");
iconv(cd,NULL,NULL,NULL,NULL);
iconv_close(cd);],
am_cv_func_iconv=yes)
+ CPPFLAGS="$am_save_CPPFLAGS"
+
+ if test "$am_cv_func_iconv" != yes && test -d ../libiconv; then
+ for _libs in .libs _libs; do
+ am_save_CPPFLAGS="$CPPFLAGS"
+ am_save_LIBS="$LIBS"
+ CPPFLAGS="$CPPFLAGS -I../libiconv/include"
+ LIBS="$LIBS ../libiconv/lib/$_libs/libiconv.a"
+ AC_TRY_LINK([#include <stdlib.h>
+#include <iconv.h>],
+ [iconv_t cd = iconv_open("","");
+ iconv(cd,NULL,NULL,NULL,NULL);
+ iconv_close(cd);],
+ INCICONV="-I../libiconv/include"
+ LIBICONV='${top_builddir}'/../libiconv/lib/$_libs/libiconv.a
+ LTLIBICONV='${top_builddir}'/../libiconv/lib/libiconv.la
+ am_cv_lib_iconv=yes
+ am_cv_func_iconv=yes)
+ CPPFLAGS="$am_save_CPPFLAGS"
+ LIBS="$am_save_LIBS"
+ if test "$am_cv_func_iconv" = "yes"; then
+ break
+ fi
+ done
+ fi
+
if test "$am_cv_func_iconv" != yes; then
+ am_save_CPPFLAGS="$CPPFLAGS"
am_save_LIBS="$LIBS"
+ CPPFLAGS="$LIBS $INCICONV"
LIBS="$LIBS $LIBICONV"
AC_TRY_LINK([#include <stdlib.h>
#include <iconv.h>],
@@ -54,6 +82,7 @@ AC_DEFUN([AM_ICONV_LINK],
iconv_close(cd);],
am_cv_lib_iconv=yes
am_cv_func_iconv=yes)
+ CPPFLAGS="$am_save_CPPFLAGS"
LIBS="$am_save_LIBS"
fi
])
@@ -61,12 +90,10 @@ AC_DEFUN([AM_ICONV_LINK],
AC_DEFINE(HAVE_ICONV, 1, [Define if you have the iconv() function.])
fi
if test "$am_cv_lib_iconv" = yes; then
+ AC_LIB_APPENDTOVAR([CPPFLAGS], [$INCICONV])
AC_MSG_CHECKING([how to link with libiconv])
AC_MSG_RESULT([$LIBICONV])
else
- dnl If $LIBICONV didn't lead to a usable library, we don't need $INCICONV
- dnl either.
- CPPFLAGS="$am_save_CPPFLAGS"
LIBICONV=
LTLIBICONV=
fi
--
1.9.3
From-SVN: r227118
Andrew Pinski [Mon, 24 Aug 2015 09:56:48 +0000 (09:56 +0000)]
Remove the hack for AARCH64_EXTRA_TUNE_ALL.
2015-08-24 Andrew Pinski <apinski@cavium.com>
* config/aarch64/aarch64-tuning-flags.def: Remove all index to
AARCH64_EXTRA_TUNING_OPTION.
* config/aarch64/aarch64-protos.h (aarch64_extra_tuning_flags_index): New enum.
(aarch64_extra_tuning_flags): Base the shifted value on the index instead
of the argument to AARCH64_EXTRA_TUNING_OPTION.
* config/aarch64/aarch64.c: Remove the last argument to
AARCH64_EXTRA_TUNING_OPTION.
From-SVN: r227117
GCC Administrator [Mon, 24 Aug 2015 00:16:14 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r227110
François-Xavier Coudert [Sun, 23 Aug 2015 21:56:46 +0000 (21:56 +0000)]
* ChangeLog: fix previous entry.
From-SVN: r227107
Francois-Xavier Coudert [Sun, 23 Aug 2015 21:50:30 +0000 (21:50 +0000)]
re PR libfortran/54572 (Use libbacktrace library)
PR libfortran/54572
* Makefile.def: Make libgfortran depend on libbacktrace.
* Makefile.in: Regenerate.
* config-lang.in: Add libbacktrace to target_libs.
* Makefile.am (libgfortran_la_LDFLAGS): Link in libbacktrace.
(AM_CPPFLAGS): Add libbacktrace directories to include paths.
* Makefile.in: Regenerate.
* aclocal.m4: Regenerate.
* config.h.in: Regenerate.
* configure: Regenerate.
* configure.ac: Remove checks for strtok_r, wait, execve, pipe,
and dup2. Remove call to GCC_CHECK_UNWIND_GETIPINFO.
* libgfortran.h (full_exe_path, find_addr2line, backtrace): Remove
prototypes.
(show_backtrace): Add prototype.
* runtime/backtrace.c: Rework file entirely.
* runtime/compile_options.c (backtrace_handler): Rename backtrace
to show_backtrace.
(maybe_find_addr2line): Remove function.
(set_options): Remove call to maybe_find_addr2line.
* runtime/error.c (sys_abort): Rename backtrace to show_backtrace.
* runtime/main.c (store_exe_path): Empty function body.
(full_exe_path, gfstrtok_r, find_addr2line): Remove functions.
(cleanup): Don't free removed variables.
* runtime/minimal.c (full_exe_path): Remove function.
(set_args): Don't set exe_path.
* gfortran.dg/backtrace_1.f90: New test.
From-SVN: r227106
François-Xavier Coudert [Sun, 23 Aug 2015 21:24:49 +0000 (21:24 +0000)]
re PR libfortran/62296 (EXECUTE_COMMAND_LINE not F2008 conforming)
PR libfortran/62296
* intrinsics/execute_command_line.c (EXEC_INVALIDCOMMAND): New
error code.
(cmdmsg_values): New error message.
(set_cmdstat): Rework runtime error.
(execute_command_line): Handle invalid command line error status.
* gfortran.dg/execute_command_line_2.f90: New test.
From-SVN: r227105
Nathan Sidwell [Sun, 23 Aug 2015 14:37:09 +0000 (14:37 +0000)]
nvptx.c (walk_args_for_param): Promote arg reg decls.
* config/nvptx/nvptx.c (walk_args_for_param): Promote arg reg
decls.
(nvptx_declare_function_name): Insert formatting tabs for
consistency.
From-SVN: r227104
Tom de Vries [Sun, 23 Aug 2015 09:19:32 +0000 (09:19 +0000)]
Don't create superfluous parm in expand_omp_taskreg
2015-08-23 Tom de Vries <tom@codesourcery.com>
* omp-low.c (expand_omp_taskreg): If in ssa, set rhs of parcopy stmt to
parm_decl, rather than generating a dummy default def in cfun.
* tree-cfg.c (replace_ssa_name): Assume no default defs. Make sure
ssa_name from cfun and child_fn do not share a stmt as def stmt.
(move_stmt_op): Handle PARM_DECl.
(gather_ssa_name_hash_map_from): New function.
(move_sese_region_to_fn): Add default defs for function params, and add
them to vars_map. Release copied ssa names.
* tree-cfg.h (gather_ssa_name_hash_map_from): Declare.
From-SVN: r227103
Tom de Vries [Sun, 23 Aug 2015 08:35:41 +0000 (08:35 +0000)]
Rename vect_no_int_max to vect_no_int_min_max
2015-08-23 Tom de Vries <tom@codesourcery.com>
* gcc.dg/vect/trapv-vect-reduc-4.c: Use vect_no_int_min_max.
* gcc.dg/vect/costmodel/i386/costmodel-vect-reduc-1char.c: Rename
vect_no_int_max to vect_no_int_min_max.
* gcc.dg/vect/costmodel/ppc/costmodel-vect-reduc-1char.c: Same.
* gcc.dg/vect/costmodel/x86_64/costmodel-vect-reduc-1char.c: Same.
* gcc.dg/vect/no-scevccp-noreassoc-slp-reduc-7.c: Same.
* gcc.dg/vect/slp-reduc-4.c: Same.
* gcc.dg/vect/slp-reduc-5.c: Same.
* gcc.dg/vect/vect-125.c: Same.
* gcc.dg/vect/vect-13.c: Same.
* gcc.dg/vect/vect-double-reduc-3.c: Same.
* gcc.dg/vect/vect-reduc-1.c: Same.
* gcc.dg/vect/vect-reduc-1char-big-array.c: Same.
* gcc.dg/vect/vect-reduc-1char.c:Same.
* gcc.dg/vect/vect-reduc-1short.c: Same.
* gcc.dg/vect/vect-reduc-2.c: Same.
* gcc.dg/vect/wrapv-vect-reduc-2char.c: Same.
* gcc.dg/vect/wrapv-vect-reduc-2short.c: Same.
* lib/target-supports.exp: Same.
* doc/sourcebuild.texi: Rename vect_no_int_max with
vect_no_int_min_max. Update description.
From-SVN: r227102
GCC Administrator [Sun, 23 Aug 2015 00:16:20 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r227101
Paolo Carlini [Sat, 22 Aug 2015 17:44:46 +0000 (17:44 +0000)]
re PR c++/63693 (ICE in resolve_typename_type)
/cp
2015-08-22 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/63693
* pt.c (resolve_typename_type): Use CLASSTYPE_PRIMARY_TEMPLATE_TYPE
only on class types.
/testsuite
2015-08-22 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/63693
* g++.dg/cpp0x/decltype63.C: New.
From-SVN: r227098
Nathan Sidwell [Sat, 22 Aug 2015 15:09:03 +0000 (15:09 +0000)]
Wsizeof-pointer-memaccess1.c: Require alloca.
* c-c++-common/Wsizeof-pointer-memaccess1.c: Require alloca.
* c-c++-common/Wsizeof-pointer-memaccess2.c: Likewise.
* c-c++-common/Wunused-var-8.c: Likewise.
* c-c++-common/gomp/pr61486-2.c: Likewise.
* c-c++-common/Wunused-var-6.c: Likewise.
* c-c++-common/goacc/reduction-1.c: Likewise.
* c-c++-common/goacc/reduction-2.c: Likewise.
* c-c++-common/goacc/reduction-3.c: Likewise.
* c-c++-common/goacc/reduction-4.c: Likewise.
* gcc.dg/builtins-64.c: Likewise.
* gcc.dg/pr59523.c: Likewise.
* gcc.dg/tree-ssa/
20080530.c: Likewise.
* gcc.dg/tree-ssa/pr23848-2.c: Likewise.
* gcc.dg/tree-ssa/pr23848-4.c: Likewise.
* gcc.dg/tree-ssa/pr23848-1.c: Likewise.
* gcc.dg/tree-ssa/pr23848-3.c: Likewise.
* gcc.dg/tree-ssa/
20030807-2.c: Likewise.
* gcc.dg/pr59011.c: Likewise.
* gcc.dg/uninit-9.c: Likewise.
* gcc.dg/pr61561.c: Likewise.
* gcc.dg/vla-4.c: Likewise.
* gcc.dg/
20101010-1.c: Likewise.
* gcc.dg/pr49120.c: Likewise.
* gcc.dg/
20030331-2.c: Likewise.
* gcc.dg/compat/struct-by-value-22_main.c: Likewise.
* gcc.dg/pr25682.c: Likewise.
* gcc.dg/guality/guality.c: Likewise.
* gcc.dg/pr27301.c: Likewise.
* gcc.dg/uninit-9-O0.c: Likewise.
* gcc.dg/fold-alloca-1.c: Likewise.
* gcc.dg/pr41470.c: Likewise.
* gcc.dg/pr51491-2.c: Likewise.
* gcc.dg/winline-7.c: Likewise.
* gcc.dg/vla-2.c: Likewise.
* gcc.dg/pr50764.c: Likewise.
* gcc.dg/c99-vla-1.c: Likewise.
* gcc.dg/pr33238.c: Likewise.
* gcc.dg/c99-const-expr-13.c: Likewise.
* gcc.dg/builtin-return-1.c: Likewise.
* gcc.dg/vla-3.c: Likewise.
* gcc.dg/
20020415-1.c: Likewise.
* gcc.dg/Wsizeof-pointer-memaccess1.c: Likewise.
* gcc.dg/shrink-wrap-alloca.c: Likewise.
* gcc.dg/Wstrict-aliasing-bogus-vla-1.c: Likewise.
* gcc.dg/torture/calleesave-sse.c: Likewise.
* gcc.dg/torture/Wsizeof-pointer-memaccess1.c: Likewise.
* gcc.dg/gomp/vla-2.c: Likewise.
* gcc.dg/gomp/vla-3.c: Likewise.
* gcc.dg/gomp/vla-4.c: Likewise.
* gcc.dg/gomp/pr30494.c: Likewise.
* gcc.dg/gomp/vla-5.c: Likewise.
* gcc.dg/pr51990-2.c: Likewise.
* gcc.dg/vla-22.c: Likewise.
From-SVN: r227097
Manuel López-Ibáñez [Sat, 22 Aug 2015 12:44:51 +0000 (12:44 +0000)]
Fix column location in c_lex_with_flags errors
gcc/testsuite/ChangeLog:
2015-08-22 Manuel López-Ibáñez <manu@gcc.gnu.org>
* gcc.dg/cpp/multiline-2.c: Add column numbers.
* gcc.dg/dollar.c: Likewise.
* gcc.dg/pragma-message.c: Likewise.
* g++.dg/cpp1y/digit-sep-neg.C: Likewise.
* c-c++-common/raw-string-14.c: Likewise.
gcc/c-family/ChangeLog:
2015-08-22 Manuel López-Ibáñez <manu@gcc.gnu.org>
* c-lex.c (c_lex_with_flags): Use explicit locations.
From-SVN: r227096
Andrew Pinski [Sat, 22 Aug 2015 06:49:32 +0000 (06:49 +0000)]
Remove index from AARCH64_FUSION_PAIR
Instead of doing an explict index in aarch64-fusion-pairs.def, we
should have an enum which does the index instead. This allows
you to add/remove them without worrying about the order being
correct and having holes or worry about merge conficts.
OK? Bootstrapped and tested on aarch64-linux-gnu with no regressions.
ChangeLog:
* aarch64-fusion-pairs.def: Remove all index to AARCH64_FUSION_PAIR.
* config/aarch64/aarch64-protos.h (aarch64_fusion_pairs_index): New enum.
(aarch64_fusion_pairs): Base the shifted value on the index instead
Rewrite AARCH64_FUSE_ALL to be based on the end index.
of the argument to AARCH64_FUSION_PAIR.
* config/aarch64/aarch64.c: Remove the last argument to AARCH64_FUSION_PAIR.
From-SVN: r227094
Mikhail Maltsev [Sat, 22 Aug 2015 03:20:13 +0000 (03:20 +0000)]
Refactor dominance.c: define dom_info as C++ class
gcc/
* dominance.c (new_zero_array): Define.
(dom_info): Redefine as class with proper encapsulation.
(dom_info::m_n_basic_blocks, m_reverse, m_start_block, m_end_block):
Add new members.
(dom_info::dom_info, ~dom_info): Define. Use new/delete for memory
allocations/deallocations. Pass function as parameter (instead of
using cfun).
(dom_info::get_idom): Define accessor method.
(dom_info::calc_dfs_tree_nonrec, calc_dfs_tree, compress, eval,
link_roots, calc_idoms): Redefine as class members. Do not use cfun.
(calculate_dominance_info): Adjust to use dom_info class.
(verify_dominators): Likewise.
From-SVN: r227093
GCC Administrator [Sat, 22 Aug 2015 00:16:12 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r227092
Patrick Palka [Fri, 21 Aug 2015 20:25:47 +0000 (20:25 +0000)]
Adjust g++.old-deja/g++.jason/overload.C
gcc/testsuite/ChangeLog:
* g++.old-deja/g++.jason/overload.C: Adjust to preserve original
property that instantiation here is a compile-time error.
From-SVN: r227088
Alexandre Oliva [Fri, 21 Aug 2015 20:03:33 +0000 (20:03 +0000)]
fix -fdump-unnumbered-links
for gcc/ChangeLog
* print-rtl.c (print_rtx): Check the correct range for
flag_dump_unnumbered_links to behave as documented.
From-SVN: r227086
Alexandre Oliva [Fri, 21 Aug 2015 20:03:14 +0000 (20:03 +0000)]
fix sched compare regression
for gcc/ChangeLog
PR rtl-optimization/64164
PR rtl-optimization/67227
* alias.c (memrefs_conflict_p): Handle VALUEs in PLUS better.
(nonoverlapping_memrefs_p): Test offsets and sizes when given
identical gimple_reg exprs.
From-SVN: r227085
Nathan Sidwell [Fri, 21 Aug 2015 19:34:34 +0000 (19:34 +0000)]
nvptx.md (allocate_stack): Emit sorry during expansion.
* config/nvptx/nvptx.md (allocate_stack): Emit sorry during
expansion.
* config/nvptx/nvptx.c (nvptx_declare_function_name): Look at
crtl->stack_alignment_needed to determine alignment.
(nvptx_get_drap_rtx): New.
(TARGET_GET_DRAP_RTX): Override.
* config/nvptx/nvptx.h (MAX_STACK_ALIGNMENT): Set.
From-SVN: r227084