1. 12 Jun, 2018 27 commits
    • fold-vec-store-vec_vsx_st-char.c: New. · dc4dd8e3
      
      [testsuite]
      
      2018-05-31  Will Schmidt  <will_schmidt@vnet.ibm.com>
      
      	* gcc.target/powerpc/fold-vec-store-vec_vsx_st-char.c: New.
      	* gcc.target/powerpc/fold-vec-store-vec_vsx_st-double.c: New.
      	* gcc.target/powerpc/fold-vec-store-vec_vsx_st-float.c: New.
      	* gcc.target/powerpc/fold-vec-store-vec_vsx_st-int.c: New.
      	* gcc.target/powerpc/fold-vec-store-vec_vsx_st-longlong.c: New.
      	* gcc.target/powerpc/fold-vec-store-vec_vsx_st-short.c: New.
      
      From-SVN: r261508
      Will Schmidt committed
    • fold-vec-store-builtin_vec_xst-char.c: New. · 0c382cfa
      
      [testsuite]
      
      2018-05-31  Will Schmidt  <will_schmidt@vnet.ibm.com>
      
      	* gcc.target/powerpc/fold-vec-store-builtin_vec_xst-char.c: New.
      	* gcc.target/powerpc/fold-vec-store-builtin_vec_xst-double.c: New.
      	* gcc.target/powerpc/fold-vec-store-builtin_vec_xst-float.c: New.
      	* gcc.target/powerpc/fold-vec-store-builtin_vec_xst-int.c: New.
      	* gcc.target/powerpc/fold-vec-store-builtin_vec_xst-longlong.c: New.
      	* gcc.target/powerpc/fold-vec-store-builtin_vec_xst-short.c: New.
      
      From-SVN: r261507
      Will Schmidt committed
    • fold-vec-store-vec_xst-char.c: New. · a83a8cdf
      
      [testsuite]
      
          2018-05-31  Will Schmidt  <will_schmidt@vnet.ibm.com>
      
      	* gcc.target/powerpc/fold-vec-store-vec_xst-char.c: New.
      	* gcc.target/powerpc/fold-vec-store-vec_xst-double.c: New.
      	* gcc.target/powerpc/fold-vec-store-vec_xst-float.c: New.
      	* gcc.target/powerpc/fold-vec-store-vec_xst-int.c: New.
      	* gcc.target/powerpc/fold-vec-store-vec_xst-longlong.c: New.
      	* gcc.target/powerpc/fold-vec-store-vec_xst-short.c: New.
      
      From-SVN: r261506
      Will Schmidt committed
    • fold-vec-load-vec_vsx_ld-char.c: New. · 965fa640
      
      [testsuite]
      
      2018-05-31  Will Schmidt  <will_schmidt@vnet.ibm.com>
      
      	* gcc.target/powerpc/fold-vec-load-vec_vsx_ld-char.c: New.
      	* gcc.target/powerpc/fold-vec-load-vec_vsx_ld-double.c: New.
      	* gcc.target/powerpc/fold-vec-load-vec_vsx_ld-float.c: New.
      	* gcc.target/powerpc/fold-vec-load-vec_vsx_ld-int.c: New.
      	* gcc.target/powerpc/fold-vec-load-vec_vsx_ld-longlong.c: New.
      	* gcc.target/powerpc/fold-vec-load-vec_vsx_ld-short.c: New.
      
      From-SVN: r261505
      Will Schmidt committed
    • fold-vec-load-builtin_vec_xl-char.c: New. · 0343162b
      
      [testsuite]
      
      2018-05-31  Will Schmidt  <will_schmidt@vnet.ibm.com>
      
      	* gcc.target/powerpc/fold-vec-load-builtin_vec_xl-char.c: New.
      	* gcc.target/powerpc/fold-vec-load-builtin_vec_xl-double.c: New.
      	* gcc.target/powerpc/fold-vec-load-builtin_vec_xl-float.c: New.
      	* gcc.target/powerpc/fold-vec-load-builtin_vec_xl-int.c: New.
      	* gcc.target/powerpc/fold-vec-load-builtin_vec_xl-longlong.c: New.
      	* gcc.target/powerpc/fold-vec-load-builtin_vec_xl-short.c: New.
      
      From-SVN: r261504
      Will Schmidt committed
    • fold-vec-load-vec_xl-char.c: New testcase. · 4acdcafb
      
      [testsuite]
      
      2018-06-12  Will Schmidt  <will_schmidt@vnet.ibm.com>
      
      	* gcc.target/powerpc/fold-vec-load-vec_xl-char.c: New testcase.
      	* gcc.target/powerpc/fold-vec-load-vec_xl-double.c: New testcase.
      	* gcc.target/powerpc/fold-vec-load-vec_xl-float.c: New testcase.
      	* gcc.target/powerpc/fold-vec-load-vec_xl-int.c: New testcase.
      	* gcc.target/powerpc/fold-vec-load-vec_xl-longlong.c: New testcase.
      	* gcc.target/powerpc/fold-vec-load-vec_xl-short.c: New testcase.
      
      From-SVN: r261503
      Will Schmidt committed
    • rs6000-c.c (altivec_overloaded_builtins): Add BUILTIN_VEC_XST entries for… · 39ef6e72
      rs6000-c.c (altivec_overloaded_builtins): Add BUILTIN_VEC_XST entries for pointer to double and long long.
      
      
      [gcc]
      
      2018-06-12  Will Schmidt  <will_schmidt@vnet.ibm.com>
      
      	* config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Add
      	BUILTIN_VEC_XST entries for pointer to double and long long.
      
      From-SVN: r261502
      Will Schmidt committed
    • Linux/x86: Update TARGET_THREAD_SPLIT_STACK_OFFSET comments · a25eadc8
      Glibc 2.18 was changed by
      
      commit ecbf434213c0333d81706074e4d107ac45011635
      Author: Andreas Jaeger <aj@suse.de>
      Date:   Wed May 15 20:20:54 2013 +0200
      
          Reserve new TLS field for x86 and x86_64
      
              [BZ #10686]
              * sysdeps/x86_64/tls.h (struct tcbhead_t): Add __private_ss
              field.
              * sysdeps/i386/tls.h (struct tcbhead_t): Likewise.
      
      to reduce the size of __private_tm to make room for __private_ss, which
      was supposed to be used for TARGET_THREAD_SPLIT_STACK_OFFSET:
      
      typedef struct
      {
        void *tcb;            /* Pointer to the TCB.  Not necessarily the
                                 thread descriptor used by libpthread.  */
        dtv_t *dtv;
        void *self;           /* Pointer to the thread descriptor.  */
        int multiple_threads;
        uintptr_t sysinfo;
        uintptr_t stack_guard;
        uintptr_t pointer_guard;
        int gscope_flag;
        int __glibc_reserved1;
        /* Reservation of some values for the TM ABI.  */
        void *__private_tm[4];
        /* GCC split stack support.  */
        void *__private_ss;
      } tcbhead_t;
      
      But the offset of __private_ss for i386 was mistakenly set to 0x30,
      instead of 0x34 and libgcc/config/i386/morestack.S has:
      
      	cmpl	%gs:0x30,%eax		# See if we have enough space.
      	movl	%eax,%gs:0x30		# Save the new stack boundary.
      	movl	%eax,%gs:0x30		# Save the new stack boundary.
      	movl	%ecx,%gs:0x30		# Save new stack boundary.
      	movl	%eax,%gs:0x30
      	movl	%gs:0x30,%eax
      	movl	%eax,%gs:0x30
      
      Since update TARGET_THREAD_SPLIT_STACK_OFFSET changes split stack ABI,
      glibc 2.28 has been changed by
      
      commit 0221ce2a90be2d40fc90f0b5dcec77a1ec013f53
      Author: H.J. Lu <hjl.tools@gmail.com>
      Date:   Tue Jun 12 06:23:28 2018 -0700
      
          i386: Change offset of __private_ss to 0x30 [BZ #23250]
      
      to match GCC:
      
      typedef struct
      {
        void *tcb;		/* Pointer to the TCB.  Not necessarily the
      			   thread descriptor used by libpthread.  */
        dtv_t *dtv;
        void *self;		/* Pointer to the thread descriptor.  */
        int multiple_threads;
        uintptr_t sysinfo;
        uintptr_t stack_guard;
        uintptr_t pointer_guard;
        int gscope_flag;
        int __glibc_reserved1;
        /* Reservation of some values for the TM ABI.  */
        void *__private_tm[3];
        /* GCC split stack support.  */
        void *__private_ss;
        void *__glibc_reserved2;
      } tcbhead_t;
      
      	PR target/85990
      	* config/i386/gnu-user.h (TARGET_THREAD_SPLIT_STACK_OFFSET):
      	Update comments.
      	* config/i386/gnu-user64.h (TARGET_THREAD_SPLIT_STACK_OFFSET):
      	Likewise.
      
      From-SVN: r261501
      H.J. Lu committed
    • genfixes: exit 1 when autogen not found. · 764d9a51
      	* genfixes: exit 1 when autogen not found.
      	* genfixes: Remove some redundant code.
      	* genfixes: Update URL to autogen source code.
      
      From-SVN: r261500
      Rasmus Villemoes committed
    • inclhack.def: Fix fixup for assert.h on vxworks. · c649ee40
      	* inclhack.def: Fix fixup for assert.h on vxworks.
      	* fixincl.x: Regenerate.
      
      From-SVN: r261499
      Rasmus Villemoes committed
    • Document IntegerRange in internal documentation. · 9f51da53
      2018-06-12  Martin Liska  <mliska@suse.cz>
      
      	* doc/options.texi: Document IntegerRange.
      
      From-SVN: r261498
      Martin Liska committed
    • Come up with Deprecated option flag. · 3713f2e2
      2018-06-12  Martin Liska  <mliska@suse.cz>
      
      	* doc/options.texi: Document Deprecated option flag.
      2018-06-12  Martin Liska  <mliska@suse.cz>
      
      	* config/i386/i386.opt: Make MPX-related options as Deprecated.
      	* opt-functions.awk: Handle Deprecated flag.
      	* opts-common.c (decode_cmdline_option): Handle cl_deprecated
              and report error.
      	(read_cmdline_option): Report warning for a deprecated option.
      	* opts.h (struct cl_option): Add new field cl_deprecated.
      	(CL_ERR_DEPRECATED): New.
      2018-06-12  Martin Liska  <mliska@suse.cz>
      
      	* c.opt: Make MPX-related options as Deprecated.
      2018-06-12  Martin Liska  <mliska@suse.cz>
      
      	* g++.dg/opt/mpx.C: New test.
      	* gcc.target/i386/mpx.c: New test.
      
      From-SVN: r261497
      Martin Liska committed
    • [PATCH] [ARC][QuarkSE] Update · 09d69286
      QuarkSE has lp_count width set to 16 bits. Update the compiler to
      consider it.
      
      gcc/
      2018-06-12  Claudiu Zissulescu  <claziss@synopsys.com>
      
      	* config/arc/arc-arch.h (arc_extras): New enum.
      	(arc_cpu_t):Add field extra.
      	(arc_cpu_types): Consider the extras.
      	* config/arc/arc-cpus.def: Add extras info.
      	* config/arc/arc-opts.h (processor_type): Consider extra field.
      	* config/arc/arc.c (arc_override_options): Handle extra field.
      
      From-SVN: r261496
      Claudiu Zissulescu committed
    • [ARC] Update warning messges. · d65485c5
      When we pass an mcpu to the compiler we have two types of (hardware
      configuration) flags that are set:
      
      1. Architecture specific, for example code-density is always enabled
      for ARCHS architectures. These options are overwriting whatever the
      corresponding user options with the preset ones.
      
      2. CPU specific, for example archs is using LL64 option by
      default. These options can be freely enabled or disabled.
      
      Because of the above complexity, we need to throw some errors for the
      user to know when he/she does something which goes against the above
      rules. Thus, I came up with the following set of rules:
      
      1. Overwriting default architecture specific hardware option: it is
      ignored, a warning is thrown;
      
      2. Overwriting default CPU specific hardware option: it is taken into
      account, a warning is thrown.
      
      gcc/
      2018-06-12  Claudiu Zissulescu  <claziss@synopsys.com>
      
      	* config/arc/arc-arch.h: Update ARC_OPTX macro.
      	* config/arc/arc-options.def (ARC_OPTX): Introduce a new doc
      	field.
      	* config/arc/arc.c (arc_init): Update pic warning.
      	(irq_range): Update irq range parsing warnings.
      	(arc_override_options): Update various warning messages.
      	(arc_handle_aux_attribute): Likewise.
      
      gcc/testsuite
      2018-06-12  Claudiu Zissulescu  <claziss@synopsys.com>
      
      	* gcc.target/arc/builtin_simdarc.c: Update test.
      	* gcc.target/arc/mulsi3_highpart-2.c: Likewise.
      	* gcc.target/arc/tumaddsidi4.c: Likewise.
      
      From-SVN: r261495
      Claudiu Zissulescu committed
    • MIPS: Fix build after r261489. · 5def02b7
      gcc/
      	* config/mips/i6400.md (i6400_fpu_fadd): Remove frint.
      
      From-SVN: r261494
      Robert Suchanek committed
    • sourcebuild.texi: Document usage of line number 0 in verify compiler messages directives. · 09c4cadd
      	* doc/sourcebuild.texi: Document usage of line number 0 in verify
      	compiler messages directives.
      
      From-SVN: r261493
      Jozef Lawrynowicz committed
    • libitm/x86: Correct offsets of __private_tm and pointer_guard · 97cad511
      In glibc, sysdeps/i386/nptl/tls.h has
      
      typedef struct
      {
        void *tcb;            /* Pointer to the TCB.  Not necessarily the
                                 thread descriptor used by libpthread.  */
        dtv_t *dtv;
        void *self;           /* Pointer to the thread descriptor.  */
        int multiple_threads;
        uintptr_t sysinfo;
        uintptr_t stack_guard;
        uintptr_t pointer_guard;
        int gscope_flag;
        int __glibc_reserved1;
        /* Reservation of some values for the TM ABI.  */
        void *__private_tm[4];
        /* GCC split stack support.  */
        void *__private_ss;
      } tcbhead_t;
      
      and sysdeps/x86_64/nptl/tls.h has
      
      typedef struct
      {
        void *tcb;            /* Pointer to the TCB.  Not necessarily the
                                 thread descriptor used by libpthread.  */
        dtv_t *dtv;
        void *self;           /* Pointer to the thread descriptor.  */
        int multiple_threads;
        int gscope_flag;
        uintptr_t sysinfo;
        uintptr_t stack_guard;
        uintptr_t pointer_guard;
        unsigned long int vgetcpu_cache[2];
        int __glibc_reserved1;
        int __glibc_unused1;
        /* Reservation of some values for the TM ABI.  */
        void *__private_tm[4];
        /* GCC split stack support.  */
        void *__private_ss;
        long int __glibc_reserved2;
        /* Must be kept even if it is no longer used by glibc since programs,
           like AddressSanitizer, depend on the size of tcbhead_t.  */
        __128bits __glibc_unused2[8][4] __attribute__ ((aligned (32)));
      
        void *__padding[8];
      } tcbhead_t;
      
      The offsets of __private_tm are
      
      i386:   36 bytes
      x32:    48 bytes
      x86_64: 80 bytes
      
      and the offsets of pointer_guard are:
      
      i386:   24 bytes
      x32:    28 bytes
      x86_64: 48 bytes
      
      But config/linux/x86/tls.h had
      
       #ifdef __x86_64__
       #ifdef __LP64__
       # define SEG_READ(OFS)          "movq\t%%fs:(" #OFS "*8),%0"
       # define SEG_WRITE(OFS)         "movq\t%0,%%fs:(" #OFS "*8)"
       # define SEG_DECODE_READ(OFS)   SEG_READ(OFS) "\n\t" \
                                       "rorq\t$17,%0\n\t" \
                                       "xorq\t%%fs:48,%0"
       # define SEG_ENCODE_WRITE(OFS)  "xorq\t%%fs:48,%0\n\t" \
                                       "rolq\t$17,%0\n\t" \
                                       SEG_WRITE(OFS)
       #else
       // For X32.
       # define SEG_READ(OFS)          "movl\t%%fs:(" #OFS "*4),%0"
       # define SEG_WRITE(OFS)         "movl\t%0,%%fs:(" #OFS "*4)"
       # define SEG_DECODE_READ(OFS)   SEG_READ(OFS) "\n\t" \
                                       "rorl\t$9,%0\n\t" \
                                       "xorl\t%%fs:24,%0"
       # define SEG_ENCODE_WRITE(OFS)  "xorl\t%%fs:24,%0\n\t" \
                                       "roll\t$9,%0\n\t" \
                                       SEG_WRITE(OFS)
       #endif
       #else
       # define SEG_READ(OFS)  "movl\t%%gs:(" #OFS "*4),%0"
       # define SEG_WRITE(OFS) "movl\t%0,%%gs:(" #OFS "*4)"
       # define SEG_DECODE_READ(OFS)   SEG_READ(OFS) "\n\t" \
                                       "rorl\t$9,%0\n\t" \
                                       "xorl\t%%gs:24,%0"
       # define SEG_ENCODE_WRITE(OFS)  "xorl\t%%gs:24,%0\n\t" \
                                       "roll\t$9,%0\n\t" \
                                       SEG_WRITE(OFS)
       #endif
      
      static inline struct gtm_thread *gtm_thr(void)
      {
        struct gtm_thread *r;
        asm volatile (SEG_READ(10) : "=r"(r));
        return r;
      }
      
      static inline void set_gtm_thr(struct gtm_thread *x)
      {
        asm volatile (SEG_WRITE(10) : : "r"(x));
      }
      
      static inline struct abi_dispatch *abi_disp(void)
      {
        struct abi_dispatch *r;
        asm volatile (SEG_DECODE_READ(11) : "=r"(r));
        return r;
      }
      
      static inline void set_abi_disp(struct abi_dispatch *x)
      {
        void *scratch;
        asm volatile (SEG_ENCODE_WRITE(11) : "=r"(scratch) : "0"(x));
      }
      
      SEG_READ, SEG_WRITE, SEG_DECODE_READ and SEG_ENCODE_WRITE were correct
      only for x86-64.
      
      Update SEG_READ and SEG_WRITE to use the offset of __private_tm as base
      and correct the offset of pointer_guard for x32.  This patch doesn't
      change ABI of libitm.
      
      	PR libitm/85988
      	* config/linux/x86/tls.h (SEG_READ): Use the offset of
      	__private_tm as base.
      	(SEG_WRITE): Likewise.
      	(SEG_ENCODE_WRITE): Correct the offset of pointer_guard for x32.
      	(gtm_thr): Replace SEG_READ(10) with SEG_READ(0).
      	(set_gtm_thr): Replace SEG_WRITE(10) with SEG_WRITE(0).
      	(abi_disp): Replace SEG_DECODE_READ(11) with SEG_DECODE_READ(1).
      	(set_abi_disp): Replace SEG_ENCODE_WRITE(11) with
      	SEG_ENCODE_WRITE(1).
      
      From-SVN: r261491
      H.J. Lu committed
    • MIPS: Add i6500 processor as an alias for i6400. · 6a3361e8
      gcc/ChangeLog:
      
      2018-06-12  Matthew Fortune  <mfortune@gmail.com>
      
      	* config/mips/mips-cpus.def: New MIPS_CPU for i6500.
      	* config/mips/mips-tables.opt: Regenerate.
      	* config/mips/mips.h (MIPS_ISA_LEVEL_SPEC): Mark i6500 as
      	mips64r6.
      	* doc/invoke.texi: Document -march=i6500.
      
      From-SVN: r261490
      Matthew Fortune committed
    • MIPS: Update I6400 scheduler. · b74161d0
      gcc/ChangeLog:
      
      2018-06-12  Prachi Godbole  <prachi.godbole@imgtec.com>
      
      	* config/mips/i6400.md (i6400_gpmuldiv): Remove cpu_unit.
      	(i6400_gpmul): Add cpu_unit.
      	(i6400_gpdiv): Likewise.
      	(i6400_msa_add_d): Update reservations.
      	(i6400_msa_int_add) Likewise.
      	(i6400_msa_short_logic3) Likewise.
      	(i6400_msa_short_logic2) Likewise.
      	(i6400_msa_short_logic) Likewise.
      	(i6400_msa_move) Likewise.
      	(i6400_msa_cmp) Likewise.
      	(i6400_msa_short_float2) Likewise.
      	(i6400_msa_div_d) Likewise.
      	(i6400_msa_long_logic1) Likewise.
      	(i6400_msa_long_logic2) Likewise.
      	(i6400_msa_mult) Likewise.
      	(i6400_msa_long_float2) Likewise.
      	(i6400_msa_long_float4) Likewise.
      	(i6400_msa_long_float5) Likewise.
      	(i6400_msa_long_float8) Likewise.
      	(i6400_fpu_fadd): Include frint type.
      	(i6400_fpu_store): New define_insn_reservation.
      	(i6400_fpu_load): Likewise.
      	(i6400_fpu_move): Likewise.
      	(i6400_fpu_fcmp): Likewise.
      	(i6400_fpu_fmadd): Likewise.
      	(i6400_int_mult): Include imul3nc type and update reservation.
      	(i6400_int_div): Include idiv3 type and update reservation.
      	(i6400_int_load): Update to check type not move_type.
      	(i6400_int_store): Likewise.
      	(i6400_int_prefetch): Set zero latency.
      
      From-SVN: r261489
      Prachi Godbole committed
    • ada-tree.h (TYPE_RETURN_BY_DIRECT_REF_P): Change from using TYPE_LANG_FLAG_4 to… · 57d0f7c6
      ada-tree.h (TYPE_RETURN_BY_DIRECT_REF_P): Change from using TYPE_LANG_FLAG_4 to using TYPE_LANG_FLAG_0.
      
      	* gcc-interface/ada-tree.h (TYPE_RETURN_BY_DIRECT_REF_P): Change from
      	using TYPE_LANG_FLAG_4 to using TYPE_LANG_FLAG_0.
      	(TYPE_ALIGN_OK): Move around.
      	(TYPE_PADDING_FOR_COMPONENT): Remove superfluous parentheses.
      	* gcc-interface/decl.c (change_qualified_type): Move to...
      	(gnat_to_gnu_entity): Adjust comment.
      	* gcc-interface/gigi.h (change_qualified_type): ...here; make inline.
      	(ceil_pow2): Use ceil_log2.
      	* gcc-interface/utils.c (finish_subprog_decl): Add couple of comments
      	and do not set TREE_SIDE_EFFECTS.
      	(handle_noreturn_attribute): Use change_qualified_type.
      
      From-SVN: r261486
      Eric Botcazou committed
    • decl.c (gnat_to_gnu_entity): Do not get the expression of a dispatch table that… · 541bb35d
      decl.c (gnat_to_gnu_entity): Do not get the expression of a dispatch table that is not being defined.
      
      	* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Constant>: Do not get
      	the expression of a dispatch table that is not being defined.
      	<E_Record_Subtype>: Remove obsolete kludge.
      
      From-SVN: r261483
      Eric Botcazou committed
    • decl.c (warn_on_field_placement): Use specific wording for discriminants. · 81034751
      	* gcc-interface/decl.c (warn_on_field_placement): Use specific wording
      	for discriminants.
      	(warn_on_list_placement): New static function.
      	(components_to_record): Use it to warn on multiple fields in list.
      
      From-SVN: r261480
      Eric Botcazou committed
    • decl.c (variant_desc): Add AUX field. · cd8ad459
      	* gcc-interface/decl.c (variant_desc): Add AUX field.
      	(gnat_to_gnu_entity) <discrete_type>: Do not call compute_record_mode
      	directly.
      	(reverse_sort_field_list): New static function.
      	(components_to_record): Place the variant part at the beginning of the
      	field list when there is an obvious order of increasing position.
      	(build_variant_list): Initialize it.
      	(create_variant_part_from): Do not call compute_record_mode directly.
      	(copy_and_substitute_in_layout): Likewise.  Always sort the fields with
      	fixed position in order of increasing position, in the record and all
      	the variants, in any.  Call reverse_sort_field_list.
      	* gcc-interface/utils.c (make_packable_type): Compute the sizes before
      	calling finish_record_type.  Do not call compute_record_mode directly.
      	(finish_record_type): Overhaul final processing depending on REP_LEVEL
      	and call finish_bitfield_layout if it is equal to one or two.
      
      From-SVN: r261479
      Eric Botcazou committed
    • [testsuite] Add gcc.dg-selftests/dg-final.exp · 835d4173
      2018-06-12  Tom de Vries  <tdevries@suse.de>
      
      	* gcc.dg-selftests/dg-final.exp: New file.
      
      From-SVN: r261476
      Tom de Vries committed
    • Remove me from Write After Approval. · d23fa2ee
      From-SVN: r261475
      Martin Liska committed
    • gcc.c: Document new %@{...} sequence. · e7208389
      	* gcc.c: Document new %@{...} sequence.
      	(LINK_COMMAND_SPEC): Use it for the -L switches.
      	(cpp_unique_options): Use it for the -I switches.
      	(at_file_argbuf): New global variable.
      	(in_at_file): Likewise.
      	(alloc_args): Create at_file_argbuf.
      	(clear_args): Truncate at_file_argbuf.
      	(store_arg): If in_at_file, push the argument onto at_file_argbuf.
      	(open_at_file): New function.
      	(close_at_file): Likewise.
      	(create_at_file): Delete.
      	(do_spec_1) <'i'>: Use open_at_file/close_at_file.
      	<'o'>: Likewise.
      	<'@'>: New case.
      	(validate_switches_from_spec): Deal with %@{...} sequence.
      	(validate_switches): Likewise.
      	(driver::finalize): Call clear_args.
      
      From-SVN: r261474
      Eric Botcazou committed
    • Daily bump. · bfad8f66
      From-SVN: r261472
      GCC Administrator committed
  2. 11 Jun, 2018 13 commits