aboutsummaryrefslogtreecommitdiff
path: root/include/clang/Sema/Sema.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/clang/Sema/Sema.h')
-rw-r--r--include/clang/Sema/Sema.h12
1 files changed, 12 insertions, 0 deletions
diff --git a/include/clang/Sema/Sema.h b/include/clang/Sema/Sema.h
index 0c0b3ead3b..e0ef1cf50a 100644
--- a/include/clang/Sema/Sema.h
+++ b/include/clang/Sema/Sema.h
@@ -1560,6 +1560,18 @@ public:
TypedefDecl *ParseTypedefDecl(Scope *S, Declarator &D, QualType T,
TypeSourceInfo *TInfo);
bool isIncompatibleTypedef(TypeDecl *Old, TypedefNameDecl *New);
+
+ /// Attribute merging methods. Return true if a new attribute was added.
+ bool mergeAvailabilityAttr(Decl *D, SourceRange Range, bool Inherited,
+ IdentifierInfo *Platform, VersionTuple Introduced,
+ VersionTuple Deprecated, VersionTuple Obsoleted,
+ bool IsUnavailable, StringRef Message);
+ bool mergeVisibilityAttr(Decl *D, SourceRange Range,
+ bool Inherited, VisibilityAttr::VisibilityType Vis);
+ bool mergeDLLImportAttr(Decl *D, SourceRange Range, bool Inherited);
+ bool mergeDLLExportAttr(Decl *D, SourceRange Range, bool Inherited);
+ bool mergeDeclAttribute(Decl *New, InheritableAttr *Attr);
+
void mergeDeclAttributes(Decl *New, Decl *Old, bool MergeDeprecation = true);
void MergeTypedefNameDecl(TypedefNameDecl *New, LookupResult &OldDecls);
bool MergeFunctionDecl(FunctionDecl *New, Decl *Old, Scope *S);