diff options
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/c/c-decl.cc | 2 | ||||
-rw-r--r-- | gcc/cp/cp-objcp-common.cc | 1 | ||||
-rw-r--r-- | gcc/testsuite/c-c++-common/cpp/has-builtin-4.c | 16 |
3 files changed, 19 insertions, 0 deletions
diff --git a/gcc/c/c-decl.cc b/gcc/c/c-decl.cc index 314b118..68d331b 100644 --- a/gcc/c/c-decl.cc +++ b/gcc/c/c-decl.cc @@ -11804,6 +11804,8 @@ names_builtin_p (const char *name) case RID_CHOOSE_EXPR: case RID_OFFSETOF: case RID_TYPES_COMPATIBLE_P: + case RID_C23_VA_START: + case RID_VA_ARG: return 1; default: break; diff --git a/gcc/cp/cp-objcp-common.cc b/gcc/cp/cp-objcp-common.cc index fc6c790..8336d0b 100644 --- a/gcc/cp/cp-objcp-common.cc +++ b/gcc/cp/cp-objcp-common.cc @@ -587,6 +587,7 @@ names_builtin_p (const char *name) case RID_BUILTIN_ASSOC_BARRIER: case RID_BUILTIN_BIT_CAST: case RID_OFFSETOF: + case RID_VA_ARG: return 1; case RID_BUILTIN_OPERATOR_NEW: case RID_BUILTIN_OPERATOR_DELETE: diff --git a/gcc/testsuite/c-c++-common/cpp/has-builtin-4.c b/gcc/testsuite/c-c++-common/cpp/has-builtin-4.c new file mode 100644 index 0000000..65d2b18 --- /dev/null +++ b/gcc/testsuite/c-c++-common/cpp/has-builtin-4.c @@ -0,0 +1,16 @@ +/* { dg-do preprocess } */ + +#if __has_builtin (__builtin_va_start) != 1 +#error "No __builtin_va_start" +#endif +#if __has_builtin (__builtin_va_end) != 1 +#error "No __builtin_va_end" +#endif +#if __has_builtin (__builtin_va_arg) != 1 +#error "no __builtin_va_arg" +#endif +#if __STDC_VERSION__ >= 202311L +#if __has_builtin (__builtin_c23_va_start) != 1 +#error "no __builtin_c23_va_start" +#endif +#endif |