llvm/clang/lib/AST/ODRDiagsEmitter.cpp

//===-- ODRDiagsEmitter.cpp - Diagnostics for ODR mismatches ----*- C++ -*-===//
//
// 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
//
//===----------------------------------------------------------------------===//

#include "clang/AST/ODRDiagsEmitter.h"
#include "clang/AST/DeclFriend.h"
#include "clang/AST/DeclTemplate.h"
#include "clang/AST/ODRHash.h"
#include "clang/Basic/DiagnosticAST.h"
#include "clang/Basic/Module.h"

usingnamespaceclang;

static unsigned computeODRHash(QualType Ty) {}

static unsigned computeODRHash(const Stmt *S) {}

static unsigned computeODRHash(const Decl *D) {}

static unsigned computeODRHash(const TemplateArgument &TA) {}

std::string ODRDiagsEmitter::getOwningModuleNameForDiagnostic(const Decl *D) {}

template <typename MethodT>
static bool diagnoseSubMismatchMethodParameters(DiagnosticsEngine &Diags,
                                                const NamedDecl *FirstContainer,
                                                StringRef FirstModule,
                                                StringRef SecondModule,
                                                const MethodT *FirstMethod,
                                                const MethodT *SecondMethod) {}

bool ODRDiagsEmitter::diagnoseSubMismatchField(
    const NamedDecl *FirstRecord, StringRef FirstModule, StringRef SecondModule,
    const FieldDecl *FirstField, const FieldDecl *SecondField) const {}

bool ODRDiagsEmitter::diagnoseSubMismatchTypedef(
    const NamedDecl *FirstRecord, StringRef FirstModule, StringRef SecondModule,
    const TypedefNameDecl *FirstTD, const TypedefNameDecl *SecondTD,
    bool IsTypeAlias) const {}

bool ODRDiagsEmitter::diagnoseSubMismatchVar(const NamedDecl *FirstRecord,
                                             StringRef FirstModule,
                                             StringRef SecondModule,
                                             const VarDecl *FirstVD,
                                             const VarDecl *SecondVD) const {}

bool ODRDiagsEmitter::diagnoseSubMismatchProtocols(
    const ObjCProtocolList &FirstProtocols,
    const ObjCContainerDecl *FirstContainer, StringRef FirstModule,
    const ObjCProtocolList &SecondProtocols,
    const ObjCContainerDecl *SecondContainer, StringRef SecondModule) const {}

bool ODRDiagsEmitter::diagnoseSubMismatchObjCMethod(
    const NamedDecl *FirstObjCContainer, StringRef FirstModule,
    StringRef SecondModule, const ObjCMethodDecl *FirstMethod,
    const ObjCMethodDecl *SecondMethod) const {}

bool ODRDiagsEmitter::diagnoseSubMismatchObjCProperty(
    const NamedDecl *FirstObjCContainer, StringRef FirstModule,
    StringRef SecondModule, const ObjCPropertyDecl *FirstProp,
    const ObjCPropertyDecl *SecondProp) const {}

ODRDiagsEmitter::DiffResult
ODRDiagsEmitter::FindTypeDiffs(DeclHashes &FirstHashes,
                               DeclHashes &SecondHashes) {}

void ODRDiagsEmitter::diagnoseSubMismatchUnexpected(
    DiffResult &DR, const NamedDecl *FirstRecord, StringRef FirstModule,
    const NamedDecl *SecondRecord, StringRef SecondModule) const {}

void ODRDiagsEmitter::diagnoseSubMismatchDifferentDeclKinds(
    DiffResult &DR, const NamedDecl *FirstRecord, StringRef FirstModule,
    const NamedDecl *SecondRecord, StringRef SecondModule) const {}

bool ODRDiagsEmitter::diagnoseMismatch(
    const CXXRecordDecl *FirstRecord, const CXXRecordDecl *SecondRecord,
    const struct CXXRecordDecl::DefinitionData *SecondDD) const {}

bool ODRDiagsEmitter::diagnoseMismatch(const RecordDecl *FirstRecord,
                                       const RecordDecl *SecondRecord) const {}

bool ODRDiagsEmitter::diagnoseMismatch(
    const FunctionDecl *FirstFunction,
    const FunctionDecl *SecondFunction) const {}

bool ODRDiagsEmitter::diagnoseMismatch(const EnumDecl *FirstEnum,
                                       const EnumDecl *SecondEnum) const {}

bool ODRDiagsEmitter::diagnoseMismatch(
    const ObjCInterfaceDecl *FirstID, const ObjCInterfaceDecl *SecondID,
    const struct ObjCInterfaceDecl::DefinitionData *SecondDD) const {}

bool ODRDiagsEmitter::diagnoseMismatch(
    const ObjCProtocolDecl *FirstProtocol,
    const ObjCProtocolDecl *SecondProtocol,
    const struct ObjCProtocolDecl::DefinitionData *SecondDD) const {}