Changeset View
Changeset View
Standalone View
Standalone View
cfe/trunk/test/SemaCUDA/no-host-device-constexpr.cu
// RUN: %clang_cc1 -std=c++11 -fsyntax-only -fno-cuda-host-device-constexpr -verify %s | |||||
// RUN: %clang_cc1 -std=c++11 -fsyntax-only -fno-cuda-host-device-constexpr -fcuda-is-device -verify %s | |||||
#include "Inputs/cuda.h" | |||||
// Check that, with -fno-cuda-host-device-constexpr, constexpr functions are | |||||
// host-only, and __device__ constexpr functions are still device-only. | |||||
constexpr int f() { return 0; } // expected-note {{not viable}} | |||||
__device__ constexpr int g() { return 0; } // expected-note {{not viable}} | |||||
void __device__ foo() { | |||||
f(); // expected-error {{no matching function}} | |||||
g(); | |||||
} | |||||
void __host__ foo() { | |||||
f(); | |||||
g(); // expected-error {{no matching function}} | |||||
} |