]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
d: Fix ICE in expand_d_format when diagnosing empty enum [PR117115]
authorIain Buclaw <ibuclaw@gdcproject.org>
Fri, 17 Jan 2025 19:10:39 +0000 (20:10 +0100)
committerIain Buclaw <ibuclaw@gdcproject.org>
Fri, 17 Jan 2025 19:24:20 +0000 (20:24 +0100)
This was fixed in upstream dmd, and merged in r15-6824. Backport the
individual fix from the upstream merge for releases/gcc-14.

PR d/117115

gcc/testsuite/ChangeLog:

* gdc.dg/pr117115.d: New test.

(cherry picked from commit 975c4f1a5de4ede89ee9499cd1a73d613a4aeae4)

gcc/d/dmd/enumsem.d
gcc/testsuite/gdc.dg/pr117115.d [new file with mode: 0644]

index 3886ca25e97bf80932beeda5edb75caa1c7e4a7b..06683b254907ec2963da006158fbf807d5fb9d94 100644 (file)
@@ -186,7 +186,7 @@ void enumSemantic(Scope* sc, EnumDeclaration ed)
 
     if (ed.members.length == 0)
     {
-        .error(ed.loc, "%s `%s enum `%s` must have at least one member", ed.kind, ed.toPrettyChars, ed.toChars());
+        .error(ed.loc, "%s `%s` enum `%s` must have at least one member", ed.kind, ed.toPrettyChars, ed.toChars());
         ed.errors = true;
         ed.semanticRun = PASS.semanticdone;
         return;
diff --git a/gcc/testsuite/gdc.dg/pr117115.d b/gcc/testsuite/gdc.dg/pr117115.d
new file mode 100644 (file)
index 0000000..b012268
--- /dev/null
@@ -0,0 +1,3 @@
+// { dg-do compile }
+
+enum E117115 {} // { dg-error "must have at least one member" }