mirror of
https://github.com/apple/swift.git
synced 2025-12-21 12:14:44 +01:00
This is the default behavior. You can disable this by specifying the -clang-header-expose-decls= flag explicitly when generating the header
24 lines
790 B
C++
24 lines
790 B
C++
// RUN: %empty-directory(%t)
|
|
|
|
// RUN: %target-swift-frontend %S/swift-impl-defs-in-cxx.swift -typecheck -module-name Core -clang-header-expose-decls=all-public -emit-clang-header-path %t/core.h
|
|
|
|
// RUN: %target-interop-build-clangxx -std=c++17 -c %s -I %t -o %t/swift-core-validation.o
|
|
// RUN: %target-interop-build-clangxx -std=c++20 -c %s -I %t -o %t/swift-core-validation.o
|
|
// RUN: %target-interop-build-clangxx -std=c++14 -c %s -I %t -o %t/swift-core-validation.o -D SHOULD_FAIL
|
|
|
|
#include <assert.h>
|
|
#include "core.h"
|
|
|
|
#define CHECK(x) (x)
|
|
|
|
#ifdef SHOULD_FAIL
|
|
# undef CHECK
|
|
# define CHECK(x) !(x)
|
|
#endif
|
|
|
|
int main() {
|
|
swift::_impl::ValueWitnessDestroyTy destroyFn;
|
|
static_assert(CHECK(noexcept(destroyFn(nullptr, nullptr))), "value witness table fns are noexcept");
|
|
return 0;
|
|
}
|