diff options
author | Piotr H. Dabrowski <phd@phd.re> | 2020-11-13 12:27:16 -0500 |
---|---|---|
committer | Jeff Law <law@torsion.usersys.redhat.com> | 2020-11-13 12:28:33 -0500 |
commit | 6f1ae1ecd351348eb33b515c5e23778651bee028 (patch) | |
tree | 78b8d2ec786a7f7dc59919238643cc01b08ff1a9 /libcpp/directives.c | |
parent | e7e0eeeb6e6707be2a6c6da49d4b6be3199e2af8 (diff) | |
download | gcc-6f1ae1ecd351348eb33b515c5e23778651bee028.zip gcc-6f1ae1ecd351348eb33b515c5e23778651bee028.tar.gz gcc-6f1ae1ecd351348eb33b515c5e23778651bee028.tar.bz2 |
Do not warn about unused macros while processing #pragma GCC optimize
libcpp
PR c++/91318
* include/cpplib.h: Added cpp_define_unused(), cpp_define_formatted_unused()
* directives.c: Likewise.
gcc/c-family
PR c++/91318
* c-cppbuiltin.c: c_cpp_builtins_optimize_pragma(): use cpp_define_unused()
Diffstat (limited to 'libcpp/directives.c')
-rw-r--r-- | libcpp/directives.c | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/libcpp/directives.c b/libcpp/directives.c index 4295a67..c4ecb96 100644 --- a/libcpp/directives.c +++ b/libcpp/directives.c @@ -2412,6 +2412,15 @@ cpp_define (cpp_reader *pfile, const char *str) run_directive (pfile, T_DEFINE, buf, count); } +/* Like cpp_define, but does not warn about unused macro. */ +void +cpp_define_unused (cpp_reader *pfile, const char *str) +{ + unsigned char warn_unused_macros = CPP_OPTION (pfile, warn_unused_macros); + CPP_OPTION (pfile, warn_unused_macros) = 0; + cpp_define (pfile, str); + CPP_OPTION (pfile, warn_unused_macros) = warn_unused_macros; +} /* Use to build macros to be run through cpp_define() as described above. @@ -2431,6 +2440,20 @@ cpp_define_formatted (cpp_reader *pfile, const char *fmt, ...) free (ptr); } +/* Like cpp_define_formatted, but does not warn about unused macro. */ +void +cpp_define_formatted_unused (cpp_reader *pfile, const char *fmt, ...) +{ + char *ptr; + + va_list ap; + va_start (ap, fmt); + ptr = xvasprintf (fmt, ap); + va_end (ap); + + cpp_define_unused (pfile, ptr); + free (ptr); +} /* Slight variant of the above for use by initialize_builtins. */ void |