mirror of git://gcc.gnu.org/git/gcc.git
Consider:
demo.c: In function 'test':
demo.c:5:40: error: macro "LOG_2" requires 3 arguments, but only 2 given
5 | LOG_2 ("loading file: %s\n", filename);
| ^
This patch adds a note showing the definition of the macro in
question, giving:
demo.c: In function 'test':
demo.c:5:40: error: macro "LOG_2" requires 3 arguments, but only 2 given
5 | LOG_2 ("loading file: %s\n", filename);
| ^
In file included from demo.c:1:
logging.h:1: note: macro "LOG_2" defined here
1 | #define LOG_2(FMT, ARG0, ARG1) do { fprintf (stderr, (FMT), (ARG0), (ARG1)); }
|
gcc/testsuite/ChangeLog:
* g++.dg/diagnostic/macro-arg-count.C: Move to...
* c-c++-common/cpp/macro-arg-count-1.c: ...here, generalizing
output for C vs C++. Expect notes showing the definitions of the
macros.
* c-c++-common/cpp/macro-arg-count-2.c: New test, adapted from the
above.
libcpp/ChangeLog:
* macro.c (_cpp_arguments_ok): If the argument count is wrong, add
a note showing the definition of the macro.
From-SVN: r265040
|
||
|---|---|---|
| .. | ||
| include | ||
| po | ||
| ChangeLog | ||
| ChangeLog.jit | ||
| Makefile.in | ||
| aclocal.m4 | ||
| charset.c | ||
| config.in | ||
| configure | ||
| configure.ac | ||
| directives-only.c | ||
| directives.c | ||
| errors.c | ||
| expr.c | ||
| files.c | ||
| identifiers.c | ||
| init.c | ||
| internal.h | ||
| lex.c | ||
| line-map.c | ||
| location-example.txt | ||
| macro.c | ||
| makeucnid.c | ||
| mkdeps.c | ||
| pch.c | ||
| symtab.c | ||
| system.h | ||
| traditional.c | ||
| ucnid.h | ||
| ucnid.tab | ||