1. 19 Jan, 2018 6 commits
  2. 18 Jan, 2018 30 commits
    • re PR ipa/83619 (ICE in inliner: caller edge count does not match BB count) · 9736f576
      	PR ipa/83619
      	PR testsuite/83934
      	* g++.dg/torture/pr83619.C (e): Define before first use instead of
      	forward declaration.
      
      From-SVN: r256867
      Jakub Jelinek committed
    • Fix template/inherit4.C. · b4cda6a6
      	PR c++/83714
      	* search.c (any_dependent_bases_p): Handle null TREE_BINFO.
      	* pt.c (instantiation_dependent_scope_ref_p): True if
      	any_dependent_bases_p.
      
      From-SVN: r256866
      Jason Merrill committed
    • cp-tree.h: Fix comment typo (DECL_NON_TRIVIALLY_INITIALIZED_P vs... · 48cdaab9
      2018-01-18  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	* cp-tree.h: Fix comment typo (DECL_NON_TRIVIALLY_INITIALIZED_P
      	vs DECL_NONTRIVIALLY_INITIALIZED_P).
      
      From-SVN: r256865
      Paolo Carlini committed
    • builtins-6.h (foo): Add missing closing bracket to the function. · 3480ed3a
      gcc/testsuite/ChangeLog:
      
      2018-01-18  Carl Love  <cel@us.ibm.com>
      	* gcc.target/powerpc/builtins-6.h (foo): Add missing closing bracket
      	to the function.
      
      From-SVN: r256864
      Carl Love committed
    • re PR sanitizer/81715 (asan-stack=1 redzone allocation is too inflexible) · 6aee2fd0
      	PR sanitizer/81715
      	PR testsuite/83882
      	* function.h (gimplify_parameters): Add gimple_seq * argument.
      	* function.c: Include gimple.h and options.h.
      	(gimplify_parameters): Add cleanup argument, add CLOBBER stmts
      	for the added local temporaries if needed.
      	* gimplify.c (gimplify_body): Adjust gimplify_parameters caller,
      	if there are any parameter cleanups, wrap whole body into a
      	try/finally with the cleanups.
      
      From-SVN: r256861
      Jakub Jelinek committed
    • PR c++/82461 - constexpr list-initialized member · d3a9902e
      	* constexpr.c (potential_constant_expression_1): Check
      	TARGET_EXPR_DIRECT_INIT_P.
      
      From-SVN: r256860
      Jason Merrill committed
    • configure.ac (AC_CHECK_HEADERS): Add linux/types.h. · dac867c9
      	* configure.ac (AC_CHECK_HEADERS): Add linux/types.h.  Conditionally
      	include linux/types.h when checking linux/random.h header.
      	* config.h.in: Regenerate.
      	* configure: Ditto.
      	* src/c++11/random.cc: Conditionally include linux/types.h.
      
      From-SVN: r256859
      Uros Bizjak committed
    • re PR c++/81013 (ICE with invalid union in class hierarchy) · 50b27938
      /cp
      2018-01-18  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	PR c++/81013
      	* decl.c (xref_basetypes): Early return upon error about derived
      	union.
      
      /testsuite
      2018-01-18  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	PR c++/81013
      	* g++.dg/inherit/union3.C: New.
      
      From-SVN: r256856
      Paolo Carlini committed
    • [AArch64] Fix fp16 test failures after PR82964 fix · 9f7b87ca
      This fixes test failures in gcc.target/aarch64/f16_mov_immediate_*.c
      after fixing PR82964.  The check for a scalar floating point constant
      didn't include 16-bit floating point modes, so use GET_MODE_CLASS
      instead.
      
          gcc/
      	PR target/82964
      	* config/aarch64/aarch64.c (aarch64_legitimate_constant_p):
      	Use GET_MODE_CLASS for scalar floating point.
      
      From-SVN: r256854
      Wilco Dijkstra committed
    • re PR ipa/82256 (clones created by create_version_clone_with_body are not… · cbb4e4ca
      re PR ipa/82256 (clones created by create_version_clone_with_body are not observable to insertion hooks)
      
      
      	PR ipa/82256
      	patch by PaX Team
      	* cgraphclones.c (cgraph_node::create_version_clone_with_body):
      	Fix call of call_cgraph_insertion_hooks.
      
      From-SVN: r256853
      Jan Hubicka committed
    • [arm] Enable gcc.dg/rtl/arm/stl-cond.c on armeb. · 00850e40
      2018-01-18  Christophe Lyon <christophe.lyon@linaro.org>
      
      	* gcc.dg/rtl/arm/stl-cond.c: Enable on arm*.
      
      From-SVN: r256851
      Christophe Lyon committed
    • re PR ipa/83619 (ICE in inliner: caller edge count does not match BB count) · 8b2d991b
      
      	PR ipa/83619
      	* g++.dg/torture/pr83619.C: New testcase.
      	* cgraph.c (cgraph_edge::redirect_call_stmt_to_callee): Update edge
      	frequencies.
      
      From-SVN: r256850
      Jan Hubicka committed
    • [ARM,testsuite] Make arm_arch_FUNC_ok more robust · 1f0267ac
      2018-01-18  Christophe Lyon <christophe.lyon@linaro.org>
      
      	* lib/target-supports.exp (check_effective_target_arm_arch_FUNC_ok):
      	Add function body to force error messages in some configurations.
      
      From-SVN: r256849
      Christophe Lyon committed
    • [arm] Fix gcc.target/arm/pr70278.c · 21505468
      This test needs an armv4t Thumb1 target but doesn't add the right effective target checks.
      This patch adds them so the test is skipped appropriately on Thumb2 hard-float tarets.
      
           * gcc.target/arm/pr70278.c: Add effective target checks for armv4t
           and arm_thumb1_ok.
      
      From-SVN: r256848
      Kyrylo Tkachov committed
    • Add ability to remap file names in __FILE__, etc (PR other/70268) · 7365279f
      This commit adds the -fmacro-prefix-map option that allows remapping of file
      names in __FILE__, __BASE_FILE__, and __builtin_FILE(), similar to how
      -fdebug-prefix-map allows to do the same for debug information.
      
      Additionally, it adds -ffile-prefix-map which can be used to specify both
      mappings with a single option (and, should we need to add more -f*-prefix-map
      options in the future, those as well).
      
      libcpp/ChangeLog:
      
      2018-01-18  Boris Kolpackov  <boris@codesynthesis.com>
      
              PR other/70268
              * include/cpplib.h (cpp_callbacks::remap_filename): New callback.
              * libcpp/macro.c (_cpp_builtin_macro_text): Call remap_filename for
              __FILE__ and __BASE_FILE__.
      
      
      gcc/ChangeLog:
      
      2018-01-18  Boris Kolpackov  <boris@codesynthesis.com>
      
              PR other/70268
              * common.opt: (-ffile-prefix-map): New option.
              * opts.c (common_handle_option): Defer it.
              * opts-global.c (handle_common_deferred_options): Handle it.
              * debug.h (remap_debug_filename, add_debug_prefix_map): Move to...
              * file-prefix-map.h: New file.
              (remap_debug_filename, add_debug_prefix_map): ...here.
              (add_macro_prefix_map, add_file_prefix_map, remap_macro_filename): New.
              * final.c (debug_prefix_map, add_debug_prefix_map
              remap_debug_filename): Move to...
              * file-prefix-map.c: New file.
              (file_prefix_map, add_prefix_map, remap_filename) ...here and rename,
              generalize, get rid of alloca(), use strrchr() instead of strchr().
              (add_macro_prefix_map, add_debug_prefix_map, add_file_prefix_map):
              Implement in terms of add_prefix_map().
              (remap_macro_filename, remap_debug_filename): Implement in term of
              remap_filename().
              * Makefile.in (OBJS, PLUGIN_HEADERS): Add new files.
              * builtins.c (fold_builtin_FILE): Call remap_macro_filename().
              * dbxout.c: Include file-prefix-map.h.
              * varasm.c: Likewise.
              * vmsdbgout.c: Likewise.
              * xcoffout.c: Likewise.
              * dwarf2out.c: Likewise plus omit new options from DW_AT_producer.
              * doc/cppopts.texi (-fmacro-prefix-map): Document.
              * doc/invoke.texi (-ffile-prefix-map): Document.
      	(-fdebug-prefix-map): Update description.
      
      
      gcc/c-family/ChangeLog:
      
      2018-01-18  Boris Kolpackov  <boris@codesynthesis.com>
      
              PR other/70268
              * c-family/c.opt (-fmacro-prefix-map): New option.
              * c-family/c-opts.c (c_common_handle_option): Handle it.
              * c-family/c-lex.c (init_c_lex): Set remap_filename cpp callback.
              * c-family/c-ppoutput.c (init_pp_output): Likewise.
      
      
      gcc/testsuite/ChangeLog:
      
      2018-01-18  Boris Kolpackov  <boris@codesynthesis.com>
      
              PR other/70268
              * c-c++-common/ffile-prefix-map.c: New test.
              * c-c++-common/fmacro-prefix-map.c: New test.
              * c-c++-common/cpp/ffile-prefix-map.c: New test.
              * c-c++-common/cpp/fmacro-prefix-map.c: New test.
      
      From-SVN: r256847
      Boris Kolpackov committed
    • Small retpoline clean-up. · 82a7bb2d
      2018-01-18  Martin Liska  <mliska@suse.cz>
      
      	* config/i386/i386.c (indirect_thunk_name): Document that also
      	lfence is emitted.
      	(output_indirect_thunk): Document why both instructions
      	(pause and lfence) are generated.
      2018-01-18  Martin Liska  <mliska@suse.cz>
      
      	* gcc.target/i386/indirect-thunk-3.c: Remove duplicate options.
      	* gcc.target/i386/indirect-thunk-4.c: Likewise.
      	* gcc.target/i386/indirect-thunk-6.c: Likewise.
      	* gcc.target/i386/indirect-thunk-bnd-4.c: Likewise.
      	* gcc.target/i386/ret-thunk-10.c: Likewise.
      	* gcc.target/i386/ret-thunk-11.c: Likewise.
      	* gcc.target/i386/ret-thunk-12.c: Likewise.
      	* gcc.target/i386/ret-thunk-15.c: Likewise.
      	* gcc.target/i386/ret-thunk-9.c: Likewise.
      
      From-SVN: r256846
      Martin Liska committed
    • [arm] Fix gcc.target/arm/xor-and.c · 5b06990f
      2018-01-18  Christophe Lyon  <christophe.lyon@linaro.org>
      
      	* gcc.target/arm/xor-and.c: Fix dg-options and dg-add-options
      	order.
      
      From-SVN: r256845
      Christophe Lyon committed
    • PR c++/83160] local ref to capture · 5a752e3f
      https://gcc.gnu.org/ml/gcc-patches/2018-01/msg01638.html
      	PR c++/83160
      	* cp-tree.h (mark_use): Declare.
      	* expr.c (mark_use): Make extern.
      	* call.c (direct_reference_binding): Set inner conv's
      	rvaluedness_matches_p, if it is an identity.
      	(convert_like_real): Mark lvalue or rvalue use for identity as
      	rvaledness_matches_p demands.
      
      	PR c++/83160
      	* g++.dg/cpp0x/pr83160.C: New.
      
      From-SVN: r256842
      Nathan Sidwell committed
    • re PR tree-optimization/83887 ([graphite] ICE in verify_dominators, at… · 7467ab42
      re PR tree-optimization/83887 ([graphite] ICE in verify_dominators, at dominance.c:1184 (error: dominator of 3 should be 21, not 18))
      
      2018-01-18  Richard Biener  <rguenther@suse.de>
      
      	PR tree-optimization/83887
      	* graphite-scop-detection.c
      	(scop_detection::get_nearest_dom_with_single_entry): Remove.
      	(scop_detection::get_nearest_pdom_with_single_exit): Likewise.
      	(scop_detection::merge_sese): Re-implement with a flood-fill
      	algorithm that properly finds a SESE region if it exists.
      
      	* gcc.dg/graphite/pr83887.c: New testcase.
      	* gfortran.dg/graphite/pr83887.f90: Likewise.
      	* gfortran.dg/graphite/pr83887.f: Likewise.
      
      From-SVN: r256841
      Richard Biener committed
    • [arm] PR target/65578: Fix builtin-bswap16-1.c and builtin-bswap-1.c · c5affc04
      The builtin-bswap-1.c and builtin-bswap16-1.c are pretty annoying at the moment.
      They force an explicit armv6 option that is a thumb1 target, so if you're testing a toolchain
      configured with something like --with-cpu=cortex-a15 --with-float=hard --with-mode=thumb
      you'll get those pesky errors about Thumb1 hard-float not being implemented, even though
      the tests don't relate to floating-point functionality at all. I *think* this is also due
      to the wrong order of dg-options and dg-require-effective-target directives that might
      end up not doing a proper effective target check.
      
      The solution in this patch is to commonise the code and create a couple of tests for each.
      One tests an armv6t2 target. This allows us to test an ARM or a Thumb2 target.
      The second one sets an armv6-m target, which is a Thumb1 target.
      The dg-add-options machinery for arm_arch_v6m knows how to add the right -mfloat-abi=soft option.
      
      With this patch we end up testing all of ARM, Thumb1, Thumb2 codegen whereas before we only
      ever tried testing Thumb1, if the multilib options happened to line up just right, and would
      give an ugly error otherwise.  Now, if the multilib options don't allow the test it should just
      appear as UNSUPPORTED.
      
      	PR target/65578
      	* gcc.target/arm/builtin-bswap.x: New file.
      	* gcc.target/arm/builtin-bswap-1.c: Include the above.  Add checks
      	and options for armv6t2.
      	* gcc.target/arm/builtin-bswap-2.c: Include the above.  Add checks
      	and options for Thumb1.
      	* gcc.target/arm/builtin-bswap16.x: New file.
      	* gcc.target/arm/builtin-bswap16-1.c: Include the above.  Add checks
      	and options for armv6t2.
      	* gcc.target/arm/builtin-bswap16-2.c: Include the above.  Add checks
      	and options for Thumb1.
      
      From-SVN: r256840
      Kyrylo Tkachov committed
    • [arm] Fix gcc.target/arm/pr40887.c directives · f2f4f244
      2018-01-18  Christophe Lyon  <christophe.lyon@linaro.org>
      
      	* gcc.target/arm/pr40887.c: Fix dg-options and dg-add-options
      	order.
      
      From-SVN: r256839
      Christophe Lyon committed
    • re PR c/61240 (Incorrect warning "integer overflow in expression" on pointer-pointer subtraction) · 8ae43881
      	PR c/61240
      	* match.pd ((P + A) - P, P - (P + A), (P + A) - (P + B)): For
      	pointer_diff optimizations use view_convert instead of convert.
      
      	* gcc.dg/pr61240.c: New test.
      
      From-SVN: r256838
      Jakub Jelinek committed
    • re PR fortran/83864 (ICE in gfc_apply_init, at fortran/expr.c:4271) · fcf79237
      2018-01-17  Harald Anlauf  <anlauf@gmx.de>
      
      	PR fortran/83864
      	* expr.c (add_init_expr_to_sym): Do not dereference NULL pointer.
      
      2018-01-17  Harald Anlauf  <anlauf@gmx.de>
      
      	PR fortran/83864
      	* gfortran.dg/pr83864.f90: New test.
      
      From-SVN: r256837
      Harald Anlauf committed
    • Add myself to the MAINTAINERS file · 3c1f3bf6
      * MAINTAINERS (write after approval): Add myself.
      
      From-SVN: r256836
      Siddhesh Poyarekar committed
    • re PR go/83787 (Many 32-bit Solaris/SPARC Go tests FAIL after Go1.10beta1 update) · a9411cce
      	PR go/83787
          compiler: pass int to makechan, call makechan64 when appropriate
          
          The update to 1.10beta1 changed makechan to take int instead of int64,
          and added a makechan64 call for large values.  Since the size is the
          last argument to makechan, the old compiler which always passed a
          64-bit int worked fine on 64-bit systems and little-endian 32-bit
          systems, but broke on big-endian 32-bit systems.  This CL fixes the
          compiler to use the appropriate types.
          
          This fixes GCC PR 83787.
          
          Reviewed-on: https://go-review.googlesource.com/88077
      
      From-SVN: r256835
      Ian Lance Taylor committed
    • re PR testsuite/83883 (FAIL: gcc.dg/tree-ssa/ssa-dse-26.c scan-tree-dump-times… · b7e60023
      re PR testsuite/83883 (FAIL: gcc.dg/tree-ssa/ssa-dse-26.c scan-tree-dump-times dse1 "Deleted dead store" 2 (found 4 times))
      
      	PR testsuite/83883
      	* gcc.dg/tree-ssa/ssa-dse-26.c: Tighten expected output.
      
      From-SVN: r256833
      Jeff Law committed
    • rs6000.md (*call_indirect_nonlocal_sysv<mode>): Generate different code for… · fe1b6f0d
      rs6000.md (*call_indirect_nonlocal_sysv<mode>): Generate different code for -mno-speculate-indirect-jumps.
      
      [gcc]
      
      2018-01-17  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
      
      	* config/rs6000/rs6000.md (*call_indirect_nonlocal_sysv<mode>):
      	Generate different code for -mno-speculate-indirect-jumps.
      	(*call_value_indirect_nonlocal_sysv<mode>): Likewise.
      	(*call_indirect_aix<mode>): Disable for
      	-mno-speculate-indirect-jumps.
      	(*call_indirect_aix<mode>_nospec): New define_insn.
      	(*call_value_indirect_aix<mode>): Disable for
      	-mno-speculate-indirect-jumps.
      	(*call_value_indirect_aix<mode>_nospec): New define_insn.
      	(*sibcall_nonlocal_sysv<mode>): Generate different code for
      	-mno-speculate-indirect-jumps.
      	(*sibcall_value_nonlocal_sysv<mode>): Likewise.
      
      [gcc/testsuite]
      
      2018-01-17  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
      
      	* gcc.target/powerpc/safe-indirect-jump-1.c: Remove endian
      	restriction, but still restrict to 64-bit.
      	* gcc.target/powerpc/safe-indirect-jump-7.c: New file.
      	* gcc.target/powerpc/safe-indirect-jump-8.c: New file.
      
      From-SVN: r256831
      Bill Schmidt committed
    • Daily bump. · e91478f6
      From-SVN: r256827
      GCC Administrator committed
  3. 17 Jan, 2018 4 commits
    • re PR fortran/83874 (ICE initializing character array from derived type) · c004a341
      2018-01-17  Harald Anlauf  <anlauf@gmx.de>
      
      	PR fortran/83874
      	* decl.c (add_init_expr_to_sym): Do not dereference NULL pointer.
      
      
      2018-01-17  Harald Anlauf  <anlauf@gmx.de>
                               
      	PR fortran/83874
      	* gfortran.dg/pr83874.f90: New test.
      
      From-SVN: r256824
      Harald Anlauf committed
    • re PR c++/83824 (ICE on invalid C++ code with alignas: in chainon, at tree.c:3037) · cfb14840
      	PR c++/83824
      	* parser.c (attr_chainon): New function.
      	(cp_parser_label_for_labeled_statement, cp_parser_decl_specifier_seq,
      	cp_parser_namespace_definition, cp_parser_init_declarator,
      	cp_parser_type_specifier_seq, cp_parser_parameter_declaration,
      	cp_parser_gnu_attributes_opt): Use it.
      	(cp_parser_member_declaration, cp_parser_objc_class_ivars,
      	cp_parser_objc_struct_declaration): Likewise.  Don't reset
      	prefix_attributes if attributes is error_mark_node.
      
      	* g++.dg/cpp0x/pr83824.C: New test.
      
      From-SVN: r256823
      Jakub Jelinek committed
    • rs6000.c (rs6000_emit_move): If we load or store a long double type... · a3b11faf
      [gcc]
      2018-01-17  Michael Meissner  <meissner@linux.vnet.ibm.com>
      
      	* config/rs6000/rs6000.c (rs6000_emit_move): If we load or store a
      	long double type, set the flags for noting the default long double
      	type, even if we don't pass or return a long double type.
      
      [gcc/testsuite]
      2018-01-17  Michael Meissner  <meissner@linux.vnet.ibm.com>
      
      	* gcc.target/powerpc/gnuattr1.c: New test to make sure we set the
      	appropriate .gnu_attribute for the long double type, if we use the
      	long double type, but do not generate any calls.
      	* gcc.target/powerpc/gnuattr2.c: Likewise.
      	* gcc.target/powerpc/gnuattr3.c: Likewise.
      
      From-SVN: r256822
      Michael Meissner committed
    • re PR c++/78344 (ICE on invalid c++ code on x86_64-linux-gnu (internal compiler… · a533fc76
      re PR c++/78344 (ICE on invalid c++ code on x86_64-linux-gnu (internal compiler error: tree check: expected tree_list, have error_mark in cp_check_const_attributes, at cp/decl2.c:1347))
      
      /cp
      2018-01-17  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	PR c++/78344
      	* decl.c (grokdeclarator): Do not append the error_mark_node
      	due to an erroneous optional attribute-specifier-seq.
      
      /testsuite
      2018-01-17  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	PR c++/78344
      	* g++.dg/cpp0x/alignas13.C: New.
      
      From-SVN: r256821
      Paolo Carlini committed