aboutsummaryrefslogtreecommitdiff
path: root/gcc/diagnostic.c
diff options
context:
space:
mode:
authorAndrew Stubbs <ams@codesourcery.com>2018-09-11 10:26:57 +0000
committerAndrew Stubbs <ams@gcc.gnu.org>2018-09-11 10:26:57 +0000
commitad172f720de079e6169897e5edada8d887560a33 (patch)
treed3177108bda8a7903b833775c9aafbfc6cadb6b7 /gcc/diagnostic.c
parent075cdac363c06c1524732855eee852965737c5ec (diff)
downloadgcc-ad172f720de079e6169897e5edada8d887560a33.zip
gcc-ad172f720de079e6169897e5edada8d887560a33.tar.gz
gcc-ad172f720de079e6169897e5edada8d887560a33.tar.bz2
Add sorry_at diagnostic function.
The plain "sorry" diagnostic only gives the "current" location, which is typically the last line of the function or translation unit by time we get to the back end. GCN uses "sorry" to report unsupported language features, such as static constructors, so it's useful to have a "sorry_at" variant. This patch implements "sorry_at" according to the pattern of the other "at" variants. 2018-09-11 Andrew Stubbs <ams@codesourcery.com> gcc/ * diagnostic-core.h (sorry_at): New prototype. * diagnostic.c (sorry_at): New function. From-SVN: r264204
Diffstat (limited to 'gcc/diagnostic.c')
-rw-r--r--gcc/diagnostic.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/gcc/diagnostic.c b/gcc/diagnostic.c
index aae0934..8575065 100644
--- a/gcc/diagnostic.c
+++ b/gcc/diagnostic.c
@@ -1443,6 +1443,18 @@ sorry (const char *gmsgid, ...)
va_end (ap);
}
+/* Same as above, but use location LOC instead of input_location. */
+void
+sorry_at (location_t loc, const char *gmsgid, ...)
+{
+ auto_diagnostic_group d;
+ va_list ap;
+ va_start (ap, gmsgid);
+ rich_location richloc (line_table, loc);
+ diagnostic_impl (&richloc, -1, gmsgid, &ap, DK_SORRY);
+ va_end (ap);
+}
+
/* Return true if an error or a "sorry" has been seen. Various
processing is disabled after errors. */
bool