From 0608e4ed63a52f986bac4d174530135c2ef93eee Mon Sep 17 00:00:00 2001 From: Aaron Ballman Date: Thu, 27 Mar 2014 22:15:55 +0000 Subject: [PATCH] Urgh. Amending r204968 which somehow missed this file! git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@204969 91177308-0d34-0410-b5e6-96231b3b80d8 --- include/clang/Basic/Attributes.h | 39 ++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 include/clang/Basic/Attributes.h diff --git a/include/clang/Basic/Attributes.h b/include/clang/Basic/Attributes.h new file mode 100644 index 0000000000..48242fe641 --- /dev/null +++ b/include/clang/Basic/Attributes.h @@ -0,0 +1,39 @@ +//===--- Attributes.h - Attributes header -----------------------*- C++ -*-===// +// +// The LLVM Compiler Infrastructure +// +// This file is distributed under the University of Illinois Open Source +// License. See LICENSE.TXT for details. +// +//===----------------------------------------------------------------------===// + +#ifndef LLVM_CLANG_BASIC_ATTRIBUTES_H +#define LLVM_CLANG_BASIC_ATTRIBUTES_H + +#include "llvm/ADT/Triple.h" +#include "clang/Basic/LangOptions.h" + +namespace clang { + +class IdentifierInfo; + +enum class AttrSyntax { + /// Is the attribute identifier generally known for any syntax? + Generic, + /// Is the identifier known as a GNU-style attribute? + GNU, + /// Is the identifier known as a __declspec-style attribute? + Declspec, + // Is the identifier known as a C++-style attribute? + CXX +}; + +/// \brief Return true if we recognize and implement the attribute specified by +/// the given information. +bool HasAttribute(AttrSyntax Syntax, const IdentifierInfo *Scope, + const IdentifierInfo *Attr, const llvm::Triple &T, + const LangOptions &LangOpts); + +} // end namespace clang + +#endif // LLVM_CLANG_BASIC_ATTRIBUTES_H -- 2.40.0