1. 14 Jul, 2017 9 commits
    • [ARM] Rewire -mfpu=fp-armv8 as VFPv5 + D32 + DP · c8d61ab8
      fp-armv8 is currently defined as a double precision FPv5 with 32 D
      registers *and* a special FP_ARMv8 bit. However FP for ARMv8 should only
      bring 32 D registers on top of FPv5-D16 so this FP_ARMv8 bit is
      spurious. As a consequence, many instruction patterns which are guarded
      by TARGET_FPU_ARMV8 are unavailable to FPv5-D16 and FPv5-SP-D16.
      
      This commit gets rid of TARGET_FPU_ARMV8 and rewire all uses to
      expressions based on TARGET_VFP5, TARGET_VFPD32 and TARGET_VFP_DOUBLE.
      It also redefine ISA_FP_ARMv8 to include the D32 capability to
      distinguish it from FPv5-D16. At last, it sets the +fp.sp for ARMv8-R to
      enable FPv5-SP-D16 (ie FP for ARMv8 with single precision only and 16 D
      registers).
      
      2017-07-14  Thomas Preud'homme  <thomas.preudhomme@arm.com>
      
          gcc/
          * config/arm/arm-isa.h (isa_bit_FP_ARMv8): Delete enumerator.
          (ISA_FP_ARMv8): Define as ISA_FPv5 and ISA_FP_D32.
          * config/arm/arm-cpus.in (armv8-r): Define fp.sp as enabling FPv5.
          (fp-armv8): Define it as FP_ARMv8 only.
          config/arm/arm.h (TARGET_FPU_ARMV8): Delete.
          (TARGET_VFP_FP16INST): Define using TARGET_VFP5 rather than
          TARGET_FPU_ARMV8.
          config/arm/arm.c (arm_rtx_costs_internal): Replace checks against
          TARGET_FPU_ARMV8 by checks against TARGET_VFP5.
          * config/arm/arm-builtins.c (arm_builtin_vectorized_function): Define
          first ARM_CHECK_BUILTIN_MODE definition using TARGET_VFP5 rather
          than TARGET_FPU_ARMV8.
          * config/arm/arm-c.c (arm_cpu_builtins): Likewise for
          __ARM_FEATURE_NUMERIC_MAXMIN macro definition.
          * config/arm/arm.md (cmov<mode>): Condition on TARGET_VFP5 rather than
          TARGET_FPU_ARMV8.
          * config/arm/neon.md (neon_vrint): Likewise.
          (neon_vcvt): Likewise.
          (neon_<fmaxmin_op><mode>): Likewise.
          (<fmaxmin><mode>3): Likewise.
          * config/arm/vfp.md (l<vrint_pattern><su_optab><mode>si2): Likewise.
          * config/arm/predicates.md (arm_cond_move_operator): Check against
          TARGET_VFP5 rather than TARGET_FPU_ARMV8 and fix spacing.
      
      From-SVN: r250204
      Thomas Preud'homme committed
    • c/c++: Add fix-it hints for suggested missing #includes · eea77d1f
      gcc/c-family/ChangeLog:
      	* c-common.c (try_to_locate_new_include_insertion_point): New
      	function.
      	(per_file_includes_t): New typedef.
      	(added_includes_t): New typedef.
      	(added_includes): New variable.
      	(maybe_add_include_fixit): New function.
      	* c-common.h (maybe_add_include_fixit): New decl.
      
      gcc/c/ChangeLog:
      	* c-decl.c (implicitly_declare): When suggesting a missing
      	#include, provide a fix-it hint.
      
      gcc/cp/ChangeLog:
      	* name-lookup.c (get_std_name_hint): Add '<' and '>' around
      	the header names.
      	(maybe_suggest_missing_header): Update for addition of '<' and '>'
      	to above.  Provide a fix-it hint.
      	* pt.c: Include "gcc-rich-location.h"
      	(listify): Attempt to add fix-it hint for missing
      	#include <initializer_list>.
      	* rtti.c: Include "gcc-rich-location.h".
      	(typeid_ok_p): Attempt to add fix-it hint for missing
      	#include <typeinfo>.
      
      gcc/testsuite/ChangeLog:
      	* g++.dg/cpp0x/missing-initializer_list-include.C: New test case.
      	* g++.dg/lookup/missing-std-include-2.C: New test case.
      	* g++.dg/lookup/missing-std-include-3.C: New test case.
      	* g++.dg/rtti/missing-typeinfo-include.C: New test case.
      	* gcc.dg/missing-header-fixit-1.c: New test case.
      	* gcc.dg/missing-header-fixit-2.c: New test case.
      	* gcc.dg/missing-header-fixit-2.h: New header.
      
      From-SVN: r250203
      David Malcolm committed
    • [Patch][Aarch64] Refactor comments in aarch64_print_operand · bcf19844
      This patch refactors comments in config/aarch64/aarch64.c aarch64_print_operand
      to provide a table of aarch64 specific formating options.
      
      ---
      gcc/
      
      2017-07-14  Jackson Woodruff  <jackson.woodruff@arm.com>
      
      	* config/aarch64/aarch64.c (aarch64_print_operand): Move comments
      	to top of function.
      
      From-SVN: r250202
      Jackson Woodruff committed
    • Update comment in gimple-ssa-store-merging.c · a848c710
      	* gimple-ssa-store-merging.c (clear_bit_region): Replace reference to
      	loop in comment with memset.
      
      From-SVN: r250201
      Kyrylo Tkachov committed
    • re PR sanitizer/81066 (sanitizer_stoptheworld_linux_libcdep.cc:276:22: error:… · 144e36a7
      re PR sanitizer/81066 (sanitizer_stoptheworld_linux_libcdep.cc:276:22: error: aggregate ‘sigaltstack handler_stack’ has incomplete type and cannot be defined)
      
      	PR sanitizer/81066
      	* sanitizer_common/sanitizer_linux.h: Cherry-pick upstream r307969.
      	* sanitizer_common/sanitizer_linux.cc: Likewise.
      	* sanitizer_common/sanitizer_stoptheworld_linux_libcdep.cc: Likewise.
      	* tsan/tsan_platform_linux.cc: Likewise.
      
      From-SVN: r250200
      Jakub Jelinek committed
    • Remove Java references in source code. · ed5cd5bc
      2017-07-14  Martin Liska  <mliska@suse.cz>
      
      	* cfgexpand.c (expand_gimple_basic_block): Remove dead comment.
      	* dwarf2out.c (is_java): Remove the function.
      	(output_pubname): Remove usage of the function.
      	(lower_bound_default): Remove usage of DW_LANG_Java.
      	(gen_compile_unit_die): Likewise.
      	* gcc.c: Remove compiler defaults for .java and .zip files.
      	* gimple-expr.c (remove_suffix): Change as there's no longer
      	extension than 4-letter one.
      	* gimplify.c (mostly_copy_tree_r): Remove Java-special part.
      	(gimplify_save_expr): Likewise.
      	* ipa-utils.h (polymorphic_type_binfo_p): Remove the comment
      	as it's possible even for other languages than Java.
      	* langhooks.h (struct lang_hooks): Remove Java from a comment.
      	* lto-opts.c (lto_write_options): Remove reference to Java.
      	* opts.c (strip_off_ending): Update file extension handling.
      	* tree-cfg.c (verify_gimple_call): Remove comment with Java.
      	* tree-eh.c (lower_resx): Likewise.
      	* tree.c (free_lang_data_in_type): Remove dead code.
      	(find_decls_types_r): Likewise.
      	(build_common_builtin_nodes): Remove Java from a comment.
      	(verify_type): Remove dead code.
      	* varasm.c (assemble_external): Remove Java from a comment.
      
      From-SVN: r250199
      Martin Liska committed
    • Add additional quotes to opts.c. · 4f4b35a0
      2017-07-14  Martin Liska  <mliska@suse.cz>
      
      	* opts.c (finish_options): Add quotes.
      	(common_handle_option): Likewise.
      
      From-SVN: r250198
      Martin Liska committed
    • Remove Pascal language in source code. · d6d4718a
      2017-07-14  Martin Liska  <mliska@suse.cz>
      
      	* dbxout.c (get_lang_number): Do not handle GNU Pascal.
      	* dbxout.h (extern void dbxout_stab_value_internal_label_diff):
      	Remove N_SO_PASCAL.
      	* dwarf2out.c (lower_bound_default): Do not handle
      	DW_LANG_Pascal83.
      	(gen_compile_unit_die): Likewise.
      	* gcc.c: Remove default extension binding for GNU Pascal.
      	* stmt.c: Remove Pascal language from a comment.
      	* xcoffout.c: Likewise.
      
      From-SVN: r250197
      Martin Liska committed
    • Daily bump. · f16b1783
      From-SVN: r250195
      GCC Administrator committed
  2. 13 Jul, 2017 13 commits
  3. 12 Jul, 2017 13 commits
    • re PR target/81193 (PowerPC GCC __builtin_cpu_is and __builtin_cpu_supports… · 3787ee47
      re PR target/81193 (PowerPC GCC __builtin_cpu_is and __builtin_cpu_supports should warn about old libraries)
      
      [gcc]
      2017-07-12  Michael Meissner  <meissner@linux.vnet.ibm.com>
      
      	PR target/81193
      	* config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): If GLIBC
      	provides the hardware capability bits, define the macro
      	__BUILTIN_CPU_SUPPORTS__.
      	* config/rs6000/rs6000.c (cpu_expand_builtin): Generate a warning
      	if GLIBC does not provide the hardware capability bits.  Add a
      	gcc_unreachable call if the built-in cpu function is neither
      	__builtin_cpu_is nor __builtin_cpu_supports.
      	(rs6000_get_function_versions_dispatcher): Change the warning
      	that an old GLIBC is used which does not export the capability
      	bits to be an error.
      	* doc/extend.texi (target_clones attribute): Document the
      	restriction that GLIBC 2.23 or newer is needed on the PowerPC.
      	(PowerPC built-in functions): Document that GLIBC 2.23 or newer is
      	needed by __builtin_cpu_is and __builtin_cpu_supports.  Document
      	the macros defined by GCC if the newer GLIBC is available.
      
      [gcc/testsuite]
      2017-07-12  Michael Meissner  <meissner@linux.vnet.ibm.com>
      
      	PR target/81193
      	* gcc.target/powerpc/bmi-andn-1.c: Add guard against using
      	__builtin_cpu_supports with old GLIBC's.
      	* gcc.target/powerpc/bmi-andn-2.c: Likewise.
      	* gcc.target/powerpc/bmi-bextr-1.c: Likewise.
      	* gcc.target/powerpc/bmi-bextr-2.c: Likewise.
      	* gcc.target/powerpc/bmi-bextr-4.c: Likewise.
      	* gcc.target/powerpc/bmi-bextr-5.c: Likewise.
      	* gcc.target/powerpc/bmi-blsi-1.c: Likewise.
      	* gcc.target/powerpc/bmi-blsi-2.c: Likewise.
      	* gcc.target/powerpc/bmi-blsmsk-1.c: Likewise.
      	* gcc.target/powerpc/bmi-blsmsk-2.c: Likewise.
      	* gcc.target/powerpc/bmi-blsr-1.c: Likewise.
      	* gcc.target/powerpc/bmi-blsr-2.c: Likewise.
      	* gcc.target/powerpc/bmi-tzcnt-1.c: Likewise.
      	* gcc.target/powerpc/bmi-tzcnt-2.c: Likewise.
      	* gcc.target/powerpc/bmi2-bzhi32-1.c: Likewise.
      	* gcc.target/powerpc/bmi2-bzhi64-1.c: Likewise.
      	* gcc.target/powerpc/bmi2-mulx32-1.c: Likewise.
      	* gcc.target/powerpc/bmi2-mulx32-2.c: Likewise.
      	* gcc.target/powerpc/bmi2-mulx64-1.c: Likewise.
      	* gcc.target/powerpc/bmi2-mulx64-2.c: Likewise.
      	* gcc.target/powerpc/bmi2-pdep32-1.c: Likewise.
      	* gcc.target/powerpc/bmi2-pdep64-1.c: Likewise.
      	* gcc.target/powerpc/bmi2-pext32-1.c: Likewise.
      	* gcc.target/powerpc/bmi2-pext64-1.c: Likewise.
      	* gcc.target/powerpc/cpu-builtin-1.c: Likewise.
      
      [libgcc]
      2017-07-12  Michael Meissner  <meissner@linux.vnet.ibm.com>
      
      	PR target/81193
      	* configure.ac (PowerPC float128 hardware support): Test whether
      	we can use __builtin_cpu_supports before enabling the ifunc
      	handler.
      	* configure: Regenerate.
      
      From-SVN: r250165
      Michael Meissner committed
    • riscv.c: Remove unnecessary includes. · 1b68a156
      	* config/riscv/riscv.c: Remove unnecessary includes.  Reorder
      	remaining includes slightly.
      	* config/riscv/riscv-builtins.c: Include profile-count.h.
      
      From-SVN: r250162
      Jeff Law committed
    • libcp1plugin.cc (plugin_build_decl): Use DECL_CXX_{CON,DE}STRUCTOR directly. · 75f8b378
      	* libcp1plugin.cc (plugin_build_decl): Use
      	DECL_CXX_{CON,DE}STRUCTOR directly.
      
      From-SVN: r250159
      Nathan Sidwell committed
    • cp-tree.h (DECL_CONSTRUCTOR_P, [...]): Look at identifier flags. · 3da3dcdb
      	* cp-tree.h (DECL_CONSTRUCTOR_P, DECL_MAYBE_IN_CHARGE_CONSTRUCTOR,
      	DECL_DESTRUCTOR_P, DECL_MAYBE_IN_CHARGE_DESTRCTOR): Look at
      	identifier flags.
      	* decl.c (grokfndecl): Set DECL_CXX_CONSTRUCTOR and
      	DECL_CXX_DESTRUCTOR explicitly.
      	* decl2.c (grokclassfn): Likewise.
      	* friend.c (do_friend): Likewise.
      	* method.c (make_thunk, make_alias_for,
      	implicitly_declare_fn): Likewise.
      
      From-SVN: r250158
      Nathan Sidwell committed
    • re PR target/79883 (avr i18n: untranslated "interrupt" or "signal") · 1bde114a
      	PR target/79883
      	* config/avr/avr.c (avr_set_current_function): In diagnostic
      	messages: Quote keywords and (parts of) identifiers.
      	[WITH_AVRLIBC]: Warn for functions named "ISR", "SIGNAL" or
      	"INTERUPT".
      
      From-SVN: r250156
      Georg-Johann Lay committed
    • rs6000-c.c: Add support for built-in functions vector bool char vec_revb (vector bool char)... · 118009c1
      gcc/ChangeLog:
      
      2017-07-12  Carl Love  <cel@us.ibm.com>
      
      	* config/rs6000/rs6000-c.c: Add support for built-in functions
      	vector bool char vec_revb (vector bool char);
      	vector bool short vec_revb (vector short char);
      	vector bool int vec_revb (vector bool int);
      	vector bool long long vec_revb (vector bool long long);
      	* doc/extend.texi: Update the built-in documentation file for the
      	new built-in functions.
      
      gcc/testsuite/ChangeLog:
      
      2017-07-12  Carl Love  <cel@us.ibm.com>
      
      	* gcc.target/powerpc/p9-xxbr-1.c (rev_bool_char, rev_bool_short,
      	rev_bool_int): Add test cases for builtins.
      	* gcc.target/powerpc/p9-xxbr-2.c (rev_long_long, rev_ulong_ulong): Add
      	test cases for builtins.
      
      From-SVN: r250155
      Carl Love committed
    • builtins-1-p9-runnable.c (dg-ddo run): Add lp64 && p9vector_hw. · 5d7b8153
      gcc/testsuite/ChangeLog:
      
      2017-07-12  Carl Love  <cel@us.ibm.com>
      
      	* gcc.target/powerpc/builtins-1-p9-runnable.c (dg-ddo run): Add
      	lp64 && p9vector_hw.
      
      From-SVN: r250154
      Carl Love committed
    • S/390: Remove loc splitter · 561f6312
      The backend splitter splitting a 3 operand load on condition into 2 is
      wrong.  The S/390 load on condition instruction might trap on the
      memory operand even if the condition is false.  So if the first load
      on condition overwrites a register used as part of the memory address
      of the second the second might trigger a segfault even if it does not
      actually perform the load.
      
      Trying to fix this I noticed that the generated code looks anyway
      better without the splitter.  So removing the splitter entirely is the
      way to go here.
      
      gcc/ChangeLog:
      
      2017-07-12  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
      
      	* config/s390/s390.md: Remove movcc splitter.
      
      From-SVN: r250153
      Andreas Krebbel committed
    • S/390: Calculate costs for load/store on condition · e5309d95
      This adds code to the backend rtx_costs function in order to model the
      costs of a load/store on condition.
      
      gcc/ChangeLog:
      
      2017-07-12  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
      
      	* config/s390/s390.c (s390_rtx_costs): Return proper costs for
      	load/store on condition.
      
      From-SVN: r250152
      Andreas Krebbel committed
    • re PR target/81407 ([avr] Diagnose if a variable in progmem needs constructing.) · 8b718de8
      	PR target/81407
      	* config/avr/avr.c (avr_encode_section_info)
      	[progmem && !TREE_READONLY]: Error if progmem object needs
      	constructing.
      
      From-SVN: r250151
      Georg-Johann Lay committed
    • [testsuite] Fix dg-require-stack-check · 6ea93a64
      2017-07-12  Christophe Lyon  <christophe.lyon@linaro.org>
      
      	* lib/target-supports.exp (check_stack_check_available): Make
      	testcase name depend on stack_kind.
      
      From-SVN: r250149
      Christophe Lyon committed
    • aarch64-simd.md (aarch64_sub<mode>_compare0): New pattern. · 2f65ab2e
      2017-07-11  Michael Collison  <michael.collison@arm.com>
      
      	* config/aarch64/aarch64-simd.md(aarch64_sub<mode>_compare0):
      	New pattern.
      	* testsuite/gcc.target/aarch64/cmp-2.c: New testcase.
      
      From-SVN: r250148
      Michael Collison committed
    • Daily bump. · ee665f0a
      From-SVN: r250147
      GCC Administrator committed
  4. 11 Jul, 2017 5 commits
    • re PR c++/51270 (missed warning about returning reference to temporary) · 9e028cef
      2017-07-11  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	PR c++/51270
      	* g++.dg/warn/Wreturn-local-addr-3.C: New.
      
      From-SVN: r250140
      Paolo Carlini committed
    • Core DR 393 - parameter pointer to array of unknown bound · 19cf5a70
      	* decl.c (grokparms): Downgrade error about array of unknown bound
      	to pedwarn and disable it for C++17.
      
      From-SVN: r250137
      Jason Merrill committed
    • rs6000-c.c: Add support for builtins vector unsigned int vec_parity_lsbb (vector signed int)... · f281956e
      gcc/ChangeLog:
      
      2017-07-11  Carl Love  <cel@us.ibm.com>
      
      	* config/rs6000/rs6000-c.c: Add support for builtins
      	vector unsigned int vec_parity_lsbb (vector signed int);
      	vector unsigned int vec_parity_lsbb (vector unsigned int);
      	vector unsigned __int128 vec_parity_lsbb (vector signed __int128);
      	vector unsigned __int128 vec_parity_lsbb (vector unsigned __int128);
      	vector unsigned long long vec_parity_lsbb (vector signed long long);
      	vector unsigned long long vec_parity_lsbb (vector unsigned long long);
      	* config/rs6000/rs6000-builtin.def (VPARITY_LSBB): Add BU_P9V_OVERLOAD1.
      	* config/rs6000/altivec.h (vec_parity_lsbb): Add define.
      	* doc/extend.texi: Update the built-in documentation file for the
      	new built-in functions.
      
      gcc/testsuite/ChangeLog:
      
      2017-07-11  Carl Love  <cel@us.ibm.com>
      
      	* gcc.target/powerpc/builtins-2-p9-runnable.c: Add new file with
      	test cases for the builtins.
      
      From-SVN: r250135
      Carl Love committed
    • Fix ChangeLog omission in r250133 · 3fd10f97
      From-SVN: r250134
      David Malcolm committed
    • diagnostics: support compact printing of secondary locations · a1063153
      gcc/ChangeLog:
      	* diagnostic-show-locus.c: Include "gcc-rich-location.h".
      	(layout::m_primary_loc): New field.
      	(layout::layout): Initialize new field.  Move location filtering
      	logic from here to...
      	(layout::maybe_add_location_range): ...this new method.  Add
      	support for filtering to just the lines already specified by other
      	locations.
      	(layout::will_show_line_p): New method.
      	(selftest::test_add_location_if_nearby): New test function.
      	(selftest::diagnostic_show_locus_c_tests): Call it.
      	* gcc-rich-location.h (gcc_rich_location::add_location_if_nearby):
      	New method.
      
      From-SVN: r250133
      David Malcolm committed