Как включить предупреждения gcc для забытого оператора return? - PullRequest
6 голосов
/ 14 апреля 2011

Как включить предупреждения gcc для забытого оператора return?

Он должен предупреждать меня в случаях, подобных следующему:

int foo() {
  std::cout << "haha";
}

Я знаю, -Wall превращает это впредупреждение включено, но оно включает слишком много других предупреждений.

Ответы [ 2 ]

18 голосов
/ 14 апреля 2011

Согласно онлайн документации gcc , -Wall включается:

      -Waddress   
      -Warray-bounds (only with -O2)  
      -Wc++0x-compat  
      -Wchar-subscripts  
      -Wenum-compare (in C/Objc; this is on by default in C++) 
      -Wimplicit-int (C and Objective-C only) 
      -Wimplicit-function-declaration (C and Objective-C only) 
      -Wcomment  
      -Wformat   
      -Wmain (only for C/ObjC and unless -ffreestanding)  
      -Wmissing-braces  
      -Wnonnull  
      -Wparentheses  
      -Wpointer-sign  
      -Wreorder   
      -Wreturn-type  
      -Wsequence-point  
      -Wsign-compare (only in C++)  
      -Wstrict-aliasing  
      -Wstrict-overflow=1  
      -Wswitch  
      -Wtrigraphs  
      -Wuninitialized  
      -Wunknown-pragmas  
      -Wunused-function  
      -Wunused-label     
      -Wunused-value     
      -Wunused-variable  
      -Wvolatile-register-var 

Из них -Wreturn-type кажется, что это бы сработало:

Предупреждать всякий раз, когда функция определена с типом возврата, который по умолчанию равен int. Также предупреждает о любом операторе возврата без возвращаемого значения в функции, чей тип возврата не является пустым (падение конца тела функции считается возвращаемым без значения) , и об операторе возврата с выражение в функции, тип возвращаемого значения void.

Однако, если при включении -Wall в вашем коде слишком много предупреждений, я бы порекомендовал исправить ваш код!

0 голосов
/ 14 апреля 2011

всегда используйте:

gcc -g -ansi -pedantic -Wall -o

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...