Предупреждение GCC: ISO C не разрешает именованные макросы с переменным числом аргументов

Используя следующую команду

gcc -c -Wall -Wextra -pedantic -ansi -std=c99 -fstack-protector-all -fstack-check -O3 root.c -o  rootTESTOBJECT

, я получаю предупреждение компилятора root.h: 76: 22: предупреждение: ISO C не разрешает именованные макросы с переменным числом аргументов

72 #ifdef Debug
73 #include <stdio.h>
74 #define crumb(phrase0...) printf(phrase0)
75 #else
76 #define crumb(phrase0...) 
77 #endif

Я считаю, что опция -ansi -std = c99 позволяет использовать макросы с переменным числом аргументов, в любом случае это выполняется в соответствии с документами ...

Я попытался отредактировать строку 76 до

76 #define crumb(phrase0...) printf("")

, чтобы увидеть, исправлено ли это предупреждение, но без особой радости.

версия компилятора - Apple gcc, версия 4.2.1 Я не уверен, что меня это слишком беспокоит, но я действительно не люблю предупреждения. Какого флага мне не хватает?

11
задан jonsca 19 July 2011 в 16:20
поделиться