llvm-project/clang/test/Sema/gnu-builtins.c
Aaron Ballman d7d743621a Reenable POSIX builtin library functions in gnu2x mode
gnu17 and earlier modes automatically expose several POSIX C APIs, and
this was accidentally disabled for gnu2x in
7d644e1215b376ec5e915df9ea2eeb56e2d94626.

This restores the behavior for gnu2x mode (without changing the
behavior in C standards modes instead of GNU modes).

Fixes #56607
2022-11-02 08:00:25 -04:00

14 lines
689 B
C

// RUN: %clang_cc1 -fsyntax-only -verify=gnu -std=gnu17 %s
// RUN: %clang_cc1 -fsyntax-only -verify=gnu -std=gnu2x %s
// RUN: %clang_cc1 -fsyntax-only -verify=std -std=c17 %s
// RUN: %clang_cc1 -fsyntax-only -verify=std -std=c2x %s
// std-no-diagnostics
// 'index' is a builtin library function, but only in GNU mode. So this should
// give an error in GNU modes but be okay in non-GNU mode.
// FIXME: the error is correct, but these notes are pretty awful.
int index; // gnu-error {{redefinition of 'index' as different kind of symbol}} \
gnu-note {{unguarded header; consider using #ifdef guards or #pragma once}} \
gnu-note {{previous definition is here}}