Формат диагностики gcc
- это номер строки и диагностическое сообщение.Неисправный код не отображается.
Если вы хотите более выразительную диагностику, попробуйте компилятор clang
.Формат диагностики clang
- это номер строки, номер столбца, диагностическое сообщение и вставка кода, вызывающего сбой, с некоторыми пометками, показывающими, где проблема.
Например, если этот код указан спропущенная точка с запятой после оператора printf:
#include <stdio.h>
int main(void)
{
int a = 42;
printf("%d\n", a)
return 0;
}
Вот разница диагностических сообщений между gcc
и clang
:
$ gcc -Wall tst.c
tst.c: In function ‘main’:
tst.c:9: error: expected ‘;’ before ‘return’
$ clang -Wall tst.c
tst.c:7:22: error: expected ';' after expression
printf("%d\n", a)
^
;
1 diagnostic generated.
$