aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2022-11-23 14:43:48 +0100
committerJakub Jelinek <jakub@redhat.com>2022-11-23 14:43:48 +0100
commitd601708870ad8dc3ef935e440bf03394891d42e2 (patch)
tree46b12a4827396e8332b0797ca80629e6a6f2763d
parent52a0ef696e1d7858fde1ded81ac8063a5768127c (diff)
downloadgcc-d601708870ad8dc3ef935e440bf03394891d42e2.zip
gcc-d601708870ad8dc3ef935e440bf03394891d42e2.tar.gz
gcc-d601708870ad8dc3ef935e440bf03394891d42e2.tar.bz2
diagnostics: Fix selftest ICE in certain locales [PR107722]
As reported in the PR, since special_fname_builtin () call has been introduced, the diagnostics code compares filename against _("<built-in>") rather than "<built-in>", which means that if self tests are performed with the string being translated, one self-test fails. The following patch fixes that. 2022-11-23 Jakub Jelinek <jakub@redhat.com> PR bootstrap/107722 * diagnostic.cc (test_diagnostic_get_location_text): Test special_fname_builtin () rather than "<built-in>" and expect special_fname_builtin () concatenated with ":" for it.
-rw-r--r--gcc/diagnostic.cc5
1 files changed, 4 insertions, 1 deletions
diff --git a/gcc/diagnostic.cc b/gcc/diagnostic.cc
index 7c7ee6d..a9562a8 100644
--- a/gcc/diagnostic.cc
+++ b/gcc/diagnostic.cc
@@ -2593,7 +2593,10 @@ test_diagnostic_get_location_text ()
const char *old_progname = progname;
progname = "PROGNAME";
assert_location_text ("PROGNAME:", NULL, 0, 0, true);
- assert_location_text ("<built-in>:", "<built-in>", 42, 10, true);
+ char *built_in_colon = concat (special_fname_builtin (), ":", (char *) 0);
+ assert_location_text (built_in_colon, special_fname_builtin (),
+ 42, 10, true);
+ free (built_in_colon);
assert_location_text ("foo.c:42:10:", "foo.c", 42, 10, true);
assert_location_text ("foo.c:42:9:", "foo.c", 42, 10, true, 0);
assert_location_text ("foo.c:42:1010:", "foo.c", 42, 10, true, 1001);