Files
clang-p2996/clang/test/CodeGenCXX/fp16-mangle-arg-return.cpp
Nikita Popov 532dc62b90 [OpaquePtrs][Clang] Add -no-opaque-pointers to tests (NFC)
This adds -no-opaque-pointers to clang tests whose output will
change when opaque pointers are enabled by default. This is
intended to be part of the migration approach described in
https://discourse.llvm.org/t/enabling-opaque-pointers-by-default/61322/9.

The patch has been produced by replacing %clang_cc1 with
%clang_cc1 -no-opaque-pointers for tests that fail with opaque
pointers enabled. Worth noting that this doesn't cover all tests,
there's a remaining ~40 tests not using %clang_cc1 that will need
a followup change.

Differential Revision: https://reviews.llvm.org/D123115
2022-04-07 12:09:47 +02:00

17 lines
830 B
C++

// RUN: %clang_cc1 -no-opaque-pointers -emit-llvm -o - -triple arm-arm-none-eabi -fallow-half-arguments-and-returns %s | FileCheck %s
// RUN: %clang_cc1 -no-opaque-pointers -emit-llvm -o - -triple aarch64-arm-none-eabi -fallow-half-arguments-and-returns %s | FileCheck %s
// Test name-mangling of __fp16 passed directly as a function argument
// (when that is permitted).
// CHECK: define {{.*}}void @_Z13fp16_argumentDh(half noundef %{{.*}})
void fp16_argument(__fp16 arg) {}
// Test name-mangling of __fp16 as a return type. The return type of
// fp16_return itself isn't mentioned in the mangled name, so to test
// this, we have to pass it a function pointer and make __fp16 the
// return type of that.
// CHECK: define {{.*}}void @_Z11fp16_returnPFDhvE(half ()* noundef %{{.*}})
void fp16_return(__fp16 (*func)(void)) {}