Home | History | Annotate | Download | only in SemaCUDA
      1 // RUN: %clang_cc1 -std=c++11 -fsyntax-only -fno-cuda-host-device-constexpr -verify %s
      2 // RUN: %clang_cc1 -std=c++11 -fsyntax-only -fno-cuda-host-device-constexpr -fcuda-is-device -verify %s
      3 
      4 #include "Inputs/cuda.h"
      5 
      6 // Check that, with -fno-cuda-host-device-constexpr, constexpr functions are
      7 // host-only, and __device__ constexpr functions are still device-only.
      8 
      9 constexpr int f() { return 0; } // expected-note {{not viable}}
     10 __device__ constexpr int g() { return 0; } // expected-note {{not viable}}
     11 
     12 void __device__ foo() {
     13   f(); // expected-error {{no matching function}}
     14   g();
     15 }
     16 
     17 void __host__ foo() {
     18   f();
     19   g(); // expected-error {{no matching function}}
     20 }
     21