summaryrefslogtreecommitdiff
path: root/src/mcpp-diagnostic.c
diff options
context:
space:
mode:
authorkx <kx@radix-linux.su>2026-10-01 12:02:28 +0300
committerkx <kx@radix-linux.su>2026-10-01 12:02:28 +0300
commitba1b04d64bdfaf377915b22f77520216ebe47674 (patch)
tree044343035c28b2b04ca9725f26e9b7c39342d19c /src/mcpp-diagnostic.c
parent124b140798456778e2a96851cc7268aa9a726698 (diff)
downloadmcpu-cpp-1.0.2.tar.xz
Version 1.0.21.0.2
Diffstat (limited to 'src/mcpp-diagnostic.c')
-rw-r--r--src/mcpp-diagnostic.c28
1 files changed, 28 insertions, 0 deletions
diff --git a/src/mcpp-diagnostic.c b/src/mcpp-diagnostic.c
new file mode 100644
index 0000000..76e0c25
--- /dev/null
+++ b/src/mcpp-diagnostic.c
@@ -0,0 +1,28 @@
+#include <defs.h>
+#include <stdarg.h>
+
+int
+mcpp_diagnostic_warning( const mcpp_options *options,
+ const char *filename,
+ unsigned line_number,
+ const char *format, ... )
+{
+ va_list ap;
+ int as_error;
+
+ if( options != NULL && options->inhibit_warnings )
+ return( 0 );
+
+ as_error = options != NULL && options->warnings_are_errors;
+
+ fprintf( stderr, "%s:%u: %s: ",
+ filename != NULL ? filename : "<input>", line_number,
+ as_error ? "error" : "warning" );
+
+ va_start( ap, format );
+ vfprintf( stderr, format, ap );
+ va_end( ap );
+ fputc( '\n', stderr );
+
+ return( as_error ? -1 : 0 );
+}