clang API Documentation

Functions
SemaCUDA.cpp File Reference

This file implements semantic analysis for CUDA constructs. More...

#include "clang/Sema/Sema.h"
#include "clang/AST/ASTContext.h"
#include "clang/AST/Decl.h"
#include "clang/Sema/SemaDiagnostic.h"
#include "llvm/ADT/Optional.h"
#include "llvm/ADT/SmallVector.h"
Include dependency graph for SemaCUDA.cpp:

Go to the source code of this file.

Functions

static bool resolveCalleeCUDATargetConflict (Sema::CUDAFunctionTarget Target1, Sema::CUDAFunctionTarget Target2, Sema::CUDAFunctionTarget *ResolvedTarget)

Detailed Description

This file implements semantic analysis for CUDA constructs.

Definition in file SemaCUDA.cpp.


Function Documentation

When an implicitly-declared special member has to invoke more than one base/field special member, conflicts may occur in the targets of these members. For example, if one base's member __host__ and another's is __device__, it's a conflict. This function figures out if the given targets

Parameters:
Target1and
Target2conflict, and if they do not it fills in
ResolvedTargetwith a target that resolves for both calls.
Returns:
true if there's a conflict, false otherwise.

Definition at line 103 of file SemaCUDA.cpp.

References clang::Sema::CFT_Global, and clang::Sema::CFT_HostDevice.

Referenced by clang::Sema::inferCUDATargetForImplicitSpecialMember().