lang-c 0.15.1

Lightweight C parser
Documentation
pub const RESERVED_C11: &'static [&'static str] = &[
    "auto",
    "break",
    "case",
    "char",
    "const",
    "continue",
    "default",
    "do",
    "double",
    "else",
    "enum",
    "extern",
    "float",
    "for",
    "goto",
    "if",
    "inline",
    "int",
    "long",
    "register",
    "restrict",
    "return",
    "short",
    "signed",
    "sizeof",
    "static",
    "struct",
    "switch",
    "typedef",
    "union",
    "unsigned",
    "void",
    "volatile",
    "while",
    "_Alignas",
    "_Alignof",
    "_Atomic",
    "_Bool",
    "_Complex",
    "_Generic",
    "_Imaginary",
    "_Noreturn",
    "_Static_assert",
    "_Thread_local",
    "_Float16",
    "_Float16x",
    "_Float32",
    "_Float32x",
    "_Float64",
    "_Float64x",
    "_Float128",
    "_Float128x",
    "_Decimal32",
    "_Decimal32x",
    "_Decimal64",
    "_Decimal64x",
    "_Decimal128",
    "_Decimal128x",
];

pub const RESERVED_GNU: &'static [&'static str] = &[
    "__FUNCTION__",
    "__PRETTY_FUNCTION__",
    "__alignof",
    "__alignof__",
    "__asm",
    "__asm__",
    "__attribute",
    "__attribute__",
    "__builtin_offsetof",
    "__builtin_va_arg",
    "__complex",
    "__complex__",
    "__const",
    "__extension__",
    "__func__",
    "__imag",
    "__imag__",
    "__inline",
    "__inline__",
    "__label__",
    "__null",
    "__real",
    "__real__",
    "__restrict",
    "__restrict__",
    "__signed",
    "__signed__",
    "__thread",
    "__typeof",
    "__volatile",
    "__volatile__",
];

// Ref: https://clang.llvm.org/docs/AttributeReference.html
pub const RESERVED_CLANG: &'static [&'static str] = &[
    // Only enabled with -fms-extensions and only affect *-*-win32 targets
    "__single_inheritance",
    "__multiple_inheritance",
    "__virtual_inheritance",
    "__unspecified_inheritance",
    // Calling conventions
    "__fastcall",
    "__regcall",
    "__stdcall",
    "__thiscall",
    "__vectorcall",
    // Nullability attributes
    "_Nonnull",
    "_Null_unspecified",
    "_Nullable",
];