Advertencia "Uso de la extensión de expresión de declaración GNU"
Tengo esta instrucción de Objetivo:
NSRange range = NSMakeRange(i, MIN(a, b));
dóndea
yb
sonNSUInteger
s.
MIN()
Es la macro definida en el estándar.NSObjCRuntime.h
archivo de cabecera como:
#if !defined(MIN)
#define MIN(A,B) ({ __typeof__(A) __a = (A); __typeof__(B) __b = (B); __a < __b ? __a : __b; })
#endif
Durante la compilación, el compilador 4.1 LLVM resalta mi instrucción que muestra la advertencia: "Uso de la extensión de expresión de la declaración GNU".
¿Qué significa esto? ¿Es mi culpa? Si es así, ¿cómo puedo solucionarlo? Si no, ¿cómo puedo eliminar la advertencia del compilador?