Estoy intentando construir un pequeño código que funcione en múltiples plataformas y compiladores. Yo uso aserciones, la mayoría de las cuales pueden desactivarse, pero al compilar con PGI pgicpp
usando -mp
para compatibilidad con OpenMP, automáticamente usa la opción --no_exceptions
: todas las partes de mi código con una instrucción "throw" generan un error fatal en el compilador. ("el soporte para el manejo de excepciones está deshabilitado")Detecta el compilador con #ifdef
¿Hay un macro define
d que puedo probar para ocultar las declaraciones throw
en PGI? Normalmente trabajo con gcc, que tiene GCC_VERSION
y similares. No puedo encontrar ninguna documentación que describa estas macros en PGI.
clang http://stackoverflow.com/questions/2658461/what-predefined-macro-can-i-use-to-detect-clang | VC http://stackoverflow.com/questions/15127522/how-to-ifdef-by-compilertype-gcc-or-vc –