1. 29 Mar, 2018 5 commits
  2. 28 Mar, 2018 17 commits
    • revert: rs6000-builtin.def (BU_FP_1MISC_1): Add define macro. · 604e36ed
      gcc/ChangeLog:
      
      2018-03-20 Carl Love  <cel@us.ibm.com>
      
      	Revert
      	2017-09-27  Carl Love  <cel@us.ibm.com>
      
      	* config/rs6000/rs6000-builtin.def (BU_FP_1MISC_1): Add define macro.
      	(FCTID, FCTIW): Add BU_FP_MISC_1 macro expansion for builtins.
      	* config/rs6000/rs6000.md (lrintsfsi2): Add define_insn for the
      	fctiw instruction.
      
      gcc/testsuite/ChangeLog:
      
      2018-03-20  Carl Love  <cel@us.ibm.com>
      
      	Revert
      	2017-09-27  Carl Love  <cel@us.ibm.com>
      
      	* gcc.target/powerpc/builtin-fctid-fctiw-runnable.c: New test file
      	for the __builtin_fctid and __builtin_fctiw.
      
      From-SVN: r258942
      Carl Love committed
    • xmmintrin.h (_mm_max_pi16): Use __vector __bool instead of __vector bool. · 69c94135
      2018-03-28  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
      
      	* config/rs6000/xmmintrin.h (_mm_max_pi16): Use __vector __bool
      	instead of __vector bool.
      	(_mm_max_pu8): Likewise.
      	(_mm_min_pi16): Likewise.
      
      From-SVN: r258936
      Bill Schmidt committed
    • re PR fortran/69497 (ICE in gfc_free_namespace, at fortran/symbol.c:3701) · 9b0588e9
      
      	PR fortran/69497
      	* symbol.c (gfc_symbol_done_2): Start freeing namespaces
      	from the root.
      	(gfc_free_namespace): Restore assert (revert r258839).
      
      From-SVN: r258935
      Mikael Morin committed
    • Fix typo in last ChangeLog entry · e8b8462d
      From-SVN: r258934
      Peter Bergner committed
    • re PR target/84912 (__builtin_divde* produce Internal Compiler Error when compiled -m32) · 1429da42
      gcc/
      	PR target/84912
      	* config/rs6000/rs6000-builtin.def (DIVWEO): Delete macro expansion.
      	(DIVWEUO): Likewise.
      	(DIVDEO): Likewise.
      	(DIVDEUO): Likewise.
      	* config/rs6000/rs6000.c (builtin_function_type): Remove support for
      	DIVWEUO and DIVDEUO.
      	* config/rs6000/rs6000.md (UNSPEC_DIVEO, UNSPEC_DIVEUO): Delete unspecs.
      	(UNSPEC_DIV_EXTEND): Remove deleted unspecs.
      	(div_extend): Likewise.
      	* doc/extend.texi (__builtin_divweo): Remove documention for deleted
      	builtin function.
      	(__builtin_divweuo): Likewise.
      	(__builtin_divdeo): Likewise.
      	(__builtin_divdeuo): Likewise.
      
      gcc/testsuite/
      	PR target/84912
      	* gcc.target/powerpc/extend-divide-1.c (div_weo): Remove test for
      	deleted builtin function.
      	(div_weuo): Likewise.
      	* gcc.target/powerpc/extend-divide-2.c (div_deo): Likewise.
      	(div_deuo): Likewise.
      
      From-SVN: r258933
      Peter Bergner committed
    • re PR c++/85028 (ICE on invalid C++ code: in tsubst_default_argument, at cp/pt.c:12340) · 427d369c
      /cp
      2018-03-28  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	PR c++/85028
      	* pt.c (tsubst_default_argument): Early return if the type of the
      	parameter is erroneous.
      
      /testsuite
      2018-03-28  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	PR c++/85028
      	* g++.dg/other/default13.C: New.
      
      From-SVN: r258932
      Paolo Carlini committed
    • re PR target/85095 (worse code generated) · 0a5c6d78
      	PR target/85095
      	* config/i386/i386.md (*add<mode>3_carry_0, *addsi3_carry_zext_0,
      	*sub<mode>3_carry_0, *subsi3_carry_zext_0): New patterns.
      
      	* gcc.target/i386/pr85095-1.c: New test.
      	* gcc.target/i386/pr85095-2.c: New test.
      	* gcc.c-torture/execute/pr85095.c: New test.
      
      From-SVN: r258931
      Jakub Jelinek committed
    • re PR middle-end/82004 (SPEC CPU2017 628.pop2_s miscompare) · 30a2c10e
      	PR tree-optimization/82004
      	* gimple-match-head.c (optimize_pow_to_exp): New function.
      	* match.pd (pow(C,x) -> exp(log(C)*x)): Wrap with #if GIMPLE.
      	Don't fold to exp if optimize_pow_to_exp is false.
      
      	* gcc.dg/pr82004.c: New test.
      
      From-SVN: r258930
      Jakub Jelinek committed
    • Fix typos (PR other/84819). · cefc0906
      2018-03-28  Martin Liska  <mliska@suse.cz>
      
      	PR other/84819
      	* calls.c (initialize_argument_information): Fix trailing space.
      	* common.opt: Fix typo and provide better explanation for
      	-fsanitize-coverage option.
      	* config/i386/i386.opt: Fix typo.
      
      From-SVN: r258925
      Martin Liska committed
    • Fix wrong use-after-scope sanitization for omp variable (PR sanitizer/85081). · d838c2d5
      2018-03-28  Jakub Jelinek  <jakub@redhat.com>
      	    Martin Liska  <mliska@suse.cz>
      
      	PR sanitizer/85081
      	* gimplify.c (asan_poison_variable): Don't do the check for
      	gimplify_omp_ctxp here.
      	(gimplify_decl_expr): Do it here.
      	(gimplify_target_expr): Likewise.
      2018-03-28  Jakub Jelinek  <jakub@redhat.com>
      	    Martin Liska  <mliska@suse.cz>
      
      	PR sanitizer/85081
      	* g++.dg/asan/pr85081.C: New test.
      
      Co-Authored-By: Martin Liska <mliska@suse.cz>
      
      From-SVN: r258924
      Jakub Jelinek committed
    • Do not call chkp_type_bounds_count if MPX is not enabled (PR target/84988). · a48b4234
      2018-03-28  Martin Liska  <mliska@suse.cz>
      
      	PR target/84988
      	* config/i386/i386.c (ix86_function_arg_advance): Do not call
      	chkp_type_bounds_count if MPX is not enabled.
      
      From-SVN: r258923
      Martin Liska committed
    • [NDS32] Adjust BRANCH_COST to prevent too much jump when compile with -Os. · 15c193e2
      gcc/
      	* config/nds32/nds32.h (BRANCH_COST): Adjust cost.
      
      From-SVN: r258921
      Chung-Ju Wu committed
    • gfortran.h (gfc_dt): Rename default_exp field to dec_ext. · 7ee4f6f3
      	* gfortran.h (gfc_dt): Rename default_exp field to dec_ext.
      	* ioparm.def (IOPARM_dt_default_exp): Rename to ...
      	(IOPARM_dt_dec_ext): ... this.
      	* trans-io.c (build_dt): Adjust for default_exp renaming to
      	dec_ext and IOPARM_dt_default_exp renaming to IOPARM_dt_dec_ext.
      	* io.c (match_io): Likewise.
      
      	* io/io.h (IOPARM_DT_DEFAULT_EXP): Rename to ...
      	(IOPARM_DT_DEC_EXT): ... this.
      	* io/list_read.c (parse_real): Adjust for IOPARM_DT_DEFAULT_EXP
      	renaming to IOPARM_DT_DEC_EXT.
      	(read_real): Likewise.
      	* io/read.c (read_f): Likewise.
      
      From-SVN: r258920
      Jakub Jelinek committed
    • [PR c++/84789] adjust testcase for -fconcepts · 5b1a758d
      When compiling with -fconcepts,
      cp_parser_template_declaration_after_export calls
      cp_parser_template_introduction and that preparses qualified-ids not
      preceded by typename in such a way that, when we get to
      cp_parser_parse_and_diagnose_invalid_type_name and then
      cp_parser_diagnose_invalid_type_name, the nested name specifier no
      longer carries the previous template-dependent context, so we don't
      stand a chance to suggest the use of 'typename' any more.  Thus,
      tolerate in the testcase the poorer error messages we get.
      
      for  gcc/testsuite/ChangeLog
      
      	PR c++/84789
      	* g++.dg/template/pr84789.C: Adjust for testing with
      	-fconcepts too.
      
      From-SVN: r258915
      Alexandre Oliva committed
    • [PR c++/84973] don't defer output of uninstantiated templates · 977bc3ee
      When an anon struct gets a name through a typedef, we reset its
      linkage and that of its members.  Member functions may get vague
      linkage, which schedules them for deferred output, but we don't want
      to add them to the queue if they're uninstantiated templates,
      e.g. because the enclosing function is a template.  They will be added
      as needed when the enclosing template is instantiated.
      
      
      for  gcc/cp/ChangeLog
      
      	PR c++/84973
      	* decl2.c (note_vague_linkage_fn): Don't defer uninstantiated
      	templates.
      
      for  gcc/testsuite/ChangeLog
      
      	PR c++/84973
      	* g++.dg/template/pr84973.C: New.
      	* g++.dg/template/pr84973-2.C: New.
      	* g++.dg/template/pr84973-3.C: New.
      
      From-SVN: r258914
      Alexandre Oliva committed
    • [PR c++/84968] reject stmt-exprs in noexcept constexprs · 04acc378
      We reject extended statement-expressions in template parameters, so we
      might as well reject them in constant expressions used in noexcept
      specifications.
      
      for  gcc/cp/ChangeLog
      
      	PR c++/84968
      	* tree.c (strip_typedefs_expr): Reject STATEMENT_LISTs.
      
      for  gcc/testsuite/ChangeLog
      
      	PR c++/84968
      	* g++.dg/eh/pr84968.C: New.
      
      From-SVN: r258913
      Alexandre Oliva committed
    • Daily bump. · d80bb039
      From-SVN: r258912
      GCC Administrator committed
  3. 27 Mar, 2018 18 commits
    • re PR target/84914 (PowerPC complex multiply/divide calls the wrong function… · 566a2fa7
      re PR target/84914 (PowerPC complex multiply/divide calls the wrong function when -mabi=ieeelongdouble)
      
      [gcc]
      2018-03-27  Michael Meissner  <meissner@linux.vnet.ibm.com>
      
      	PR target/84914
      	* config/rs6000/rs6000.c (create_complex_muldiv): New helper
      	function to create the function decl for complex long double
      	multiply and divide for -mabi=ieeelongdouble.
      	(init_float128_ieee): Call it.
      
      [gcc/testsuite]
      2018-03-27  Michael Meissner  <meissner@linux.vnet.ibm.com>
      
      	PR target/84914
      	* gcc.target/powerpc/mulkc-2.c: New tests to make sure complex
      	long double multiply/divide uses the correct function.
      	* gcc.target/powerpc/mulkc-3.c: Likewise.
      	* gcc.target/powerpc/divkc-2.c: Likewise.
      	* gcc.target/powerpc/divkc-3.c: Likewise.
      
      From-SVN: r258908
      Michael Meissner committed
    • * es.po: Update. · fc5dbf7c
      From-SVN: r258906
      Joseph Myers committed
    • re PR c++/85067 (ICE with volatile parameter in defaulted copy-constructor) · f7d9ed11
      /cp
      2018-03-27  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	PR c++/85067
      	* method.c (defaulted_late_check): Partially revert r253321 changes,
      	do not early return upon error.
      
      /testsuite
      2018-03-27  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	PR c++/85067
      	* g++.dg/cpp0x/defaulted51.C: New.
      	* g++.dg/cpp0x/constexpr-68754.C: Adjust.
      
      From-SVN: r258904
      Paolo Carlini committed
    • re PR c++/85077 (V[248][SD]F abs not optimized to) · 153dba6c
      	PR c++/85077
      	* cp-gimplify.c (cp_fold) <case CONSTRUCTOR>: For ctors with vector
      	type call fold to generate VECTOR_CSTs when possible.
      
      	* g++.dg/ext/vector35.C: New test.
      
      From-SVN: r258903
      Jakub Jelinek committed
    • re PR c++/85061 (ICE with __builtin_offsetof applied to static member) · a7dea617
      	PR c++/85061
      	* c-common.c (fold_offsetof_1) <case COMPOUND_EXPR>: Assert that
      	get_base_address of the second operand is a VAR_P, rather than the
      	operand itself, and use gcc_checking_assert instead of gcc_assert.
      
      	* g++.dg/ext/builtin-offsetof3.C: New test.
      
      From-SVN: r258902
      Jakub Jelinek committed
    • re PR c++/85076 (ICE with invalid template used as lambda argument) · dc442cef
      	PR c++/85076
      	* tree.c (cp_build_reference_type): If to_type is error_mark_node,
      	return it right away.
      
      	* g++.dg/cpp1y/pr85076.C: New test.
      
      From-SVN: r258901
      Jakub Jelinek committed
    • re PR fortran/85084 (ICE: out of memory allocating 18446744073709551600 bytes ...) · ef22816c
      2018-03-27  Thomas Koenig  <tkoenig@gcc.gnu.org>
      
      	PR fortran/85084
      	* frontend-passes.c (gfc_run_passes): Do not run front-end
      	optimizations if a previous error occurred.
      
      2018-03-27  Thomas Koenig  <tkoenig@gcc.gnu.org>
      
      	PR fortran/85084
      	* gfortran.dg/matmul_rank_1.f90: New test.
      
      From-SVN: r258900
      Thomas Koenig committed
    • re PR fortran/85083 (ICE in gfc_convert_to_structure_constructor, at fortran/primary.c:2915) · 13a7688f
      2018-03-27  Thomas Koenig  <tkoenig@gcc.gnu.org>
      	Harald Anlauf  <anlauf@gmx.de>
      
      	PR fortran/85083
      	* primary.c (gfc_convert_to_structure_constructor): Check
      	conformance of argument types in structure constructor.
      
      2018-03-27  Thomas Koenig  <tkoenig@gcc.gnu.org>
      	Harald Anlauf  <anlauf@gmx.de>
      
      	* gfortran.dg/structure_constructor_15.f90: New test.
      
      
      Co-Authored-By: Harald Anlauf <anlauf@gmx.de>
      
      From-SVN: r258899
      Thomas Koenig committed
    • search.c (check_final_overrider): Use inform instead of error for the… · d555040f
      search.c (check_final_overrider): Use inform instead of error for the diagnostics of the overridden functions.
      
      2018-03-27  Volker Reichelt  <v.reichelt@netcologne.de>
      
              * search.c (check_final_overrider): Use inform instead of error
              for the diagnostics of the overridden functions.  Tweak wording.
      
              * g++.dg/cpp0x/defaulted2.C: Use dg-message instead of dg-error
              for the diagnostics of overridden functions.  Adjust for new wording.
              * g++.dg/cpp0x/implicit1.C: Likewise.
              * g++.dg/cpp0x/override1.C: Likewise.
              * g++.dg/cpp1y/auto-fn18.C: Likewise.
              * g++.dg/eh/shadow1.C: Likewise.
              * g++.dg/inherit/covariant12.C: Likewise.
              * g++.dg/inherit/covariant14.C: Likewise.
              * g++.dg/inherit/covariant15.C: Likewise.
              * g++.dg/inherit/covariant16.C: Likewise.
              * g++.dg/inherit/covariant22.C: Likewise.
              * g++.dg/inherit/crash3.C: Likewise.
              * g++.dg/inherit/error2.C: Likewise.
              * g++.dg/template/crash100.C: Likewise.
              * g++.old-deja/g++.eh/spec6.C: Likewise.
              * g++.old-deja/g++.mike/p811.C: Likewise.
              * g++.old-deja/g++.other/virtual11.C: Likewise.
              * g++.old-deja/g++.other/virtual4.C: Likewise.
      
      From-SVN: r258898
      Volker Reichelt committed
    • i386: Insert ENDBR to trampoline for -fcf-protection=branch -mibt · 6514899f
      When -fcf-protection=branch -mibt are used, we need to insert ENDBR
      to trampoline.  TRAMPOLINE_SIZE is creased by 4 bytes to accommodate
      4-byte ENDBR instruction.
      
      gcc/
      
      	PR target/85044
      	* config/i386/i386.c (ix86_trampoline_init): Insert ENDBR for
      	-fcf-protection=branch -mibt.
      	* config/i386/i386.h (TRAMPOLINE_SIZE): Increased by 4 bytes.
      
      gcc/testsuite/
      
      	PR target/85044
      	* gcc.target/i386/pr85044.c: New test.
      
      From-SVN: r258897
      H.J. Lu committed
    • PR testsuite/83462 - c-c++-common/Warray-bounds-3.c fails on arm-none-eabi · ae0c28bb
      gcc/testsuite/ChangeLog:
      	* c-c++-common/Warray-bounds-4.c: Disable assertion for targets
      	other than x86.
      
      From-SVN: r258896
      Martin Sebor committed
    • [AArch64] XFAIL gcc.target/aarch64/store_v2vec_lanes.c for ILP32 · f84b3c0b
      The test in question fails for ilp32. The initial analysis I did in the PR for it
      is that for ILP32 we generate somewhat different address forms that we'd need to adjust aarch64_classify_address to catch.
      Given the optimisation this test checks for was added for GCC 8 it is not a regression, and improving the codegen on ILP32
      would be an enhancement rather than a fix. So Richi has asked for it to be marked as XFAIL on ILP32, which is what this
      patch does.
      Checked that the test still passes on LP64 and appears as XFAIL on -mabi=ilp32.
      
      	PR target/83009
      	* gcc.target/aarch64/store_v2vec_lanes.c: XFAIL for ilp32.
      
      From-SVN: r258894
      Kyrylo Tkachov committed
    • [Patch ARM] Fix PR target/81863 · 974e8240
      This has been in my patch stack for quite some time. The problem here
      was that we weren't handling arm_word_relocations in
      arm_valid_symbolic_address and is the surest fix for this
      for GCC8 and GCC7.
      
      Regression tested on arm-none-linux-gnueabihf . Applying to
      trunk and backporting to GCC-7 in a day or so.
      
      regards
      Ramana
      
      2018-03-27  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
      
      	PR target/81863
      	* config/arm/arm.c (arm_valid_symbolic_address): Handle arm_word_relocations
      
      
      2018-03-27  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
      
      	PR target/81863
      	* gcc.target/arm/pr81863.c: New test.
      
      From-SVN: r258886
      Ramana Radhakrishnan committed
    • re PR target/85056 ([nvptx] wrong declaration of external arrays) · 59d2d238
      PR target/85056
      
      	gcc/
      	* config/nvptx/nvptx.c (nvptx_assemble_decl_begin): Add '[]' to
      	extern array declarations.
      
      	gcc/testsuite/
      	* testsuite/gcc.target/nvptx/pr85056.c: New test.
      	* testsuite/gcc.target/nvptx/pr85056a.c: New test.
      
      From-SVN: r258885
      Cesar Philippidis committed
    • re PR testsuite/82847 (gcc.dg/vect/slp-perm-9.c fail) · b36306e9
      2018-03-27  Richard Biener  <rguenther@suse.de>
      
      	PR testsuite/82847
      	* lib/target-supports.exp (check_ssse3_available): New function.
      	(check_effective_target_vect_perm_short): Enable for x86 if
      	check_ssse3_available.
      
      From-SVN: r258882
      Richard Biener committed
    • re PR middle-end/84067 (gcc.dg/wmul-1.c regression on aarch64 after r257077) · c1bbe5b3
      2018-03-27  Richard Biener  <rguenther@suse.de>
      
      	PR middle-ed/84067
      	* match.pd ((A * C) +- (B * C) -> (A+-B) * C): Guard with
      	explicit single_use checks.
      
      From-SVN: r258881
      Richard Biener committed
    • re PR tree-optimization/85082 (ICE with -Ofast in vn_reference_insert_pieces, at… · 18f5009e
      re PR tree-optimization/85082 (ICE with -Ofast in vn_reference_insert_pieces, at tree-ssa-sccvn.c:2624)
      
      2018-03-27  Richard Biener  <rguenther@suse.de>
      
      	PR tree-optimization/85082
      	* tree-ssa-sccvn.c (vn_reference_lookup_or_insert_for_pieces):
      	Valueize the VUSE.
      
      	* gfortran.dg/pr85082.f90: New testcase.
      
      From-SVN: r258877
      Richard Biener committed
    • umips-stroe16-2.c: Change "length = 2" to "l=2" in dg-final. · 7198b3c4
      2018-03-27  Chenghua Xu  <paul.hua.gm@gmail.com>
      
          * gcc.target/mips/umips-stroe16-2.c: Change "length = 2"
          to "l=2" in dg-final.
      
      From-SVN: r258876
      Chenghua Xu committed