public inbox for git-commits@fedoraproject.org
help / color / mirror / Atom feed
From: Jakub Jelinek <jakub@redhat.com>
To: git-commits@fedoraproject.org
Subject: [rpms/gcc] rhel-f41-base: 9.0.0-0.4
Date: Mon, 29 Jun 2026 12:28:12 GMT	[thread overview]
Message-ID: <178273609220.1.3701977037384724902.rpms-gcc-cee0dddd34c8@fedoraproject.org> (raw)

A new commit has been pushed.

Repo   : rpms/gcc
Branch : rhel-f41-base
Commit : cee0dddd34c8c4e820122336db8b13955d0daefa
Author : Jakub Jelinek <jakub@redhat.com>
Date   : 2019-01-21T23:53:26+01:00
Stats  : +358/-138 in 10 file(s)
URL    : https://src.fedoraproject.org/rpms/gcc/c/cee0dddd34c8c4e820122336db8b13955d0daefa?branch=rhel-f41-base

Log:
9.0.0-0.4

---
diff --git a/.gitignore b/.gitignore
index 23e1e70..fbc7d33 100644
--- a/.gitignore
+++ b/.gitignore
@@ -58,3 +58,4 @@
 /gcc-8.2.1-20181215.tar.xz
 /gcc-8.2.1-20190109.tar.xz
 /gcc-9.0.0-20190119.tar.xz
+/gcc-9.0.0-20190121.tar.xz

diff --git a/gcc.spec b/gcc.spec
index 6636a18..8b3e080 100644
--- a/gcc.spec
+++ b/gcc.spec
@@ -1,10 +1,10 @@
-%global DATE 20190119
-%global SVNREV 268094
+%global DATE 20190121
+%global SVNREV 268128
 %global gcc_version 9.0.0
 %global gcc_major 9
 # Note, gcc_release must be integer, if you want to add suffixes to
 # %%{release}, append them after %%{gcc_release} on Release: line.
-%global gcc_release 0.3
+%global gcc_release 0.4
 %global nvptx_tools_gitrev c28050f60193b3b95a18866a96f03334e874e78f
 %global nvptx_newlib_gitrev aadc8eb0ec43b7cd0dd2dfb484bae63c8b05ef24
 %global _unpackaged_files_terminate_build 0
@@ -258,11 +258,12 @@ Patch9: gcc9-Wno-format-security.patch
 Patch10: gcc9-rh1574936.patch
 Patch11: gcc9-d-shared-libphobos.patch
 Patch12: gcc9-pr88714.patch
-Patch13: gcc9-pr88901.patch
-Patch14: gcc9-pr88044.patch
-Patch15: gcc9-utf-array-test.patch
-Patch16: gcc9-aarch64-bootstrap.patch
-Patch17: gcc9-pr88927.patch
+Patch13: gcc9-pr88044.patch
+Patch14: gcc9-pr88927.patch
+Patch15: gcc9-pr87064.patch
+Patch16: gcc9-pr88904.patch
+Patch17: gcc9-pr88905.patch
+Patch18: gcc9-pr88906.patch
 
 Patch1000: nvptx-tools-no-ptxas.patch
 Patch1001: nvptx-tools-build.patch
@@ -842,11 +843,12 @@ to NVidia PTX capable devices if available.
 %endif
 %patch11 -p0 -b .d-shared-libphobos~
 %patch12 -p0 -b .pr88714~
-%patch13 -p0 -b .pr88901~
-%patch14 -p0 -b .pr88044~
-%patch15 -p0 -b .utf-array-test~
-%patch16 -p0 -b .aarch64-bootstrap~
-%patch17 -p0 -b .pr88927~
+%patch13 -p0 -b .pr88044~
+%patch14 -p0 -b .pr88927~
+%patch15 -p0 -b .pr87064~
+%patch16 -p0 -b .pr88904~
+%patch17 -p0 -b .pr88905~
+%patch18 -p0 -b .pr88906~
 
 cd nvptx-tools-%{nvptx_tools_gitrev}
 %patch1000 -p1 -b .nvptx-tools-no-ptxas~
@@ -3180,6 +3182,17 @@ fi
 %endif
 
 %changelog
+* Mon Jan 21 2019 Jakub Jelinek <jakub@redhat.com> 9.0.0-0.4
+- update from trunk
+  - PRs c++/88949, c/88928, fortran/37835, fortran/56789, fortran/77960,
+	ipa/87615, libstdc++/86590, target/71659, target/88938,
+	tree-optimization/88934
+- fix up min/max reduction on ppc64le (PR target/87064)
+- fix up thread_jump on thumb1 (PR rtl-optimization/88904)
+- fix up doubleword unop REG_EQUAL notes with const args (PR target/88905)
+- fix up DSE on memcpy/memmove/memcmp libcalls (PR rtl-optimization/49429,
+  PR target/49454, PR rtl-optimization/86334, PR target/88906)
+
 * Sat Jan 19 2019 Jakub Jelinek <jakub@redhat.com> 9.0.0-0.3
 - update from trunk
   - PRs c++/86205, c++/86740, c++/86926, c++/88699, c++/88875, c/88664,

diff --git a/gcc9-aarch64-bootstrap.patch b/gcc9-aarch64-bootstrap.patch
deleted file mode 100644
index db52f38..0000000
--- a/gcc9-aarch64-bootstrap.patch
+++ /dev/null
@@ -1,47 +0,0 @@
-2019-01-19  Jakub Jelinek  <jakub@redhat.com>
-
-	* config/aarch64/aarch64.c (aarch64_stack_protect_guard): Move
-	outside of #if CHECKING_P code.
-
---- gcc/config/aarch64/aarch64.c.jj	2019-01-19 09:39:18.859831024 +0100
-+++ gcc/config/aarch64/aarch64.c	2019-01-19 18:25:18.037239167 +0100
-@@ -18662,6 +18662,19 @@ aarch64_simd_clone_usable (struct cgraph
-     }
- }
- 
-+/* Implement TARGET_STACK_PROTECT_GUARD. In case of a
-+   global variable based guard use the default else
-+   return a null tree.  */
-+static tree
-+aarch64_stack_protect_guard (void)
-+{
-+  if (aarch64_stack_protector_guard == SSP_GLOBAL)
-+    return default_stack_protect_guard ();
-+
-+  return NULL_TREE;
-+}
-+
-+
- /* Target-specific selftests.  */
- 
- #if CHECKING_P
-@@ -18706,19 +18719,6 @@ aarch64_run_selftests (void)
- 
- } // namespace selftest
- 
--/* Implement TARGET_STACK_PROTECT_GUARD. In case of a
--   global variable based guard use the default else
--   return a null tree.  */
--static tree
--aarch64_stack_protect_guard (void)
--{
--  if (aarch64_stack_protector_guard == SSP_GLOBAL)
--    return default_stack_protect_guard ();
--
--  return NULL_TREE;
--}
--
--
- #endif /* #if CHECKING_P */
- 
- #undef TARGET_STACK_PROTECT_GUARD

diff --git a/gcc9-pr87064.patch b/gcc9-pr87064.patch
new file mode 100644
index 0000000..ba1889a
--- /dev/null
+++ b/gcc9-pr87064.patch
@@ -0,0 +1,17 @@
+2019-01-21  Jakub Jelinek  <jakub@redhat.com>
+
+	PR target/87064
+	* config/rs6000/vsx.md (*vsx_reduc_<VEC_reduc_name>_v2df_scalar):
+	Disable for little endian.
+
+--- gcc/config/rs6000/vsx.md.jj	2019-01-19 09:39:13.224924063 +0100
++++ gcc/config/rs6000/vsx.md	2019-01-21 23:39:27.527774247 +0100
+@@ -4351,7 +4351,7 @@ (define_insn_and_split "*vsx_reduc_<VEC_
+ 	  (match_dup 1))
+ 	 (parallel [(const_int 1)])))
+    (clobber (match_scratch:DF 2 "=0,0,&wd,&wa"))]
+-  "VECTOR_UNIT_VSX_P (V2DFmode)"
++  "BYTES_BIG_ENDIAN && VECTOR_UNIT_VSX_P (V2DFmode)"
+   "#"
+   ""
+   [(const_int 0)]

diff --git a/gcc9-pr88901.patch b/gcc9-pr88901.patch
deleted file mode 100644
index f4faeab..0000000
--- a/gcc9-pr88901.patch
+++ /dev/null
@@ -1,45 +0,0 @@
-2019-01-18  Jakub Jelinek  <jakub@redhat.com>
-
-	PR sanitizer/88901
-	* typeck.c (cp_build_binary_op): Don't instrument
-	SANITIZE_POINTER_COMPARE if processing_template_decl.
-	(pointer_diff): Similarly for SANITIZE_POINTER_SUBTRACT.
-
-	* g++.dg/asan/pr88901.C: New test.
-
---- gcc/cp/typeck.c.jj	2019-01-18 09:13:58.580790058 +0100
-+++ gcc/cp/typeck.c	2019-01-18 11:53:45.941734135 +0100
-@@ -5233,6 +5233,7 @@ cp_build_binary_op (const op_location_t
- 	}
- 
-       if ((code0 == POINTER_TYPE || code1 == POINTER_TYPE)
-+	  && !processing_template_decl
- 	  && sanitize_flags_p (SANITIZE_POINTER_COMPARE))
- 	{
- 	  op0 = save_expr (op0);
-@@ -5650,7 +5651,8 @@ pointer_diff (location_t loc, tree op0,
-   else
-     inttype = restype;
- 
--  if (sanitize_flags_p (SANITIZE_POINTER_SUBTRACT))
-+  if (!processing_template_decl
-+      && sanitize_flags_p (SANITIZE_POINTER_SUBTRACT))
-     {
-       op0 = save_expr (op0);
-       op1 = save_expr (op1);
---- gcc/testsuite/g++.dg/asan/pr88901.C.jj	2019-01-18 11:55:42.398826983 +0100
-+++ gcc/testsuite/g++.dg/asan/pr88901.C	2019-01-18 11:55:26.559086374 +0100
-@@ -0,0 +1,13 @@
-+// PR sanitizer/88901
-+// { dg-do compile }
-+// { dg-options "-fsanitize=address -fsanitize=pointer-compare" }
-+
-+template <typename T>
-+struct A {
-+  void foo() {
-+    auto d = [](char *x, char *y) {
-+      for (char *p = x; p + sizeof(T) <= y; p += sizeof(T))
-+        reinterpret_cast<T *>(p)->~T();
-+    };
-+  }
-+};

diff --git a/gcc9-pr88904.patch b/gcc9-pr88904.patch
new file mode 100644
index 0000000..a15ced2
--- /dev/null
+++ b/gcc9-pr88904.patch
@@ -0,0 +1,77 @@
+2019-01-21  Jakub Jelinek  <jakub@redhat.com>
+
+	PR rtl-optimization/88904
+	* cfgcleanup.c (thread_jump): Verify cond2 doesn't mention
+	any nonequal registers before processing BB_END (b).
+
+	* gcc.c-torture/execute/pr88904.c: New test.
+
+--- gcc/cfgcleanup.c.jj	2019-01-01 12:37:19.147942300 +0100
++++ gcc/cfgcleanup.c	2019-01-21 16:45:52.576636305 +0100
+@@ -338,6 +338,13 @@ thread_jump (edge e, basic_block b)
+        insn != NEXT_INSN (BB_END (b)) && !failed;
+        insn = NEXT_INSN (insn))
+     {
++      /* cond2 must not mention any register that is not equal to the
++	 former block.  Check this before processing that instruction,
++	 as BB_END (b) could contain also clobbers.  */
++      if (insn == BB_END (b)
++	  && mentions_nonequal_regs (cond2, nonequal))
++	goto failed_exit;
++
+       if (INSN_P (insn))
+ 	{
+ 	  rtx pat = PATTERN (insn);
+@@ -362,11 +369,6 @@ thread_jump (edge e, basic_block b)
+       goto failed_exit;
+     }
+ 
+-  /* cond2 must not mention any register that is not equal to the
+-     former block.  */
+-  if (mentions_nonequal_regs (cond2, nonequal))
+-    goto failed_exit;
+-
+   EXECUTE_IF_SET_IN_REG_SET (nonequal, 0, i, rsi)
+     goto failed_exit;
+ 
+--- gcc/testsuite/gcc.c-torture/execute/pr88904.c.jj	2019-01-21 16:47:16.194265770 +0100
++++ gcc/testsuite/gcc.c-torture/execute/pr88904.c	2019-01-21 16:46:59.278543027 +0100
+@@ -0,0 +1,38 @@
++/* PR rtl-optimization/88904 */
++
++volatile int v;
++
++__attribute__((noipa)) void
++bar (const char *x, const char *y, int z)
++{
++  if (!v)
++    __builtin_abort ();
++  asm volatile ("" : "+g" (x));
++  asm volatile ("" : "+g" (y));
++  asm volatile ("" : "+g" (z));
++}
++
++#define my_assert(e) ((e) ? (void) 0 : bar (#e, __FILE__, __LINE__))
++
++typedef struct {
++  unsigned M1;
++  unsigned M2 : 1;
++  int : 0;
++  unsigned M3 : 1;
++} S;
++
++S
++foo ()
++{
++  S result = {0, 0, 1};
++  return result;
++}
++
++int
++main ()
++{
++  S ret = foo ();
++  my_assert (ret.M2 == 0);
++  my_assert (ret.M3 == 1);
++  return 0;
++}

diff --git a/gcc9-pr88905.patch b/gcc9-pr88905.patch
new file mode 100644
index 0000000..ed3c1c6
--- /dev/null
+++ b/gcc9-pr88905.patch
@@ -0,0 +1,142 @@
+2019-01-21  Jakub Jelinek  <jakub@redhat.com>
+
+	PR target/88905
+	* optabs.c (add_equal_note): Add op0_mode argument, use it instead of
+	GET_MODE (op0).
+	(expand_binop_directly, expand_doubleword_clz,
+	expand_doubleword_popcount, expand_ctz, expand_ffs,
+	expand_unop_direct, maybe_emit_unop_insn): Adjust callers.
+
+	* gcc.dg/pr88905.c: New test.
+
+--- gcc/optabs.c.jj	2019-01-01 12:37:17.711965861 +0100
++++ gcc/optabs.c	2019-01-21 13:56:18.263446049 +0100
+@@ -55,7 +55,7 @@ void debug_optab_libfuncs (void);
+ \f
+ /* Add a REG_EQUAL note to the last insn in INSNS.  TARGET is being set to
+    the result of operation CODE applied to OP0 (and OP1 if it is a binary
+-   operation).
++   operation).  OP0_MODE is OP0's mode.
+ 
+    If the last insn does not set TARGET, don't do anything, but return 1.
+ 
+@@ -64,7 +64,8 @@ void debug_optab_libfuncs (void);
+    try again, ensuring that TARGET is not one of the operands.  */
+ 
+ static int
+-add_equal_note (rtx_insn *insns, rtx target, enum rtx_code code, rtx op0, rtx op1)
++add_equal_note (rtx_insn *insns, rtx target, enum rtx_code code, rtx op0,
++		rtx op1, machine_mode op0_mode)
+ {
+   rtx_insn *last_insn;
+   rtx set;
+@@ -136,16 +137,16 @@ add_equal_note (rtx_insn *insns, rtx tar
+       case POPCOUNT:
+       case PARITY:
+       case BSWAP:
+-	if (GET_MODE (op0) != VOIDmode && GET_MODE (target) != GET_MODE (op0))
++	if (op0_mode != VOIDmode && GET_MODE (target) != op0_mode)
+ 	  {
+-	    note = gen_rtx_fmt_e (code, GET_MODE (op0), copy_rtx (op0));
+-	    if (GET_MODE_UNIT_SIZE (GET_MODE (op0))
++	    note = gen_rtx_fmt_e (code, op0_mode, copy_rtx (op0));
++	    if (GET_MODE_UNIT_SIZE (op0_mode)
+ 		> GET_MODE_UNIT_SIZE (GET_MODE (target)))
+ 	      note = simplify_gen_unary (TRUNCATE, GET_MODE (target),
+-					 note, GET_MODE (op0));
++					 note, op0_mode);
+ 	    else
+ 	      note = simplify_gen_unary (ZERO_EXTEND, GET_MODE (target),
+-					 note, GET_MODE (op0));
++					 note, op0_mode);
+ 	    break;
+ 	  }
+ 	/* FALLTHRU */
+@@ -1127,7 +1128,7 @@ expand_binop_directly (enum insn_code ic
+       if (INSN_P (pat) && NEXT_INSN (pat) != NULL_RTX
+ 	  && ! add_equal_note (pat, ops[0].value,
+ 			       optab_to_code (binoptab),
+-			       ops[1].value, ops[2].value))
++			       ops[1].value, ops[2].value, mode0))
+ 	{
+ 	  delete_insns_since (last);
+ 	  return expand_binop (mode, binoptab, op0, op1, NULL_RTX,
+@@ -2298,7 +2299,7 @@ expand_doubleword_clz (scalar_int_mode m
+   seq = get_insns ();
+   end_sequence ();
+ 
+-  add_equal_note (seq, target, CLZ, xop0, 0);
++  add_equal_note (seq, target, CLZ, xop0, NULL_RTX, mode);
+   emit_insn (seq);
+   return target;
+ 
+@@ -2340,7 +2341,7 @@ expand_doubleword_popcount (scalar_int_m
+   seq = get_insns ();
+   end_sequence ();
+ 
+-  add_equal_note (seq, t, POPCOUNT, op0, 0);
++  add_equal_note (seq, t, POPCOUNT, op0, NULL_RTX, mode);
+   emit_insn (seq);
+   return t;
+ }
+@@ -2511,7 +2512,7 @@ expand_ctz (scalar_int_mode mode, rtx op
+   seq = get_insns ();
+   end_sequence ();
+ 
+-  add_equal_note (seq, temp, CTZ, op0, 0);
++  add_equal_note (seq, temp, CTZ, op0, NULL_RTX, mode);
+   emit_insn (seq);
+   return temp;
+ }
+@@ -2589,7 +2590,7 @@ expand_ffs (scalar_int_mode mode, rtx op
+   seq = get_insns ();
+   end_sequence ();
+ 
+-  add_equal_note (seq, temp, FFS, op0, 0);
++  add_equal_note (seq, temp, FFS, op0, NULL_RTX, mode);
+   emit_insn (seq);
+   return temp;
+ 
+@@ -2736,7 +2737,7 @@ expand_unop_direct (machine_mode mode, o
+ 	  if (INSN_P (pat) && NEXT_INSN (pat) != NULL_RTX
+ 	      && ! add_equal_note (pat, ops[0].value,
+ 				   optab_to_code (unoptab),
+-				   ops[1].value, NULL_RTX))
++				   ops[1].value, NULL_RTX, mode))
+ 	    {
+ 	      delete_insns_since (last);
+ 	      return expand_unop (mode, unoptab, op0, NULL_RTX, unsignedp);
+@@ -3588,7 +3589,8 @@ maybe_emit_unop_insn (enum insn_code ico
+ 
+   if (INSN_P (pat) && NEXT_INSN (pat) != NULL_RTX
+       && code != UNKNOWN)
+-    add_equal_note (pat, ops[0].value, code, ops[1].value, NULL_RTX);
++    add_equal_note (pat, ops[0].value, code, ops[1].value, NULL_RTX,
++		    GET_MODE (op0));
+ 
+   emit_insn (pat);
+ 
+--- gcc/testsuite/gcc.dg/pr88905.c.jj	2019-01-21 14:19:17.279746531 +0100
++++ gcc/testsuite/gcc.dg/pr88905.c	2019-01-21 14:18:56.264091537 +0100
+@@ -0,0 +1,21 @@
++/* PR target/88905 */
++/* { dg-do compile } */
++/* { dg-options "-Og -fno-tree-ccp" } */
++/* { dg-additional-options "-mabm" { target { i?86-*-* x86_64-*-* } } } */
++
++int a, b, c;
++extern void baz (int);
++
++static inline int
++bar (unsigned u)
++{
++  int i = __builtin_popcountll (-(unsigned long long) u);
++  baz (i & c);
++  return a + b + c;
++}
++
++void
++foo (void)
++{
++  bar (2376498292ULL);
++}

diff --git a/gcc9-pr88906.patch b/gcc9-pr88906.patch
new file mode 100644
index 0000000..4758f46
--- /dev/null
+++ b/gcc9-pr88906.patch
@@ -0,0 +1,94 @@
+2019-01-21  Jakub Jelinek  <jakub@redhat.com>
+
+	PR rtl-optimization/49429
+	PR target/49454
+	PR rtl-optimization/86334
+	PR target/88906
+	* expr.c (emit_block_move_hints): Move marking of MEM_EXPRs
+	addressable from here...
+	(emit_block_op_via_libcall): ... to here.
+
+	* gcc.target/i386/pr86334.c: New test.
+	* gcc.target/i386/pr88906.c: New test.
+
+--- gcc/expr.c.jj	2019-01-10 11:43:08.958466880 +0100
++++ gcc/expr.c	2019-01-21 12:06:41.782406169 +0100
+@@ -1631,14 +1631,6 @@ emit_block_move_hints (rtx x, rtx y, rtx
+       if (may_use_call < 0)
+ 	return pc_rtx;
+ 
+-      /* Since x and y are passed to a libcall, mark the corresponding
+-	 tree EXPR as addressable.  */
+-      tree y_expr = MEM_EXPR (y);
+-      tree x_expr = MEM_EXPR (x);
+-      if (y_expr)
+-	mark_addressable (y_expr);
+-      if (x_expr)
+-	mark_addressable (x_expr);
+       retval = emit_block_copy_via_libcall (x, y, size,
+ 					    method == BLOCK_OP_TAILCALL);
+     }
+@@ -1884,6 +1876,15 @@ emit_block_op_via_libcall (enum built_in
+   tree call_expr, dst_tree, src_tree, size_tree;
+   machine_mode size_mode;
+ 
++  /* Since dst and src are passed to a libcall, mark the corresponding
++     tree EXPR as addressable.  */
++  tree dst_expr = MEM_EXPR (dst);
++  tree src_expr = MEM_EXPR (src);
++  if (dst_expr)
++    mark_addressable (dst_expr);
++  if (src_expr)
++    mark_addressable (src_expr);
++
+   dst_addr = copy_addr_to_reg (XEXP (dst, 0));
+   dst_addr = convert_memory_address (ptr_mode, dst_addr);
+   dst_tree = make_tree (ptr_type_node, dst_addr);
+--- gcc/testsuite/gcc.target/i386/pr86334.c.jj	2019-01-21 17:52:04.408370956 +0100
++++ gcc/testsuite/gcc.target/i386/pr86334.c	2019-01-21 17:52:58.504482908 +0100
+@@ -0,0 +1,21 @@
++/* PR rtl-optimization/86334 */
++/* { dg-do run { target ia32 } } */
++/* { dg-options "-O -march=i386 -mtune=athlon -minline-all-stringops -minline-stringops-dynamically -mmemcpy-strategy=libcall:-1:align -Wno-psabi" } */
++
++typedef int V __attribute__ ((vector_size (64)));
++
++static inline V
++foo (V g)
++{
++  g[0] = 4;
++  return g;
++}
++
++int
++main ()
++{
++  V x = foo ((V) { });
++  if (x[0] != 4 || x[1] || x[2] || x[3] || x[4] || x[5] || x[6] || x[7])
++    __builtin_abort ();
++  return 0;
++}
+--- gcc/testsuite/gcc.target/i386/pr88906.c.jj	2019-01-21 12:08:53.110252030 +0100
++++ gcc/testsuite/gcc.target/i386/pr88906.c	2019-01-21 17:53:08.082325657 +0100
+@@ -0,0 +1,21 @@
++/* PR target/88906 */
++/* { dg-do run { target ia32 } } */
++/* { dg-options "-O -march=i386 -mtune=k6 -minline-all-stringops -minline-stringops-dynamically -mmemcpy-strategy=libcall:-1:align -Wno-psabi" } */
++
++typedef unsigned V __attribute__ ((vector_size (16)));
++
++static inline V
++foo (V v)
++{
++  __builtin_sub_overflow (0, 0, &v[0]);
++  return v;
++}
++
++int
++main ()
++{
++  V v = foo ((V) { ~0 });
++  if (v[0] || v[1] || v[2] || v[3])
++    __builtin_abort ();
++  return 0;
++}

diff --git a/gcc9-utf-array-test.patch b/gcc9-utf-array-test.patch
deleted file mode 100644
index 2e3c18d..0000000
--- a/gcc9-utf-array-test.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-2019-01-18  Jakub Jelinek  <jakub@redhat.com>
-
-	* gcc.dg/utf-array.c: Allow wchar_t to be printed as
-	{long ,short ,}{unsigned ,}int.
-
---- gcc/testsuite/gcc.dg/utf-array.c.jj	2019-01-18 00:33:20.867980701 +0100
-+++ gcc/testsuite/gcc.dg/utf-array.c	2019-01-18 23:32:57.086524528 +0100
-@@ -12,13 +12,13 @@ typedef __CHAR32_TYPE__	char32_t;
- const char	s_0[]	= "ab";
- const char	s_1[]	= u"ab";	/* { dg-error "from a string literal with type array of" } */
- const char	s_2[]	= U"ab";	/* { dg-error "from a string literal with type array of" } */
--const char	s_3[]	= L"ab";	/* { dg-error "from a string literal with type array of .int." } */
-+const char	s_3[]	= L"ab";	/* { dg-error "from a string literal with type array of .(long |short )?(unsigned )?int." } */
- const char	s_4[]	= u8"ab";
- 
- const char16_t	s16_0[]	= "ab";		/* { dg-error "from a string literal with type array of .char." } */
- const char16_t	s16_1[]	= u"ab";
- const char16_t	s16_2[]	= U"ab";	/* { dg-error "from a string literal with type array of" } */
--const char16_t	s16_3[]	= L"ab";	/* { dg-error "from a string literal with type array of .int." "" { target { ! wchar_t_char16_t_compatible } } } */
-+const char16_t	s16_3[]	= L"ab";	/* { dg-error "from a string literal with type array of .(long |short )?(unsigned )?int." "" { target { ! wchar_t_char16_t_compatible } } } */
- const char16_t	s16_4[]	= u8"ab";	/* { dg-error "from a string literal with type array of .char." } */
- 
- const char16_t	s16_5[0] = u"ab";	/* { dg-warning "chars is too long" } */
-@@ -30,7 +30,7 @@ const char16_t	s16_9[4] = u"ab";
- const char32_t	s32_0[]	= "ab";		/* { dg-error "from a string literal with type array of .char." } */
- const char32_t	s32_1[]	= u"ab";	/* { dg-error "from a string literal with type array of" } */
- const char32_t	s32_2[]	= U"ab";
--const char32_t	s32_3[]	= L"ab";	/* { dg-error "from a string literal with type array of .int." "" { target { ! wchar_t_char32_t_compatible } } } */
-+const char32_t	s32_3[]	= L"ab";	/* { dg-error "from a string literal with type array of .(long |short )?(unsigned )?int." "" { target { ! wchar_t_char32_t_compatible } } } */
- const char32_t	s32_4[]	= u8"ab";	/* { dg-error "from a string literal with type array of .char." } */
- 
- const char32_t	s32_5[0] = U"ab";	/* { dg-warning "chars is too long" } */

diff --git a/sources b/sources
index 41c6849..aa96da8 100644
--- a/sources
+++ b/sources
@@ -1,3 +1,3 @@
-SHA512 (gcc-9.0.0-20190119.tar.xz) = 22d58049867a220493ec77da591ebf4a4bc05513451f31a4e9d990035b0a6f571d495fc86ec607bb6eb7aebb310e57ccab669b764d07503ce1e6f6109b893262
+SHA512 (gcc-9.0.0-20190121.tar.xz) = 18dda8f278e99e1cf93fb30f60faa2b4828c13f289de7412e62d59076357b0674f5ae891ac879d7d47a18cf0c291fdb34795162180fc9c9b2651ad42ca08f478
 SHA512 (nvptx-newlib-aadc8eb0ec43b7cd0dd2dfb484bae63c8b05ef24.tar.xz) = 94f7089365296f7dfa485107b4143bebc850a81586f3460fd896bbbb6ba099a00217d4042133424fd2183b352132f4fd367e6a60599bdae2a26dfd48a77d0e04
 SHA512 (nvptx-tools-c28050f60193b3b95a18866a96f03334e874e78f.tar.xz) = a688cb12cf805950a5abbb13b52f45c81dbee98e310b7ed57ae20e76dbfa5964a16270148374a6426d177db71909d28360490f091c86a5d19d4faa5127beeee1

                 reply	other threads:[~2026-06-29 12:28 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=178273609220.1.3701977037384724902.rpms-gcc-cee0dddd34c8@fedoraproject.org \
    --to=jakub@redhat.com \
    --cc=git-commits@fedoraproject.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox