1*700637cbSDimitry Andric //===--- InterpShared.h -----------------------------------------*- C++ -*-===// 2*700637cbSDimitry Andric // 3*700637cbSDimitry Andric // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 4*700637cbSDimitry Andric // See https://llvm.org/LICENSE.txt for license information. 5*700637cbSDimitry Andric // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 6*700637cbSDimitry Andric // 7*700637cbSDimitry Andric //===----------------------------------------------------------------------===// 8*700637cbSDimitry Andric 9*700637cbSDimitry Andric #ifndef LLVM_CLANG_LIB_AST_INTERP_SHARED_H 10*700637cbSDimitry Andric #define LLVM_CLANG_LIB_AST_INTERP_SHARED_H 11*700637cbSDimitry Andric 12*700637cbSDimitry Andric #include "clang/Basic/LLVM.h" 13*700637cbSDimitry Andric #include "llvm/ADT/BitVector.h" 14*700637cbSDimitry Andric 15*700637cbSDimitry Andric namespace clang { 16*700637cbSDimitry Andric class FunctionDecl; 17*700637cbSDimitry Andric class Expr; 18*700637cbSDimitry Andric 19*700637cbSDimitry Andric namespace interp { 20*700637cbSDimitry Andric 21*700637cbSDimitry Andric llvm::BitVector collectNonNullArgs(const FunctionDecl *F, 22*700637cbSDimitry Andric ArrayRef<const Expr *> Args); 23*700637cbSDimitry Andric 24*700637cbSDimitry Andric } // namespace interp 25*700637cbSDimitry Andric } // namespace clang 26*700637cbSDimitry Andric 27*700637cbSDimitry Andric #endif 28