mirror of
https://github.com/llvm/llvm-project.git
synced 2025-04-26 12:06:06 +00:00

This patch reverts incorrect IR introduced in commit d11ec6f67e45 [Clang] Enable IC/IF mode for __ibm128, for complex types declared using __attribute__((mode(TC))). TC corresponds to an unspecified 128-bit format, which on some targets is a double-double format (like __ibm128_t) and on others is float128_t. The bug in d11ec6f67e45 is that long double is only safe to use when it's known to be one of these formats. Differential Revision: https://reviews.llvm.org/D112975
10 lines
301 B
C++
10 lines
301 B
C++
// RUN: %clang_cc1 -emit-llvm -triple x86_64-unknown-linux-gnu %s -o - | FileCheck %s
|
|
|
|
// Define __complex128 type corresponding to __float128 (as in GCC headers).
|
|
typedef _Complex float __attribute__((mode(TC))) __complex128;
|
|
|
|
void check() {
|
|
// CHECK: alloca { fp128, fp128 }
|
|
__complex128 tmp;
|
|
}
|