Опции и настройки компилятора
Прагмы
Предварительное объевления объектов
@__PRAGMA_DECLARE__
@__PRAGMA_DECLARE__( func(arg) );
Импорт нативной функции / переменной
@__PRAGMA_NATIVE__
// import native int printf(char *format, ...)
@__PRAGMA_NATIVE__( printf(format:FmtChar, ...):Int32 );
Управление диагностикой компилятора
@__PRAGMA_DIAG__ -
@__PRAGMA_DIAG__(push)
@__PRAGMA_DIAG__(ignored, "-Wundef")
@__PRAGMA_DIAG__(warning, "-Wformat" , "-Wundef", "-Wuninitialized")
@__PRAGMA_DIAG__(error, "-Wuninitialized")
@__PRAGMA_DIAG__(pop)
@__PRAGMA_MESSAGE__
#pragma message "Compiling " __FILE__ "..."
@__PRAGMA_MESSAGE__("Compiling ", __FILE__, "...")
#define DO_PRAGMA(x) _Pragma (#x)
#define TODO(x) DO_PRAGMA(message ("TODO - " #x))
@@TODO( ... )@@ := @__PRAGMA_MESSAGE__("TODO - ", @#...)
@TODO(Remember to fix this) # note: TODO - Remember to fix this
@__PRAGMA_WARNING__ @__PRAGMA_ERROR__
- @__PRAGMA_LOCATION__
// #line 303 "location.hh"
// Prototype - @__PRAGMA_LOCATION__( pop )
// Prototype - @__PRAGMA_LOCATION__( push ) or @__PRAGMA_LOCATION__( push, 'filename') or @__PRAGMA_LOCATION__( push, 'filename', line)
// Prototype - @__PRAGMA_LOCATION__( line ) or @__PRAGMA_LOCATION__( line, 'filename')
Управление макросами
@__PRAGMA_EXPECTED__ - Следующий символ должен быть одним из списка
@__PRAGMA_EXPECTED__( @\ {, @\ {*, @\ {+ )
{ }
@__PRAGMA_EXPECTED__( @\ {, @\ {*, @\ {+)
{+ +}
@__PRAGMA_UNEXPECTED__ - Запретить использование перечисленных символов
@__PRAGMA_UNEXPECTED__( @\{, @\{*, @\{+)
{- -}
@__PRAGMA_UNEXPECTED__( @\{*, @\{+)
{ }
@__PRAGMA_NO_MACRO__ - Следующий символ не макрос
Аннотации
@__ANNOTATION_SET__
@__ANNOTATION_SET__(name)
@__ANNOTATION_SET__(name, "value")
@__ANNOTATION_SET__(name, 1)
@__ANNOTATION_IIF__
Не используется (заготовки на будущее)
@__PRAGMA_IGNORE__
static const char * ignore_space = "space";
static const char * ignore_indent = "indent";
static const char * ignore_comment = "comment";
static const char * ignore_crlf = "crlf";
-
@__PRAGMA_INDENT_BLOCK__
-
@__PRAGMA_MACRO__ -
-
@__PRAGMA_MACRO_COND__
-
@__PRAGMA_FINALIZE__