Предупреждение «Использование расширения выражения оператора GNU»
У меня есть эта цель Objective-C:
NSRange range = NSMakeRange(i, MIN(a, b));
гдеa
а такжеb
являютсяNSUInteger
s.
MIN()
это макрос, определенный в стандартеNSObjCRuntime.h
заголовочный файл как:
#if !defined(MIN)
#define MIN(A,B) ({ __typeof__(A) __a = (A); __typeof__(B) __b = (B); __a < __b ? __a : __b; })
#endif
Во время компиляции LLVM Compiler 4.1 выделяет мою инструкцию с предупреждением: «Использование расширения выражения оператора GNU ".
Что это значит? Это моя вина? Если да, как я могу это исправить? Если нет, как я могу удалить предупреждение компилятора?