diff options
| author | Chih-Hung Hsieh <chh@google.com> | 2015-07-24 18:12:54 +0000 |
|---|---|---|
| committer | Chih-Hung Hsieh <chh@google.com> | 2015-07-24 18:12:54 +0000 |
| commit | 0b0eeaaaf6a57845feb5814a75333895f36d6907 (patch) | |
| tree | 52971f765548c34d96f52e6e6721a05704d6b88c /clang/test | |
| parent | 7a09e88b6eac8c6b02ba02ef6b9c9d260247b7df (diff) | |
| download | bcm5719-llvm-0b0eeaaaf6a57845feb5814a75333895f36d6907.tar.gz bcm5719-llvm-0b0eeaaaf6a57845feb5814a75333895f36d6907.zip | |
Correct x86_64 Android fp128 mangled name
These changes are for Android x86_64 targets to be compatible with current Android g++.
https://llvm.org/bugs/show_bug.cgi?id=23897
Use 'g' and 'Cg' for "long double" and "long double _Complex" mangled type names.
Differential Revision: http://reviews.llvm.org/D11466
llvm-svn: 243133
Diffstat (limited to 'clang/test')
| -rw-r--r-- | clang/test/CodeGen/long_double_fp128.cpp | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/clang/test/CodeGen/long_double_fp128.cpp b/clang/test/CodeGen/long_double_fp128.cpp new file mode 100644 index 00000000000..1780255cea9 --- /dev/null +++ b/clang/test/CodeGen/long_double_fp128.cpp @@ -0,0 +1,22 @@ +// RUN: %clang_cc1 -triple x86_64-linux-android -emit-llvm -o - %s \ +// RUN: | FileCheck %s --check-prefix=A64 +// RUN: %clang_cc1 -triple x86_64-linux-gnu -emit-llvm -o - %s \ +// RUN: | FileCheck %s --check-prefix=G64 +// RUN: %clang_cc1 -triple powerpc64-linux-gnu -emit-llvm -o - %s \ +// RUN: | FileCheck %s --check-prefix=P64 +// RUN: %clang_cc1 -triple i686-linux-android -emit-llvm -o - %s \ +// RUN: | FileCheck %s --check-prefix=A32 +// RUN: %clang_cc1 -triple i686-linux-gnu -emit-llvm -o - %s \ +// RUN: | FileCheck %s --check-prefix=G32 +// RUN: %clang_cc1 -triple powerpc-linux-gnu -emit-llvm -o - %s \ +// RUN: | FileCheck %s --check-prefix=P32 + +// Check mangled name of long double. +// Android's gcc and llvm use fp128 for long double. +void test(long, float, double, long double, long double _Complex) { } +// A64: define void @_Z4testlfdgCg(i64, float, double, fp128, { fp128, fp128 }* +// G64: define void @_Z4testlfdeCe(i64, float, double, x86_fp80, { x86_fp80, x86_fp80 }* +// P64: define void @_Z4testlfdgCg(i64, float, double, ppc_fp128, ppc_fp128 {{.*}}, ppc_fp128 +// A32: define void @_Z4testlfdeCe(i32, float, double, double, { double, double }* +// G32: define void @_Z4testlfdeCe(i32, float, double, x86_fp80, { x86_fp80, x86_fp80 }* +// P32: define void @_Z4testlfdgCg(i32, float, double, ppc_fp128, { ppc_fp128, ppc_fp128 }* |

