11bc48716SLouis Dionne //===----------------------------------------------------------------------===// 21bc48716SLouis Dionne // 31bc48716SLouis Dionne // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 41bc48716SLouis Dionne // See https://llvm.org/LICENSE.txt for license information. 51bc48716SLouis Dionne // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 61bc48716SLouis Dionne // 71bc48716SLouis Dionne //===----------------------------------------------------------------------===// 81bc48716SLouis Dionne 91bc48716SLouis Dionne // UNSUPPORTED: c++03, c++11, c++14, c++17, c++20 101bc48716SLouis Dionne 11*64addd65SStephan T. Lavavej // ADDITIONAL_COMPILE_FLAGS(gcc-style-warnings): -Wno-unused-value 121bc48716SLouis Dionne 131bc48716SLouis Dionne #include <limits> 141bc48716SLouis Dionne 151bc48716SLouis Dionne #include "type_algorithms.h" 161bc48716SLouis Dionne func()171bc48716SLouis Dionnevoid func() { 181bc48716SLouis Dionne std::numeric_limits<bool>::has_denorm; // expected-warning {{'has_denorm' is deprecated}} 191bc48716SLouis Dionne std::numeric_limits<bool>::has_denorm_loss; // expected-warning {{'has_denorm_loss' is deprecated}} 201bc48716SLouis Dionne std::numeric_limits<bool>::denorm_min(); 211bc48716SLouis Dionne 221bc48716SLouis Dionne std::numeric_limits<int>::has_denorm; // expected-warning {{'has_denorm' is deprecated}} 231bc48716SLouis Dionne std::numeric_limits<int>::has_denorm_loss; // expected-warning {{'has_denorm_loss' is deprecated}} 241bc48716SLouis Dionne std::numeric_limits<int>::denorm_min(); 251bc48716SLouis Dionne 261bc48716SLouis Dionne std::numeric_limits<float>::has_denorm; // expected-warning {{'has_denorm' is deprecated}} 271bc48716SLouis Dionne std::numeric_limits<float>::has_denorm_loss; // expected-warning {{'has_denorm_loss' is deprecated}} 281bc48716SLouis Dionne std::numeric_limits<float>::denorm_min(); 291bc48716SLouis Dionne 301bc48716SLouis Dionne std::numeric_limits<double>::has_denorm; // expected-warning {{'has_denorm' is deprecated}} 311bc48716SLouis Dionne std::numeric_limits<double>::has_denorm_loss; // expected-warning {{'has_denorm_loss' is deprecated}} 321bc48716SLouis Dionne std::numeric_limits<double>::denorm_min(); 331bc48716SLouis Dionne 341bc48716SLouis Dionne std::numeric_limits<long double>::has_denorm; // expected-warning {{'has_denorm' is deprecated}} 351bc48716SLouis Dionne std::numeric_limits<long double>::has_denorm_loss; // expected-warning {{'has_denorm_loss' is deprecated}} 361bc48716SLouis Dionne std::numeric_limits<long double>::denorm_min(); 371bc48716SLouis Dionne 381bc48716SLouis Dionne std::numeric_limits<const bool>::has_denorm; // expected-warning {{'has_denorm' is deprecated}} 391bc48716SLouis Dionne std::numeric_limits<const bool>::has_denorm_loss; // expected-warning {{'has_denorm_loss' is deprecated}} 401bc48716SLouis Dionne std::numeric_limits<const bool>::denorm_min(); 411bc48716SLouis Dionne 421bc48716SLouis Dionne std::numeric_limits<const int>::has_denorm; // expected-warning {{'has_denorm' is deprecated}} 431bc48716SLouis Dionne std::numeric_limits<const int>::has_denorm_loss; // expected-warning {{'has_denorm_loss' is deprecated}} 441bc48716SLouis Dionne std::numeric_limits<const int>::denorm_min(); 451bc48716SLouis Dionne 461bc48716SLouis Dionne std::numeric_limits<const float>::has_denorm; // expected-warning {{'has_denorm' is deprecated}} 471bc48716SLouis Dionne std::numeric_limits<const float>::has_denorm_loss; // expected-warning {{'has_denorm_loss' is deprecated}} 481bc48716SLouis Dionne std::numeric_limits<const float>::denorm_min(); 491bc48716SLouis Dionne 501bc48716SLouis Dionne std::numeric_limits<const double>::has_denorm; // expected-warning {{'has_denorm' is deprecated}} 511bc48716SLouis Dionne std::numeric_limits<const double>::has_denorm_loss; // expected-warning {{'has_denorm_loss' is deprecated}} 521bc48716SLouis Dionne std::numeric_limits<const double>::denorm_min(); 531bc48716SLouis Dionne 541bc48716SLouis Dionne std::numeric_limits<const long double>::has_denorm; // expected-warning {{'has_denorm' is deprecated}} 551bc48716SLouis Dionne std::numeric_limits<const long double>::has_denorm_loss; // expected-warning {{'has_denorm_loss' is deprecated}} 561bc48716SLouis Dionne std::numeric_limits<const long double>::denorm_min(); 571bc48716SLouis Dionne 581bc48716SLouis Dionne std::numeric_limits<volatile bool>::has_denorm; // expected-warning {{'has_denorm' is deprecated}} 591bc48716SLouis Dionne std::numeric_limits<volatile bool>::has_denorm_loss; // expected-warning {{'has_denorm_loss' is deprecated}} 601bc48716SLouis Dionne std::numeric_limits<volatile bool>::denorm_min(); 611bc48716SLouis Dionne 621bc48716SLouis Dionne std::numeric_limits<volatile int>::has_denorm; // expected-warning {{'has_denorm' is deprecated}} 631bc48716SLouis Dionne std::numeric_limits<volatile int>::has_denorm_loss; // expected-warning {{'has_denorm_loss' is deprecated}} 641bc48716SLouis Dionne std::numeric_limits<volatile int>::denorm_min(); 651bc48716SLouis Dionne 661bc48716SLouis Dionne std::numeric_limits<volatile float>::has_denorm; // expected-warning {{'has_denorm' is deprecated}} 671bc48716SLouis Dionne std::numeric_limits<volatile float>::has_denorm_loss; // expected-warning {{'has_denorm_loss' is deprecated}} 681bc48716SLouis Dionne std::numeric_limits<volatile float>::denorm_min(); 691bc48716SLouis Dionne 701bc48716SLouis Dionne std::numeric_limits<volatile double>::has_denorm; // expected-warning {{'has_denorm' is deprecated}} 711bc48716SLouis Dionne std::numeric_limits<volatile double>::has_denorm_loss; // expected-warning {{'has_denorm_loss' is deprecated}} 721bc48716SLouis Dionne std::numeric_limits<volatile double>::denorm_min(); 731bc48716SLouis Dionne 741bc48716SLouis Dionne std::numeric_limits<volatile long double>::has_denorm; // expected-warning {{'has_denorm' is deprecated}} 751bc48716SLouis Dionne std::numeric_limits<volatile long double>::has_denorm_loss; // expected-warning {{'has_denorm_loss' is deprecated}} 761bc48716SLouis Dionne std::numeric_limits<volatile long double>::denorm_min(); 771bc48716SLouis Dionne 781bc48716SLouis Dionne std::numeric_limits<const volatile bool>::has_denorm; // expected-warning {{'has_denorm' is deprecated}} 791bc48716SLouis Dionne std::numeric_limits<const volatile bool>::has_denorm_loss; // expected-warning {{'has_denorm_loss' is deprecated}} 801bc48716SLouis Dionne std::numeric_limits<const volatile bool>::denorm_min(); 811bc48716SLouis Dionne 821bc48716SLouis Dionne std::numeric_limits<const volatile int>::has_denorm; // expected-warning {{'has_denorm' is deprecated}} 831bc48716SLouis Dionne std::numeric_limits<const volatile int>::has_denorm_loss; // expected-warning {{'has_denorm_loss' is deprecated}} 841bc48716SLouis Dionne std::numeric_limits<const volatile int>::denorm_min(); 851bc48716SLouis Dionne 861bc48716SLouis Dionne std::numeric_limits<const volatile float>::has_denorm; // expected-warning {{'has_denorm' is deprecated}} 871bc48716SLouis Dionne std::numeric_limits<const volatile float>::has_denorm_loss; // expected-warning {{'has_denorm_loss' is deprecated}} 881bc48716SLouis Dionne std::numeric_limits<const volatile float>::denorm_min(); 891bc48716SLouis Dionne 901bc48716SLouis Dionne std::numeric_limits<const volatile double>::has_denorm; // expected-warning {{'has_denorm' is deprecated}} 911bc48716SLouis Dionne std::numeric_limits<const volatile double>::has_denorm_loss; // expected-warning {{'has_denorm_loss' is deprecated}} 921bc48716SLouis Dionne std::numeric_limits<const volatile double>::denorm_min(); 931bc48716SLouis Dionne 941bc48716SLouis Dionne std::numeric_limits<const volatile long double>::has_denorm; // expected-warning {{'has_denorm' is deprecated}} 951bc48716SLouis Dionne std::numeric_limits< 961bc48716SLouis Dionne const volatile long double>::has_denorm_loss; // expected-warning {{'has_denorm_loss' is deprecated}} 971bc48716SLouis Dionne std::numeric_limits<const volatile long double>::denorm_min(); 981bc48716SLouis Dionne 991bc48716SLouis Dionne std::denorm_indeterminate; // expected-warning {{'denorm_indeterminate' is deprecated}} 1001bc48716SLouis Dionne std::denorm_absent; // expected-warning {{'denorm_absent' is deprecated}} 1011bc48716SLouis Dionne std::denorm_present; // expected-warning {{'denorm_present' is deprecated}} 1021bc48716SLouis Dionne } 103