blob: e377bb6172a2926fdd70edc7b241bb9c6e817d64 [file] [log] [blame] [edit]
//===----------------------------------------------------------------------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
//
//===----------------------------------------------------------------------===//
//
// This contains code to emit Decl nodes as CIR code.
//
//===----------------------------------------------------------------------===//
#include "CIRGenFunction.h"
#include "clang/AST/DeclOpenMP.h"
using namespace clang;
using namespace clang::CIRGen;
void CIRGenModule::emitOMPThreadPrivateDecl(const OMPThreadPrivateDecl *d) {
// TODO(OpenMP): We don't properly differentiate between 'emitDecl' and
// 'emitGlobal' and 'emitTopLevelDecl' in CIRGenDecl.cpp/CIRGenModule.cpp, so
// if this decl requires we differentiate those, we probably need to split
// this function into multiples.
errorNYI(d->getSourceRange(), "OpenMP OMPThreadPrivateDecl");
}
void CIRGenFunction::emitOMPThreadPrivateDecl(const OMPThreadPrivateDecl &d) {
// TODO(OpenMP): We don't properly differentiate between 'emitDecl' and
// 'emitGlobal' and 'emitTopLevelDecl' in CIRGenDecl.cpp/CIRGenModule.cpp, so
// if this decl requires we differentiate those, we probably need to split
// this function into multiples.
getCIRGenModule().errorNYI(d.getSourceRange(), "OpenMP OMPThreadPrivateDecl");
}
void CIRGenModule::emitOMPGroupPrivateDecl(const OMPGroupPrivateDecl *d) {
// TODO(OpenMP): We don't properly differentiate between 'emitDecl' and
// 'emitGlobal' and 'emitTopLevelDecl' in CIRGenDecl.cpp/CIRGenModule.cpp, so
// if this decl requires we differentiate those, we probably need to split
// this function into multiples.
errorNYI(d->getSourceRange(), "OpenMP OMPGroupPrivateDecl");
}
void CIRGenFunction::emitOMPGroupPrivateDecl(const OMPGroupPrivateDecl &d) {
// TODO(OpenMP): We don't properly differentiate between 'emitDecl' and
// 'emitGlobal' and 'emitTopLevelDecl' in CIRGenDecl.cpp/CIRGenModule.cpp, so
// if this decl requires we differentiate those, we probably need to split
// this function into multiples.
getCIRGenModule().errorNYI(d.getSourceRange(), "OpenMP OMPGroupPrivateDecl");
}
void CIRGenModule::emitOMPCapturedExpr(const OMPCapturedExprDecl *d) {
// TODO(OpenMP): We don't properly differentiate between 'emitDecl' and
// 'emitGlobal' and 'emitTopLevelDecl' in CIRGenDecl.cpp/CIRGenModule.cpp, so
// if this decl requires we differentiate those, we probably need to split
// this function into multiples.
errorNYI(d->getSourceRange(), "OpenMP OMPCapturedExpr");
}
void CIRGenFunction::emitOMPCapturedExpr(const OMPCapturedExprDecl &d) {
// TODO(OpenMP): We don't properly differentiate between 'emitDecl' and
// 'emitGlobal' and 'emitTopLevelDecl' in CIRGenDecl.cpp/CIRGenModule.cpp, so
// if this decl requires we differentiate those, we probably need to split
// this function into multiples.
getCIRGenModule().errorNYI(d.getSourceRange(), "OpenMP OMPCapturedExpr");
}
void CIRGenModule::emitOMPAllocateDecl(const OMPAllocateDecl *d) {
// TODO(OpenMP): We don't properly differentiate between 'emitDecl' and
// 'emitGlobal' and 'emitTopLevelDecl' in CIRGenDecl.cpp/CIRGenModule.cpp, so
// if this decl requires we differentiate those, we probably need to split
// this function into multiples.
errorNYI(d->getSourceRange(), "OpenMP OMPAllocateDecl");
}
void CIRGenFunction::emitOMPAllocateDecl(const OMPAllocateDecl &d) {
// TODO(OpenMP): We don't properly differentiate between 'emitDecl' and
// 'emitGlobal' and 'emitTopLevelDecl' in CIRGenDecl.cpp/CIRGenModule.cpp, so
// if this decl requires we differentiate those, we probably need to split
// this function into multiples.
getCIRGenModule().errorNYI(d.getSourceRange(), "OpenMP OMPAllocateDecl");
}
void CIRGenModule::emitOMPDeclareReduction(const OMPDeclareReductionDecl *d) {
// TODO(OpenMP): We don't properly differentiate between 'emitDecl' and
// 'emitGlobal' and 'emitTopLevelDecl' in CIRGenDecl.cpp/CIRGenModule.cpp, so
// if this decl requires we differentiate those, we probably need to split
// this function into multiples.
errorNYI(d->getSourceRange(), "OpenMP OMPDeclareReduction");
}
void CIRGenFunction::emitOMPDeclareReduction(const OMPDeclareReductionDecl &d) {
// TODO(OpenMP): We don't properly differentiate between 'emitDecl' and
// 'emitGlobal' and 'emitTopLevelDecl' in CIRGenDecl.cpp/CIRGenModule.cpp, so
// if this decl requires we differentiate those, we probably need to split
// this function into multiples.
getCIRGenModule().errorNYI(d.getSourceRange(), "OpenMP OMPDeclareReduction");
}
void CIRGenModule::emitOMPDeclareMapper(const OMPDeclareMapperDecl *d) {
// TODO(OpenMP): We don't properly differentiate between 'emitDecl' and
// 'emitGlobal' and 'emitTopLevelDecl' in CIRGenDecl.cpp/CIRGenModule.cpp, so
// if this decl requires we differentiate those, we probably need to split
// this function into multiples.
errorNYI(d->getSourceRange(), "OpenMP OMPDeclareMapper");
}
void CIRGenFunction::emitOMPDeclareMapper(const OMPDeclareMapperDecl &d) {
// TODO(OpenMP): We don't properly differentiate between 'emitDecl' and
// 'emitGlobal' and 'emitTopLevelDecl' in CIRGenDecl.cpp/CIRGenModule.cpp, so
// if this decl requires we differentiate those, we probably need to split
// this function into multiples.
getCIRGenModule().errorNYI(d.getSourceRange(), "OpenMP OMPDeclareMapper");
}
void CIRGenModule::emitOMPRequiresDecl(const OMPRequiresDecl *d) {
// TODO(OpenMP): We don't properly differentiate between 'emitDecl' and
// 'emitGlobal' and 'emitTopLevelDecl' in CIRGenDecl.cpp/CIRGenModule.cpp, so
// if this decl requires we differentiate those, we probably need to split
// this function into multiples.
errorNYI(d->getSourceRange(), "OpenMP OMPRequiresDecl");
}
void CIRGenFunction::emitOMPRequiresDecl(const OMPRequiresDecl &d) {
// TODO(OpenMP): We don't properly differentiate between 'emitDecl' and
// 'emitGlobal' and 'emitTopLevelDecl' in CIRGenDecl.cpp/CIRGenModule.cpp, so
// if this decl requires we differentiate those, we probably need to split
// this function into multiples.
getCIRGenModule().errorNYI(d.getSourceRange(), "OpenMP OMPRequiresDecl");
}