- 26 Aug, 2015 21 commits
-
-
* 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
Jonathan Wakely committed -
From-SVN: r227231
Michael Meissner committed -
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
Michael Meissner committed -
* 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 committed -
PR libstdc++/66902 * src/c++11/debug.cc (_S_debug_messages): Give internal linkage. From-SVN: r227228
Jonathan Wakely committed -
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
Ian Lance Taylor committed -
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
Renlin Li committed -
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
Jiong Wang committed -
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 committed -
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 committed -
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
Matthew Wahab committed -
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 committed -
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
Jiong Wang committed -
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
Matthew Wahab committed -
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 committed -
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
Jiong Wang committed -
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
Matthew Wahab committed -
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 committed -
* 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
Francois-Xavier Coudert committed -
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
Naveen H.S committed -
From-SVN: r227206
GCC Administrator committed
-
- 25 Aug, 2015 19 commits
-
-
* configure.ac: Only compile with -fPIC if the target supports it. * configure: Regenerate. From-SVN: r227203
Hans-Peter Nilsson committed -
Fixes golang/go#11529. Reviewed-on: https://go-review.googlesource.com/13790 From-SVN: r227201
Ian Lance Taylor committed -
* gcc.c (driver::finalize): Only assign to extra_specs if [EXTRA_SPECS]. From-SVN: r227194
Joseph Myers committed -
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 committed -
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
Ian Lance Taylor committed -
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
Marek Polacek committed -
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
François Dumont committed -
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
David Malcolm committed -
From-SVN: r227187
François Dumont committed -
From-SVN: r227186
Nathan Sidwell committed -
* optabs.c (emit_indirect_jump): Don't try an emit a jump if the target doesn't have one. From-SVN: r227185
Nathan Sidwell committed -
Fixes golang/go#11546. Reviewed-on: https://go-review.googlesource.com/13795 From-SVN: r227184
Ian Lance Taylor committed -
"*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 committed -
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
Segher Boessenkool committed -
* io/unit.c (get_internal_unit): Make default sign mode unspecified. (init_units): Make default sign mode unspecified. From-SVN: r227178
Francois-Xavier Coudert committed -
* 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
Nathan Sidwell committed -
From-SVN: r227174
Francois-Xavier Coudert committed -
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
Thomas Schwinge committed -
* config/nvptx/nvptx.c (nvptx_write_function_decl): Reformat. (nvptx_reorg_subreg): Pass insn pattern to asm_operands. From-SVN: r227169
Nathan Sidwell committed
-