Urgh. Amending r204968 which somehow missed this file!

llvm-svn: 204969
This commit is contained in:
Aaron Ballman 2014-03-27 22:15:55 +00:00
parent c9ad1ca715
commit 27909573b1
1 changed files with 39 additions and 0 deletions

View File

@ -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