Subversion Repositories QNX 8.QNX8 LLVM/Clang compiler suite

Rev

Blame | Last modification | View Log | Download | RSS feed

  1. /*===---- stdnoreturn.h - Standard header for noreturn macro ---------------===
  2.  *
  3.  * Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
  4.  * See https://llvm.org/LICENSE.txt for license information.
  5.  * SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
  6.  *
  7.  *===-----------------------------------------------------------------------===
  8.  */
  9.  
  10. #ifndef __STDNORETURN_H
  11. #define __STDNORETURN_H
  12.  
  13. #define noreturn _Noreturn
  14. #define __noreturn_is_defined 1
  15.  
  16. #if (defined(__STDC_VERSION__) && __STDC_VERSION__ > 201710L) &&               \
  17.     !defined(_CLANG_DISABLE_CRT_DEPRECATION_WARNINGS)
  18. /* The noreturn macro is deprecated in C2x. We do not mark it as such because
  19.    including the header file in C2x is also deprecated and we do not want to
  20.    issue a confusing diagnostic for code which includes <stdnoreturn.h>
  21.    followed by code that writes [[noreturn]]. The issue with such code is not
  22.    with the attribute, or the use of 'noreturn', but the inclusion of the
  23.    header. */
  24. /* FIXME: We should be issuing a deprecation warning here, but cannot yet due
  25.  * to system headers which include this header file unconditionally.
  26.  */
  27. #endif
  28.  
  29. #endif /* __STDNORETURN_H */
  30.