Hi!

Now that we have -std=c++29, we should also verify we don't fail to uglify
names in that mode.

Tested on x86_64-linux, ok for trunk?

2026-06-25  Jakub Jelinek  <[email protected]>

        * g++.dg/plugin/plugin.exp (plugin_test_list): Add
        uglification-c++29.C.
        * g++.dg/plugin/uglification-c++29.C: New test.

--- gcc/testsuite/g++.dg/plugin/plugin.exp.jj   2026-04-29 23:16:25.368254065 
+0200
+++ gcc/testsuite/g++.dg/plugin/plugin.exp      2026-06-25 09:37:19.480794688 
+0200
@@ -88,7 +88,8 @@ set plugin_test_list [list \
          uglification-c++17.C \
          uglification-c++20.C \
          uglification-c++23.C \
-         uglification-c++26.C } \
+         uglification-c++26.C \
+         uglification-c++29.C } \
     { std_module_exports_plugin.cc \
          std-module-exports-c++20.C \
          std-module-exports-c++23.C \
--- gcc/testsuite/g++.dg/plugin/uglification-c++29.C.jj 2026-06-25 
09:26:15.416377019 +0200
+++ gcc/testsuite/g++.dg/plugin/uglification-c++29.C    2026-06-25 
09:26:28.703204995 +0200
@@ -0,0 +1,9 @@
+// Verify template parameter names, names of arguments and block scope decls
+// in functions and function templates are uglified and don't contain
+// badnames.
+// { dg-options "-O0 -std=c++29 -freflection" }
+
+#include <bits/stdc++.h>
+
+// { dg-bogus "note: non-uglified name" "" { target *-*-* } 0 }
+// { dg-bogus "note: badname" "" { target *-*-* } 0 }

        Jakub

Reply via email to