summaryrefslogtreecommitdiff
path: root/dev-util/cvise/files/cvise-2.12.0-llvm-21.patch
blob: 17cd82c0feead9583f97a0fab31198bc2ecdd8c9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
diff --git a/clang_delta/CommonRenameClassRewriteVisitor.h b/clang_delta/CommonRenameClassRewriteVisitor.h
index b758df79c..598493b10 100644
--- a/clang_delta/CommonRenameClassRewriteVisitor.h
+++ b/clang_delta/CommonRenameClassRewriteVisitor.h
@@ -368,7 +368,12 @@ template<typename T> bool CommonRenameClassRewriteVisitor<T>::
     dyn_cast<DependentTemplateSpecializationType>(Ty);
   TransAssert(DTST && "Bad DependentTemplateSpecializationType!");
 
-  const IdentifierInfo *IdInfo = DTST->getIdentifier();
+  const IdentifierInfo *IdInfo =
+#if LLVM_VERSION_MAJOR > 20
+    DTST->getDependentTemplateName().getName().getIdentifier();
+#else
+    DTST->getIdentifier();
+#endif
   std::string IdName = IdInfo->getName().str();
   std::string Name;
   if (getNewNameByName(IdName, Name)) {
diff --git a/clang_delta/RemoveNamespace.cpp b/clang_delta/RemoveNamespace.cpp
index 20d234eec..ba816b074 100644
--- a/clang_delta/RemoveNamespace.cpp
+++ b/clang_delta/RemoveNamespace.cpp
@@ -440,7 +440,12 @@ bool RemoveNamespaceRewriteVisitor::VisitDependentTemplateSpecializationTypeLoc(
     dyn_cast<DependentTemplateSpecializationType>(Ty);
   TransAssert(DTST && "Bad DependentTemplateSpecializationType!");
 
-  const IdentifierInfo *IdInfo = DTST->getIdentifier();
+  const IdentifierInfo *IdInfo =
+#if LLVM_VERSION_MAJOR > 20
+    DTST->getDependentTemplateName().getName().getIdentifier();
+#else
+    DTST->getIdentifier();
+#endif
   std::string IdName = IdInfo->getName().str();
   std::string Name;
 
@@ -563,7 +568,9 @@ bool RemoveNamespaceRewriteVisitor::TraverseNestedNameSpecifierLoc(
         break;
       }
       case NestedNameSpecifier::TypeSpec: // Fall-through
+#if LLVM_VERSION_MAJOR <= 20
       case NestedNameSpecifier::TypeSpecWithTemplate:
+#endif
         TraverseTypeLoc(Loc.getTypeLoc());
         break;
       default:
diff --git a/clang_delta/RemoveUnusedFunction.cpp b/clang_delta/RemoveUnusedFunction.cpp
index ca9d3f7bc..9b0c96511 100644
--- a/clang_delta/RemoveUnusedFunction.cpp
+++ b/clang_delta/RemoveUnusedFunction.cpp
@@ -254,7 +254,11 @@ bool RUFAnalysisVisitor::VisitFunctionDecl(FunctionDecl *FD)
 
   if (FD->isReferenced() ||
       FD->isMain() ||
+#if LLVM_VERSION_MAJOR > 20
+      FD->hasAttr<DeviceKernelAttr>() ||
+#else
       FD->hasAttr<OpenCLKernelAttr>() ||
+#endif
       ConsumerInstance->hasReferencedSpecialization(CanonicalFD) ||
       ConsumerInstance->isInlinedSystemFunction(CanonicalFD) ||
       ConsumerInstance->isInReferencedSet(CanonicalFD) ||
diff --git a/clang_delta/RenameFun.cpp b/clang_delta/RenameFun.cpp
index 8dee24316..2a4b0ae62 100644
--- a/clang_delta/RenameFun.cpp
+++ b/clang_delta/RenameFun.cpp
@@ -261,7 +261,13 @@ void RenameFun::addFun(const FunctionDecl *FD)
 {
   std::string Name = FD->getNameAsString();
   // Skip special functions
-  if (isSpecialFun(Name) || FD->hasAttr<OpenCLKernelAttr>())
+  if (isSpecialFun(Name) ||
+#if LLVM_VERSION_MAJOR > 20
+      FD->hasAttr<DeviceKernelAttr>()
+#else
+      FD->hasAttr<OpenCLKernelAttr>()
+#endif
+     )
     FunToNameMap[FD] = Name;
 
   if (FunToNameMap.find(FD) != FunToNameMap.end())
diff --git a/clang_delta/Transformation.cpp b/clang_delta/Transformation.cpp
index d4896cb9b..0da9827ac 100644
--- a/clang_delta/Transformation.cpp
+++ b/clang_delta/Transformation.cpp
@@ -675,7 +675,10 @@ const DeclContext *Transformation::getDeclContextFromSpecifier(
         return NAD->getNamespace()->getCanonicalDecl();
       }
       case NestedNameSpecifier::TypeSpec: // Fall-through
-      case NestedNameSpecifier::TypeSpecWithTemplate: {
+#if LLVM_VERSION_MAJOR <= 20
+      case NestedNameSpecifier::TypeSpecWithTemplate:
+#endif
+      {
         const Type *Ty = NNS->getAsType();
         if (const RecordType *RT = Ty->getAs<RecordType>())
           return RT->getDecl();
diff --git a/clang_delta/TransformationManager.cpp b/clang_delta/TransformationManager.cpp
index d985bd514..d36f62a5f 100644
--- a/clang_delta/TransformationManager.cpp
+++ b/clang_delta/TransformationManager.cpp
@@ -163,7 +163,12 @@ bool TransformationManager::initializeCompilerInstance(std::string &ErrorMsg)
     ClangInstance->createFileManager();
 
     if(CLCPath != NULL && ClangInstance->hasFileManager() &&
-       ClangInstance->getFileManager().getDirectory(CLCPath, false)) {
+#if LLVM_VERSION_MAJOR > 20
+       ClangInstance->getFileManager().getDirectoryRef(CLCPath, false)
+#else
+       ClangInstance->getFileManager().getDirectory(CLCPath, false)
+#endif
+      ) {
         Args.push_back("-I");
         Args.push_back(CLCPath);
     }
@@ -186,7 +191,12 @@ bool TransformationManager::initializeCompilerInstance(std::string &ErrorMsg)
 
   TargetInfo *Target = 
     TargetInfo::CreateTargetInfo(ClangInstance->getDiagnostics(),
-                                 ClangInstance->getInvocation().TargetOpts);
+#if LLVM_VERSION_MAJOR > 20
+                                 ClangInstance->getInvocation().getTargetOpts()
+#else
+                                 ClangInstance->getInvocation().TargetOpts
+#endif
+                                );
   ClangInstance->setTarget(Target);
 
   if (const char *env = getenv("CVISE_INCLUDE_PATH")) {