11e25464fSNemanja Ivanovic // RUN: %clang_cc1 -triple=aarch64-none-none -fsyntax-only -verify -std=c89 \ 21e25464fSNemanja Ivanovic // RUN: -ffreestanding %s 31e25464fSNemanja Ivanovic // RUN: %clang_cc1 -triple=aarch64-none-none -fsyntax-only -verify \ 41e25464fSNemanja Ivanovic // RUN: -std=c99 -ffreestanding %s 51e25464fSNemanja Ivanovic // RUN: %clang_cc1 -triple=aarch64-none-none -fsyntax-only -verify -std=c11 \ 61e25464fSNemanja Ivanovic // RUN: -ffreestanding %s 71e25464fSNemanja Ivanovic // RUN: %clang_cc1 -triple=aarch64-none-none -fsyntax-only -verify \ 81e25464fSNemanja Ivanovic // RUN: -std=c++11 -x c++ -ffreestanding %s 9c05609caSSjoerd Meijer // expected-no-diagnostics 10c05609caSSjoerd Meijer 11c05609caSSjoerd Meijer #define __STDC_WANT_IEC_60559_TYPES_EXT__ 12c05609caSSjoerd Meijer #include <float.h> 13c05609caSSjoerd Meijer 14c05609caSSjoerd Meijer #ifndef FLT16_MIN_10_EXP 15c05609caSSjoerd Meijer #error "Macro FLT16_MIN_10_EXP is missing." 16*059b823eSJohn McCall #elif FLT16_MIN_10_EXP > -4 17c05609caSSjoerd Meijer #error "Macro FLT16_MIN_10_EXP is invalid." 18c05609caSSjoerd Meijer #endif 19c05609caSSjoerd Meijer 20c05609caSSjoerd Meijer _Static_assert(FLT16_MIN_10_EXP == __FLT16_MIN_10_EXP__, ""); 21c05609caSSjoerd Meijer 22c05609caSSjoerd Meijer #ifndef FLT16_MIN_EXP 23c05609caSSjoerd Meijer #error "Macro FLT16_MIN_EXP is missing." 24*059b823eSJohn McCall #elif FLT16_MIN_EXP > -13 25c05609caSSjoerd Meijer #error "Macro FLT16_MIN_EXP is invalid." 26c05609caSSjoerd Meijer #endif 27c05609caSSjoerd Meijer 28c05609caSSjoerd Meijer _Static_assert(FLT16_MIN_EXP == __FLT16_MIN_EXP__, ""); 29c05609caSSjoerd Meijer 30c05609caSSjoerd Meijer #ifndef FLT16_MAX_10_EXP 31c05609caSSjoerd Meijer #error "Macro FLT16_MAX_10_EXP is missing." 32c05609caSSjoerd Meijer #elif FLT16_MAX_10_EXP < 4 33c05609caSSjoerd Meijer #error "Macro FLT16_MAX_10_EXP is invalid." 34c05609caSSjoerd Meijer #endif 35c05609caSSjoerd Meijer 36c05609caSSjoerd Meijer _Static_assert(FLT16_MAX_10_EXP == __FLT16_MAX_10_EXP__, ""); 37c05609caSSjoerd Meijer 38c05609caSSjoerd Meijer #ifndef FLT16_MAX_EXP 39c05609caSSjoerd Meijer #error "Macro FLT16_MAX_EXP is missing." 40*059b823eSJohn McCall #elif FLT16_MAX_EXP < 16 41c05609caSSjoerd Meijer #error "Macro FLT16_MAX_EXP is invalid." 42c05609caSSjoerd Meijer #endif 43c05609caSSjoerd Meijer 44c05609caSSjoerd Meijer _Static_assert(FLT16_MAX_EXP == __FLT16_MAX_EXP__, ""); 45c05609caSSjoerd Meijer 46c05609caSSjoerd Meijer #ifndef FLT16_DECIMAL_DIG 47c05609caSSjoerd Meijer #error "Macro FLT16_DECIMAL_DIG is missing." 48c05609caSSjoerd Meijer #elif FLT16_DECIMAL_DIG < 5 49c05609caSSjoerd Meijer #error "Macro FLT16_DECIMAL_DIG is invalid." 50c05609caSSjoerd Meijer #endif 51c05609caSSjoerd Meijer 52c05609caSSjoerd Meijer _Static_assert(FLT16_DECIMAL_DIG == __FLT16_DECIMAL_DIG__, ""); 53c05609caSSjoerd Meijer 54c05609caSSjoerd Meijer #ifndef FLT16_DIG 55c05609caSSjoerd Meijer #error "Macro FLT16_DIG is missing." 56c05609caSSjoerd Meijer #elif FLT16_DIG < 3 57c05609caSSjoerd Meijer #error "Macro FLT16_DIG is invalid." 58c05609caSSjoerd Meijer #endif 59c05609caSSjoerd Meijer 60c05609caSSjoerd Meijer _Static_assert(FLT16_DIG == __FLT16_DIG__, ""); 61c05609caSSjoerd Meijer 62c05609caSSjoerd Meijer #ifndef FLT16_MANT_DIG 63c05609caSSjoerd Meijer #error "Macro FLT16_MANT_DIG is missing." 64c05609caSSjoerd Meijer #elif FLT16_MANT_DIG < 11 65c05609caSSjoerd Meijer #error "Macro FLT16_MANT_DIG is invalid." 66c05609caSSjoerd Meijer #endif 67c05609caSSjoerd Meijer 68c05609caSSjoerd Meijer _Static_assert(FLT16_MANT_DIG == __FLT16_MANT_DIG__, ""); 69c05609caSSjoerd Meijer 70