Loose-Info.com
Last Update 2021/03/12
TOP - 各種テスト - gcc - -fdiagnostics-generate-patch オプション

-fdiagnostics-generate-patch オプション
fix-itのヒントをdiff形式で標準エラーに出力

テスト概要

-fdiagnostics-generate-patch オプション指定で出力

実行環境

GCC-8.2.0
GNU C Library 2.28
GNU Binutils 2.31.1


コード例・出力内容中の表記

・実行例中の太字表記部分は、コマンドなどの入力された文字列を示します。
・「」や「...」の着色省略表記は、 実際のソースコードや出力内容などを省略加工した部分を示します。

使用ファイル

main.c
/* -fdiagnostics-generate-patch オプション動作確認用ソースファイル */ #include <stdio.h> int main(void) { iint n; flot f; prinnntf("Error!!!\n"); return 0; }

動作テスト

-fdiagnostics-generate-patch オプション指定で出力
fix-itヒント出力のため、-fdiagnostics-parseable-fixitsを指定
着色部は出力されたdiff形式テキスト
$ gcc -fdiagnostics-generate-patch -fdiagnostics-parseable-fixits main.c main.c: In function ‘main’: main.c:7:2: error: unknown type name ‘iint’; did you mean ‘int’? iint n; ^~~~ int fix-it:"main.c":{7:2-7:6}:"int" main.c:9:2: error: unknown type name ‘flot’; did you mean ‘float’? flot f; ^~~~ float fix-it:"main.c":{9:2-9:6}:"float" main.c:11:2: warning: implicit declaration of function ‘prinnntf’; did you mean ‘printf’? [-Wimplicit-function-declaration] prinnntf("Error!!!\n"); ^~~~~~~~ printf fix-it:"main.c":{11:2-11:10}:"printf" --- main.c +++ main.c @@ -4,11 +4,11 @@ int main(void) { - iint n; + int n; - flot f; + float f; - prinnntf("Error!!!\n"); + printf("Error!!!\n"); return 0; } $