1 //===-- llvm/Support/float128.h - Compiler abstraction support --*- C++ -*-===// 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 #ifndef LLVM_FLOAT128 10 #define LLVM_FLOAT128 11 12 namespace llvm { 13 14 #if defined(__clang__) && defined(__FLOAT128__) && \ 15 defined(__SIZEOF_INT128__) && !defined(__LONG_DOUBLE_IBM128__) 16 #define HAS_IEE754_FLOAT128 17 typedef __float128 float128; 18 #elif defined(__FLOAT128__) && defined(__SIZEOF_INT128__) && \ 19 !defined(__LONG_DOUBLE_IBM128__) && \ 20 (defined(__GNUC__) || defined(__GNUG__)) 21 #define HAS_IEE754_FLOAT128 22 typedef _Float128 float128; 23 #endif 24 25 } // namespace llvm 26 #endif // LLVM_FLOAT128 27