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 ybsonNSUIntegers.

MIN() Es la macro definida en el estándar.NSObjCRuntime.harchivo 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?

Respuestas a la pregunta(4)

Su respuesta a la pregunta