1 //===----------------------------------------------------------------------===// 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 // UNSUPPORTED: c++03, c++11, c++14, c++17, c++20 10 11 // ADDITIONAL_COMPILE_FLAGS(gcc-style-warnings): -Wno-unused-value 12 13 #include <limits> 14 15 #include "type_algorithms.h" 16 func()17void func() { 18 std::numeric_limits<bool>::has_denorm; // expected-warning {{'has_denorm' is deprecated}} 19 std::numeric_limits<bool>::has_denorm_loss; // expected-warning {{'has_denorm_loss' is deprecated}} 20 std::numeric_limits<bool>::denorm_min(); 21 22 std::numeric_limits<int>::has_denorm; // expected-warning {{'has_denorm' is deprecated}} 23 std::numeric_limits<int>::has_denorm_loss; // expected-warning {{'has_denorm_loss' is deprecated}} 24 std::numeric_limits<int>::denorm_min(); 25 26 std::numeric_limits<float>::has_denorm; // expected-warning {{'has_denorm' is deprecated}} 27 std::numeric_limits<float>::has_denorm_loss; // expected-warning {{'has_denorm_loss' is deprecated}} 28 std::numeric_limits<float>::denorm_min(); 29 30 std::numeric_limits<double>::has_denorm; // expected-warning {{'has_denorm' is deprecated}} 31 std::numeric_limits<double>::has_denorm_loss; // expected-warning {{'has_denorm_loss' is deprecated}} 32 std::numeric_limits<double>::denorm_min(); 33 34 std::numeric_limits<long double>::has_denorm; // expected-warning {{'has_denorm' is deprecated}} 35 std::numeric_limits<long double>::has_denorm_loss; // expected-warning {{'has_denorm_loss' is deprecated}} 36 std::numeric_limits<long double>::denorm_min(); 37 38 std::numeric_limits<const bool>::has_denorm; // expected-warning {{'has_denorm' is deprecated}} 39 std::numeric_limits<const bool>::has_denorm_loss; // expected-warning {{'has_denorm_loss' is deprecated}} 40 std::numeric_limits<const bool>::denorm_min(); 41 42 std::numeric_limits<const int>::has_denorm; // expected-warning {{'has_denorm' is deprecated}} 43 std::numeric_limits<const int>::has_denorm_loss; // expected-warning {{'has_denorm_loss' is deprecated}} 44 std::numeric_limits<const int>::denorm_min(); 45 46 std::numeric_limits<const float>::has_denorm; // expected-warning {{'has_denorm' is deprecated}} 47 std::numeric_limits<const float>::has_denorm_loss; // expected-warning {{'has_denorm_loss' is deprecated}} 48 std::numeric_limits<const float>::denorm_min(); 49 50 std::numeric_limits<const double>::has_denorm; // expected-warning {{'has_denorm' is deprecated}} 51 std::numeric_limits<const double>::has_denorm_loss; // expected-warning {{'has_denorm_loss' is deprecated}} 52 std::numeric_limits<const double>::denorm_min(); 53 54 std::numeric_limits<const long double>::has_denorm; // expected-warning {{'has_denorm' is deprecated}} 55 std::numeric_limits<const long double>::has_denorm_loss; // expected-warning {{'has_denorm_loss' is deprecated}} 56 std::numeric_limits<const long double>::denorm_min(); 57 58 std::numeric_limits<volatile bool>::has_denorm; // expected-warning {{'has_denorm' is deprecated}} 59 std::numeric_limits<volatile bool>::has_denorm_loss; // expected-warning {{'has_denorm_loss' is deprecated}} 60 std::numeric_limits<volatile bool>::denorm_min(); 61 62 std::numeric_limits<volatile int>::has_denorm; // expected-warning {{'has_denorm' is deprecated}} 63 std::numeric_limits<volatile int>::has_denorm_loss; // expected-warning {{'has_denorm_loss' is deprecated}} 64 std::numeric_limits<volatile int>::denorm_min(); 65 66 std::numeric_limits<volatile float>::has_denorm; // expected-warning {{'has_denorm' is deprecated}} 67 std::numeric_limits<volatile float>::has_denorm_loss; // expected-warning {{'has_denorm_loss' is deprecated}} 68 std::numeric_limits<volatile float>::denorm_min(); 69 70 std::numeric_limits<volatile double>::has_denorm; // expected-warning {{'has_denorm' is deprecated}} 71 std::numeric_limits<volatile double>::has_denorm_loss; // expected-warning {{'has_denorm_loss' is deprecated}} 72 std::numeric_limits<volatile double>::denorm_min(); 73 74 std::numeric_limits<volatile long double>::has_denorm; // expected-warning {{'has_denorm' is deprecated}} 75 std::numeric_limits<volatile long double>::has_denorm_loss; // expected-warning {{'has_denorm_loss' is deprecated}} 76 std::numeric_limits<volatile long double>::denorm_min(); 77 78 std::numeric_limits<const volatile bool>::has_denorm; // expected-warning {{'has_denorm' is deprecated}} 79 std::numeric_limits<const volatile bool>::has_denorm_loss; // expected-warning {{'has_denorm_loss' is deprecated}} 80 std::numeric_limits<const volatile bool>::denorm_min(); 81 82 std::numeric_limits<const volatile int>::has_denorm; // expected-warning {{'has_denorm' is deprecated}} 83 std::numeric_limits<const volatile int>::has_denorm_loss; // expected-warning {{'has_denorm_loss' is deprecated}} 84 std::numeric_limits<const volatile int>::denorm_min(); 85 86 std::numeric_limits<const volatile float>::has_denorm; // expected-warning {{'has_denorm' is deprecated}} 87 std::numeric_limits<const volatile float>::has_denorm_loss; // expected-warning {{'has_denorm_loss' is deprecated}} 88 std::numeric_limits<const volatile float>::denorm_min(); 89 90 std::numeric_limits<const volatile double>::has_denorm; // expected-warning {{'has_denorm' is deprecated}} 91 std::numeric_limits<const volatile double>::has_denorm_loss; // expected-warning {{'has_denorm_loss' is deprecated}} 92 std::numeric_limits<const volatile double>::denorm_min(); 93 94 std::numeric_limits<const volatile long double>::has_denorm; // expected-warning {{'has_denorm' is deprecated}} 95 std::numeric_limits< 96 const volatile long double>::has_denorm_loss; // expected-warning {{'has_denorm_loss' is deprecated}} 97 std::numeric_limits<const volatile long double>::denorm_min(); 98 99 std::denorm_indeterminate; // expected-warning {{'denorm_indeterminate' is deprecated}} 100 std::denorm_absent; // expected-warning {{'denorm_absent' is deprecated}} 101 std::denorm_present; // expected-warning {{'denorm_present' is deprecated}} 102 } 103