|
clang
3.8.0
|
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/Lex/Preprocessor.h"#include "clang/Sema/SemaDiagnostic.h"#include "llvm/ADT/Optional.h"#include "llvm/ADT/SmallVector.h"Go to the source code of this file.
Functions | |
| template<typename T , typename FetchDeclFn > | |
| static void | EraseUnwantedCUDAMatchesImpl (Sema &S, const FunctionDecl *Caller, llvm::SmallVectorImpl< T > &Matches, FetchDeclFn FetchDecl) |
| static bool | resolveCalleeCUDATargetConflict (Sema::CUDAFunctionTarget Target1, Sema::CUDAFunctionTarget Target2, Sema::CUDAFunctionTarget *ResolvedTarget) |
| 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. More... | |
This file implements semantic analysis for CUDA constructs.
Definition in file SemaCUDA.cpp.
|
static |
Definition at line 214 of file SemaCUDA.cpp.
References clang::Sema::CFP_Never, clang::Sema::getLangOpts(), I, clang::Sema::IdentifyCUDAPreference(), and P.
|
static |
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
| Target1 | and |
| Target2 | conflict, and if they do not it fills in |
| ResolvedTarget | with a target that resolves for both calls. |
Definition at line 273 of file SemaCUDA.cpp.
References clang::Sema::CFT_Global, and clang::Sema::CFT_HostDevice.
Referenced by clang::Sema::inferCUDATargetForImplicitSpecialMember().
1.8.6