Files
clang-p2996/clang/test/PCH/pragma-cuda-force-host-device.cu
Justin Lebar d3fd70dedd [CUDA] Rework tests now that we emit deferred diagnostics during sema. Test-only change.
Summary:
Previously we had to split out a lot of our tests into a test that
checked only immediate errors and a test that checked only deferred
errors.  This was because, if you emitted any immediate errors, we
wouldn't run codegen, where the deferred errors were emitted.

We've fixed this, and now emit deferred errors during sema.  This lets
us merge a bunch of tests, and lets us convert some other tests to
-fsyntax-only.

Reviewers: tra

Subscribers: cfe-commits

Differential Revision: https://reviews.llvm.org/D25755

llvm-svn: 284553
2016-10-19 00:06:49 +00:00

28 lines
524 B
Plaintext

// RUN: %clang_cc1 -emit-pch %s -o %t
// RUN: %clang_cc1 -verify -verify-ignore-unexpected=note -include-pch %t -fsyntax-only %s
#ifndef HEADER
#define HEADER
#pragma clang force_cuda_host_device begin
#pragma clang force_cuda_host_device begin
#pragma clang force_cuda_host_device end
void hd1() {}
#else
void hd2() {}
#pragma clang force_cuda_host_device end
void host_only() {}
__attribute__((device)) void device() {
hd1();
hd2();
host_only(); // expected-error {{no matching function for call}}
}
#endif