https://gcc.gnu.org/bugzilla/show_bug.cgi?id=118625
Bug ID: 118625
Summary: Ironic fix-it hint when the right parenthesis of an
assert macro is forgotten
Product: gcc
Version: 15.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: c
Assignee: unassigned at gcc dot gnu.org
Reporter: xry111 at gcc dot gnu.org
Target Milestone: ---
#include <assert.h>
int main()
{
assert(1;
}
t1.c: In function 'main':
t1.c:6:2: error: unterminated argument list invoking macro "assert"
6 | }
| ^
t1.c:5:9: error: 'assert' undeclared (first use in this function)
5 | assert(1;
| ^~~~~~
t1.c:2:1: note: 'assert' is defined in header '<assert.h>'; this is probably
fixable by adding '#include <assert.h>'
1 | #include <assert.h>
+++ |+#include <assert.h>
2 |
t1.c:5:9: note: each undeclared identifier is reported only once for each
function it appears in
5 | assert(1;
| ^~~~~~
t1.c:5:15: error: expected ';' at end of input
5 | assert(1;
| ^
| ;
6 | }
t1.c:5:9: error: expected declaration or statement at end of input
5 | assert(1;
| ^~~~~~
The fix-it hint is really ironic.