1. 16 Apr, 2018 2 commits
  2. 15 Apr, 2018 1 commit
  3. 14 Apr, 2018 4 commits
    • rs6000: Disable -m[no-]direct-move (PR85293) · 57f108f5
      The -mno-direct-move option causes a lot of problems, since it forces
      us to be able to generate code for p8 and up with some crucial
      instructions missing.  This patch removes the -m[no-]direct-move
      options so that the user cannot put us into this unexpected situation
      anymore.  Internally we still have all the same flags, and they are
      automatically set based on -mcpu; getting rid of that is a lot more
      work and will have to wait for GCC 9 (in some places the flag is used
      to see if we are compiling for a p8 _at all_).
      
      
      	PR target/85293
      	* config/rs6000/rs6000.opt (mdirect-move): Make deprecated.
      	* doc/invoke.texi (RS/6000 and PowerPC Options): Remove -mdirect-move
      	and -mno-direct-move.
      
      gcc/testsuite/
      	PR target/85293
      	* gcc.target/powerpc/pr80098-2.c: Remove -mdirect-move.  Remove the
      	corresponding dg-error clause.
      	* gcc.target/powerpc/pr80098-3.c: Ditto.
      	* gcc.target/powerpc/pr80103-1.c: Delete.
      
      From-SVN: r259386
      Segher Boessenkool committed
    • re PR fortran/81773 ([Coarray] Get with vector index on lhs leads to incorrect… · 2368eaf9
      re PR fortran/81773 ([Coarray] Get with vector index on lhs leads to incorrect caf_get_by_ref() call.)
      
      gcc/fortran/ChangeLog:
      
      2018-04-14  Andre Vehreschild  <vehre@gcc.gnu.org>
      
      	PR fortran/81773
      	PR fortran/83606
      	* dependency.c (gfc_dep_resolver): Coarray indexes are to be ignored
      	during dependency computation.  They define no data dependency.
      	* trans-array.c (conv_array_index_offset): The stride can not be set
      	here, prevent fail.
      	* trans-intrinsic.c (conv_caf_send): Add creation of temporary array
      	for caf_get's result and copying to the array with vectorial
      	indexing.
      
      gcc/testsuite/ChangeLog:
      
      2018-04-14  Andre Vehreschild  <vehre@gcc.gnu.org>
      
      	PR fortran/81773
      	PR fortran/83606
      	* gfortran.dg/coarray/get_to_indexed_array_1.f90: New test.
      	* gfortran.dg/coarray/get_to_indirect_array.f90: New test.
      
      From-SVN: r259385
      Andre Vehreschild committed
    • re PR fortran/85387 (incorrect output with optimization /= 0) · acd1559a
      2018-04-14  Thomas Koenig  <tkoenig@gcc.gnu.org>
      
      	PR fortran/85387
      	* frontend-passes.c (traverse_io_block): Check for start, end or
      	stride being defined by an outer implied DO loop.
      
      2018-04-14  Thomas Koenig  <tkoenig@gcc.gnu.org>
      
      	PR fortran/85387
      	* gfortran.dg/implied_do_io_5.f90: New test.
      
      From-SVN: r259384
      Thomas Koenig committed
    • Daily bump. · 4be91498
      From-SVN: r259383
      GCC Administrator committed
  4. 13 Apr, 2018 13 commits
  5. 12 Apr, 2018 20 commits
    • Prevent erroneous "macro had not yet been defined" messages (PR c++/85385) · b0cc1e53
      PR c++/85385 reports an issue where we emit bogus "macro had not yet been
      defined" notes when a macro is mis-used:
      
        $ cat test.c
        #define MACRO(X,Y)
      
        void test ()
        {
          MACRO(42);
        }
      
        $ ./xg++ -B. -c test.c
        test.c:5:11: error: macro "MACRO" requires 2 arguments, but only 1 given
           MACRO(42);
                   ^
        test.c: In function ‘void test()’:
        test.c:5:3: error: ‘MACRO’ was not declared in this scope
           MACRO(42);
           ^~~~~
        test.c:5:3: note:
        test.c:1: note: it was later defined here
         #define MACRO(X,Y)
      
      The macro *had* been defined, it was merely misused.
      
      This patch fixes the issue by only issuing the note if the use location
      is before the definition location (using linemap_location_before_p).
      
      gcc/cp/ChangeLog:
      	PR c++/85385
      	* name-lookup.c (macro_use_before_def::maybe_make): New function,
      	checking that the use is indeed before the definition.
      	(macro_use_before_def::macro_use_before_def): Make private.
      	(macro_use_before_def::~macro_use_before_def): Make private.  Move
      	check for UNKNOWN_LOCATION to macro_use_before_def::maybe_make.
      	(lookup_name_fuzzy): Call macro_use_before_def::maybe_make rather
      	than using new directly.
      
      gcc/testsuite/ChangeLog:
      	PR c++/85385
      	* g++.dg/diagnostic/macro-arg-count.C: New test.
      
      From-SVN: r259360
      David Malcolm committed
    • re PR fortran/83064 (DO CONCURRENT and auto-parallelization) · bc436e10
      2018-04-12  Thomas Koenig  <tkoenig@gcc.gnu.org>
      
      	PR fortran/83064
      	PR testsuite/85346
      	* trans-stmt.c (gfc_trans_forall_loop): Use annot_expr_ivdep_kind
      	for annotation and remove dependence on -ftree-parallelize-loops.
      
      2018-04-12  Thomas Koenig  <tkoenig@gcc.gnu.org>
      
      	PR fortran/83064
      	PR testsuite/85346
      	* gfortran.dg/do_concurrent_5.f90: Dynamically allocate main work
      	array and move test to libgomp/testsuite/libgomp.fortran.
      	* gfortran.dg/do_concurrent_6.f90: New test.
      
      2018-04-12  Thomas Koenig  <tkoenig@gcc.gnu.org>
      
      	PR fortran/83064
      	PR testsuite/85346
      	* testsuite/libgomp.fortran/do_concurrent_5.f90: Move modified
      	test from gfortran.dg to here.
      
      From-SVN: r259359
      Thomas Koenig committed
    • Fix comments that misspell names of files and classes · 741346a2
      	* src/c++11/Makefile.am: Fix comment.
      	* src/c++11/Makefile.in: Regenerate.
      	* src/c++11/cxx11-ios_failure.cc: Fix comment.
      	* src/c++98/ios_failure.cc: Likewise.
      
      From-SVN: r259357
      Jonathan Wakely committed
    • PR c++/85356 - ICE with pointer to member function. · 38f3a877
      	* pt.c (maybe_instantiate_noexcept): Do instantiate in templates if
      	flag_noexcept_type.  Build the new spec within the function context.
      	* except.c (build_noexcept_spec): Do get constant value in templates
      	if flag_noexcept_type.
      	* decl.c (check_redeclaration_exception_specification): Don't
      	instantiate noexcept on a dependent declaration.
      
      From-SVN: r259356
      Jason Merrill committed
    • re PR c++/85258 (ICE with invalid range-based for-loop) · 4930c53e
      	PR c++/85258
      	* constexpr.c (reduced_constant_expression_p): Return false for null
      	trees.
      
      	* g++.dg/parse/error61.C: New test.
      
      From-SVN: r259355
      Marek Polacek committed
    • rs6000: Fix an ICE with -mno-direct-move (PR85291) · ed086e7e
      
      	PR target/85291
      	* config/rs6000/rs6000.md (fix_trunc<mode>si2): Use legacy code if
      	asked to not generate direct moves.
      	(fix_trunc<mode>si2_stfiwx): Similar.
      	(fix_trunc<mode>si2_internal): Similar.
      
      From-SVN: r259354
      Segher Boessenkool committed
    • re PR debug/83157 (gcc.dg/guality/pr41616-1.c fail, inline instances refer to… · ff111948
      re PR debug/83157 (gcc.dg/guality/pr41616-1.c fail, inline instances refer to concrete instance as abstract origin)
      
      	PR debug/83157
      	* var-tracking.c (add_stores): Handle STRICT_LOW_PART SET_DEST.
      	* cselib.c (cselib_record_sets): For STRICT_LOW_PART dest,
      	lookup if dest in some wider mode is known to be const0_rtx and
      	if so, record permanent equivalence for it to be ZERO_EXTEND of
      	the narrower mode destination.
      
      From-SVN: r259353
      Jakub Jelinek committed
    • Revert 259346. · 6b95d1af
      	gcc/
      	* lto-streamer-out.c (output_function): Revert 259346.
      	* omp-expand.c (expand_oacc_for): Likewise.
      
      	libgomp/
      	* testsuite/libgomp.oacc-c-c++-common/pr84955.c: Revert 259346.
      	* testsuite/libgomp.oacc-fortran/pr84955.f90:Likewise.
      
      From-SVN: r259351
      Cesar Philippidis committed
    • re PR target/85347 (New testcase vec-ldl-1.c FAILs on powerpc64-linux) · e4179460
      gcc/testsuite/ChangeLog:
      
      2018-04-12  Kelvin Nilsen  <kelvin@gcc.gnu.org>
      
      	PR target/85347
      	* gcc.target/powerpc/vec-ldl-1.c: Change dejagnu directives to
      	specify -mvsx on gcc command line.
      
      From-SVN: r259350
      Kelvin Nilsen committed
    • Remove #define made redundant by r259281 · ee3e8f43
      The definition of __throw_ios_failure is no longer in this file, so
      setting the macro here is unnecessary.
      
      	* src/c++11/ios.cc: Remove redundant macro definition.
      
      From-SVN: r259349
      Jonathan Wakely committed
    • sel-sched: move cleanup_cfg before calculate_dominance_info (PR 85354) · 01496707
      	PR rtl-optimization/85354
      	* sel-sched-ir.c (sel_init_pipelining): Move cfg_cleanup call...
      	* sel-sched.c (sel_global_init): ... here.
      
      From-SVN: r259348
      Alexander Monakov committed
    • re PR target/85238 (lto-wrapper: fatal error: … · dc0e0c6b
      re PR target/85238 (lto-wrapper: fatal error:  simple_object_copy_lto_debug_sections not implemented: Invalid argument  on Cygwin)
      
      	PR target/85238
      	* lto-wrapper.c (debug_objcopy): Open the files in binary mode.
      	* dwarf2out.c (dwarf2out_early_finish): Do not generate assembly in LTO
      	mode for PE-COFF targets.
      	* config/i386/i386-protos.h (i386_pe_asm_lto_start): Declare.
      	(i386_pe_asm_lto_end): Likewise.
      	* config/i386/cygming.h (TARGET_ASM_LTO_START): Define.
      	(TARGET_ASM_LTO_END): Likewise.
      	* config/i386/winnt.c (saved_debug_info_level): New static variable.
      	(i386_pe_asm_lto_start): New function.
      	(i386_pe_asm_lto_end): Likewise.
      
      From-SVN: r259347
      Eric Botcazou committed
    • re PR middle-end/84955 (Incorrect OpenACC tile expansion) · 2e5efa67
      PR middle-end/84955
      
      	gcc/
      	* lto-streamer-out.c (output_function): Fix CFG loop state before
      	streaming out.
      	* omp-expand.c (expand_oacc_for): Handle calls to internal
      	functions like regular functions.
      
      	libgomp/
      	* testsuite/libgomp.oacc-c-c++-common/pr84955.c: New test.
      	* testsuite/libgomp.oacc-fortran/pr84955.f90: New test.
      
      Co-Authored-By: Richard Biener <rguenther@suse.de>
      
      From-SVN: r259346
      Cesar Philippidis committed
    • re PR lto/85371 (Compiling code with -g -flto gives an ICE on darwin after revision r259317) · c1566f89
      2018-04-12  Richard Biener  <rguenther@suse.de>
      
      	PR lto/85371
      	* dwarf2out.c (init_sections_and_labels): Use debug_line_section[_label]
      	for the early LTO debug to properly generate references to it
      	during DIE emission.  Do not re-use that for the skeleton for
      	split-dwarf.
      	(dwarf2out_early_finish): Likewise.
      
      From-SVN: r259345
      Richard Biener committed
    • re PR target/85328 (accessing ymm16 with non-avx512 instruction form) · dcd88195
      	PR target/85328
      	* config/i386/sse.md
      	(<mask_codefor>avx512dq_vextract<shuffletype>64x2_1<mask_name> split,
      	<mask_codefor>avx512f_vextract<shuffletype>32x4_1<mask_name> split,
      	vec_extract_lo_<mode><mask_name> split, vec_extract_lo_v32hi,
      	vec_extract_lo_v64qi): For non-AVX512VL if input is xmm16+ reg
      	and output is a reg, avoid creating invalid lowpart subreg, but
      	instead split into a 512-bit move.  Don't split if not AVX512VL,
      	input is xmm16+ reg and output is a mem.
      	(vec_extract_lo_<mode><mask_name>, vec_extract_lo_v32hi,
      	vec_extract_lo_v64qi): Don't require split if not AVX512VL, input is
      	xmm16+ reg and output is a mem.
      
      	* gcc.target/i386/pr85328.c: New test.
      
      From-SVN: r259344
      Jakub Jelinek committed
    • IBM Z: Spectre: Prevent thunk cfi to be emitted with -fno-dwarf2-cfi-asm · b9dd1a79
      The CFI magic we emit as part of the indirect branch thunks in order to
      have somewhat sane unwind information must not be emitted with
      -fno-dwarf2-cfi-asm.
      
      gcc/ChangeLog:
      
      2018-04-12  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
      
      	* config/s390/s390.c (s390_output_indirect_thunk_function): Check
      	also for flag_dwarf2_cfi_asm.
      
      gcc/testsuite/ChangeLog:
      
      2018-04-12  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
      
      	* gcc.target/s390/nobp-no-dwarf2-cfi.c: New test.
      
      From-SVN: r259340
      Andreas Krebbel committed
    • Wzero-as-null-pointer-constant-7.C: Move... · c72a0e67
      2018-04-11  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	* g++.dg/warn/Wzero-as-null-pointer-constant-7.C: Move...
      	* g++.dg/cpp0x/Wzero-as-null-pointer-constant-3.C: ... here.
      
      From-SVN: r259339
      Paolo Carlini committed
    • re PR rtl-optimization/85342 (ICE: SIGSEGV in copyprop_hardreg_forward_1… · 868865f4
      re PR rtl-optimization/85342 (ICE: SIGSEGV in copyprop_hardreg_forward_1 (regcprop.c:995) with -O2 -mavx512vl)
      
      	PR rtl-optimization/85342
      	* regcprop.c (copyprop_hardreg_forward_1): Remove replaced array, use
      	a bool scalar var inside of the loop instead.  Don't try to update
      	recog_data.operand after failed apply_change_group.
      
      	* gcc.target/i386/pr85342.c: New test.
      
      From-SVN: r259338
      Jakub Jelinek committed
    • [nvptx] Fix handling of extern var with flexible array member · bf398920
      2018-04-12  Tom de Vries  <tom@codesourcery.com>
      
      	PR target/85296
      	* config/nvptx/nvptx.c (flexible_array_member_type_p): New function.
      	(nvptx_assemble_decl_begin): Add undefined param.  Declare undefined
      	array with flexible array member as array without given dimension.
      	(nvptx_assemble_undefined_decl): Set nvptx_assemble_decl_begin call
      	argument for undefined param to true.
      
      From-SVN: r259337
      Tom de Vries committed
    • Daily bump. · 39c168bf
      From-SVN: r259336
      GCC Administrator committed