xref: /llvm-project/clang/include/clang/Basic/Attributes.h (revision 4018317407006b2c632fbb75729de624a2426439)
1 //===--- Attributes.h - Attributes header -----------------------*- C++ -*-===//
2 //
3 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4 // See https://llvm.org/LICENSE.txt for license information.
5 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6 //
7 //===----------------------------------------------------------------------===//
8 
9 #ifndef LLVM_CLANG_BASIC_ATTRIBUTES_H
10 #define LLVM_CLANG_BASIC_ATTRIBUTES_H
11 
12 #include "clang/Basic/AttributeCommonInfo.h"
13 
14 namespace clang {
15 
16 class IdentifierInfo;
17 class LangOptions;
18 class TargetInfo;
19 
20 /// Return the version number associated with the attribute if we
21 /// recognize and implement the attribute specified by the given information.
22 int hasAttribute(AttributeCommonInfo::Syntax Syntax,
23                  const IdentifierInfo *Scope, const IdentifierInfo *Attr,
24                  const TargetInfo &Target, const LangOptions &LangOpts);
25 
26 int hasAttribute(AttributeCommonInfo::Syntax Syntax,
27                  const IdentifierInfo *Scope, const IdentifierInfo *Attr,
28                  const TargetInfo &Target, const LangOptions &LangOpts,
29                  bool CheckPlugins);
30 
31 } // end namespace clang
32 
33 #endif // LLVM_CLANG_BASIC_ATTRIBUTES_H
34