On 8/7/24 7:08 PM, Nathaniel Shead wrote:
Bootstrapped and regtested on x86_64-pc-linux-gnu, OK for trunk?
OK.
-- >8 --
This error message reads to me the wrong way around, particularly in the
context of other errors. Updated so that the ellipsis connect.
gcc/cp/ChangeLog:
* module.cc (trees_in::read_enum_def): Clarify error.
gcc/testsuite/ChangeLog:
* g++.dg/modules/enum-bad-1_b.C: Update error message.
Signed-off-by: Nathaniel Shead <nathanielosh...@gmail.com>
---
gcc/cp/module.cc | 4 ++--
gcc/testsuite/g++.dg/modules/enum-bad-1_b.C | 6 +++---
2 files changed, 5 insertions(+), 5 deletions(-)
diff --git a/gcc/cp/module.cc b/gcc/cp/module.cc
index 723f0890d96..0f3e1d97c53 100644
--- a/gcc/cp/module.cc
+++ b/gcc/cp/module.cc
@@ -12687,9 +12687,9 @@ trees_in::read_enum_def (tree defn, tree maybe_template)
if (known_decl && new_decl)
{
inform (DECL_SOURCE_LOCATION (new_decl),
- "... this enumerator %qD", new_decl);
+ "enumerator %qD does not match ...", new_decl);
inform (DECL_SOURCE_LOCATION (known_decl),
- "enumerator %qD does not match ...", known_decl);
+ "... this enumerator %qD", known_decl);
}
else if (known_decl || new_decl)
{
diff --git a/gcc/testsuite/g++.dg/modules/enum-bad-1_b.C
b/gcc/testsuite/g++.dg/modules/enum-bad-1_b.C
index b01cd66a14d..23e17b088a2 100644
--- a/gcc/testsuite/g++.dg/modules/enum-bad-1_b.C
+++ b/gcc/testsuite/g++.dg/modules/enum-bad-1_b.C
@@ -13,13 +13,13 @@ import "enum-bad-1_a.H";
ONE one;
-// { dg-regexp {In module [^\n]*enum-bad-1_a.H, imported at
[^\n]*enum-bad-1_b.C:8:\n[^\n]*enum-bad-1_a.H:5:6: error: definition of 'enum
ONE' does not match\n[^\n]*enum-bad-1_b.C:3:6: note: existing definition 'enum
ONE'\nIn module [^\n]*enum-bad-1_a.H, imported at
[^\n]*enum-bad-1_b.C:8:\n[^\n]*enum-bad-1_a.H:5:11: note: ... this enumerator
'A'\n[^\n]*enum-bad-1_b.C:3:11: note: enumerator 'Q' does not match
...\n[^\n]*enum-bad-1_b.C:15:1: note: during load of binding '::ONE'\n} }
+// { dg-regexp {In module [^\n]*enum-bad-1_a.H, imported at
[^\n]*enum-bad-1_b.C:8:\n[^\n]*enum-bad-1_a.H:5:6: error: definition of 'enum
ONE' does not match\n[^\n]*enum-bad-1_b.C:3:6: note: existing definition 'enum
ONE'\nIn module [^\n]*enum-bad-1_a.H, imported at
[^\n]*enum-bad-1_b.C:8:\n[^\n]*enum-bad-1_a.H:5:11: note: enumerator 'A' does
not match ...\n[^\n]*enum-bad-1_b.C:3:11: note: ... this enumerator
'Q'\n[^\n]*enum-bad-1_b.C:15:1: note: during load of binding '::ONE'\n} }
int i = TWO;
-// { dg-regexp {In module [^\n]*enum-bad-1_a.H, imported at
[^\n]*enum-bad-1_b.C:8:\n[^\n]*enum-bad-1_a.H:6:6: error: definition of
'enum<unnamed>' does not match\n[^\n]*enum-bad-1_b.C:4:6: note: existing definition
'enum<unnamed>'\nIn module [^\n]*enum-bad-1_a.H, imported at
[^\n]*enum-bad-1_b.C:8:\n[^\n]*enum-bad-1_a.H:6:12: note: ... this enumerator
'THREE'\n[^\n]*enum-bad-1_b.C:4:12: note: enumerator 'DREI' does not match
...\n[^\n]*enum-bad-1_b.C:18:9: note: during load of binding '::TWO'\n} }
+// { dg-regexp {In module [^\n]*enum-bad-1_a.H, imported at
[^\n]*enum-bad-1_b.C:8:\n[^\n]*enum-bad-1_a.H:6:6: error: definition of
'enum<unnamed>' does not match\n[^\n]*enum-bad-1_b.C:4:6: note: existing definition
'enum<unnamed>'\nIn module [^\n]*enum-bad-1_a.H, imported at
[^\n]*enum-bad-1_b.C:8:\n[^\n]*enum-bad-1_a.H:6:12: note: enumerator 'THREE' does not match
...\n[^\n]*enum-bad-1_b.C:4:12: note: ... this enumerator
'DREI'\n[^\n]*enum-bad-1_b.C:18:9: note: during load of binding '::TWO'\n} }
FOUR four;
-// { dg-regexp {In module [^\n]*enum-bad-1_a.H, imported at
[^\n]*enum-bad-1_b.C:8:\n[^\n]*enum-bad-1_a.H:7:6: error: definition of 'enum
FOUR' does not match\n[^\n]*enum-bad-1_b.C:5:6: note: existing definition 'enum
FOUR'\nIn module [^\n]*enum-bad-1_a.H, imported at
[^\n]*enum-bad-1_b.C:8:\n[^\n]*enum-bad-1_a.H:7:12: note: ... this enumerator
'B'\n[^\n]*enum-bad-1_b.C:5:12: note: enumerator 'B' does not match
...\n[^\n]*enum-bad-1_b.C:21:1: note: during load of binding '::FOUR'\n} }
+// { dg-regexp {In module [^\n]*enum-bad-1_a.H, imported at
[^\n]*enum-bad-1_b.C:8:\n[^\n]*enum-bad-1_a.H:7:6: error: definition of 'enum
FOUR' does not match\n[^\n]*enum-bad-1_b.C:5:6: note: existing definition 'enum
FOUR'\nIn module [^\n]*enum-bad-1_a.H, imported at
[^\n]*enum-bad-1_b.C:8:\n[^\n]*enum-bad-1_a.H:7:12: note: enumerator 'B' does
not match ...\n[^\n]*enum-bad-1_b.C:5:12: note: ... this enumerator
'B'\n[^\n]*enum-bad-1_b.C:21:1: note: during load of binding '::FOUR'\n} }
FIVE five;
// { dg-regexp {In module [^\n]*enum-bad-1_a.H, imported at
[^\n]*enum-bad-1_b.C:8:\n[^\n]*enum-bad-1_a.H:8:6: error: definition of 'enum
FIVE' does not match\n[^\n]*enum-bad-1_b.C:6:6: note: existing definition 'enum
FIVE'\nIn module [^\n]*enum-bad-1_a.H, imported at
[^\n]*enum-bad-1_b.C:8:\n[^\n]*enum-bad-1_a.H:8:18: note: additional
enumerators beginning with 'E'\n[^\n]*enum-bad-1_b.C:24:1: note: during load of
binding '::FIVE'\n} }