[C++ PATCH] Add test for c++/67533 (or not?)

Marek Polacek polacek@redhat.com
Sun Jun 9 23:37:00 GMT 2019


This testcase used to ICE but was fixed by r259067.  We now issue

67533.C:5:26: error: conversion from ‘void’ to non-scalar type ‘Tls’ requested
    5 | thread_local Tls mytls = mytls; // { dg-error "" }
      |                          ^~~~~

whereas clang++ and icc compile it.  However, the test uses a reserved identifier
([lex.name]/3), and I think the error is fine.

Do you think it's worth adding this test?  I thought so, just to check we don't
ICE, but who uses a mangled name as an identifier?!

Tested x86_64-linux, ok for trunk?

2019-06-09  Marek Polacek  <polacek@redhat.com>

	PR c++/67533
	* g++.dg/tls/thread_local-ice5.C: New test.

diff --git gcc/testsuite/g++.dg/tls/thread_local-ice5.C gcc/testsuite/g++.dg/tls/thread_local-ice5.C
new file mode 100644
index 00000000000..4147c322e7b
--- /dev/null
+++ gcc/testsuite/g++.dg/tls/thread_local-ice5.C
@@ -0,0 +1,7 @@
+// PR c++/67533
+// { dg-do compile { target c++11 } }
+// { dg-require-effective-target tls }
+
+struct Tls {};
+void _ZTW5mytls();
+thread_local Tls mytls = mytls; // { dg-error "" }



More information about the Gcc-patches mailing list