...
However, the C Standard enumerates specific exceptions in which the behavior of accessing an object or function expanded to be a standard library macro definition is undefined. The macros are:
| assert |
|---|
...
| errno |
|---|
...
| math_errhandling |
|---|
...
| setjmp |
|---|
...
| va_start |
...
| va_arg |
...
| va_copy |
...
| va_end |
These . These cases are recorded in Annex J, subclause J.2, items 110, 114, 122, 124, and 138. Programmers should never attempt to access anything underlying any of these macros.
...