Fri Nov 18 18:20:05 2016 UTC ()
Fix for API changes in Clang 3.9.


(joerg)
diff -r1.2 -r1.3 pkgsrc/devel/creduce/Makefile
diff -r1.1 -r1.2 pkgsrc/devel/creduce/distinfo
diff -r0 -r1.1 pkgsrc/devel/creduce/patches/patch-clang__delta_EmptyStructToInt.cpp
diff -r0 -r1.1 pkgsrc/devel/creduce/patches/patch-clang__delta_EmptyStructToInt.cpp.orig
diff -r0 -r1.1 pkgsrc/devel/creduce/patches/patch-clang__delta_RemoveBaseClass.cpp
diff -r0 -r1.1 pkgsrc/devel/creduce/patches/patch-clang__delta_RemoveBaseClass.cpp.orig
diff -r0 -r1.1 pkgsrc/devel/creduce/patches/patch-clang__delta_RemoveUnusedOuterClass.cpp
diff -r0 -r1.1 pkgsrc/devel/creduce/patches/patch-clang__delta_RemoveUnusedOuterClass.cpp.orig
diff -r0 -r1.1 pkgsrc/devel/creduce/patches/patch-clang__delta_RewriteUtils.cpp
diff -r0 -r1.1 pkgsrc/devel/creduce/patches/patch-clang__delta_RewriteUtils.cpp.orig
diff -r0 -r1.1 pkgsrc/devel/creduce/patches/patch-clang__delta_SimplifyStruct.cpp
diff -r0 -r1.1 pkgsrc/devel/creduce/patches/patch-clang__delta_SimplifyStruct.cpp.orig
diff -r0 -r1.1 pkgsrc/devel/creduce/patches/patch-clang__delta_TransformationManager.cpp
diff -r0 -r1.1 pkgsrc/devel/creduce/patches/patch-clang__delta_TransformationManager.cpp.orig

cvs diff -r1.2 -r1.3 pkgsrc/devel/creduce/Makefile (expand / switch to unified diff)

--- pkgsrc/devel/creduce/Makefile 2016/11/14 20:56:10 1.2
+++ pkgsrc/devel/creduce/Makefile 2016/11/18 18:20:05 1.3
@@ -1,30 +1,32 @@ @@ -1,30 +1,32 @@
1# $NetBSD: Makefile,v 1.2 2016/11/14 20:56:10 ryoon Exp $ 1# $NetBSD: Makefile,v 1.3 2016/11/18 18:20:05 joerg Exp $
2 2
3DISTNAME= creduce-2.5.0 3DISTNAME= creduce-2.5.0
4PKGREVISION= 1 4PKGREVISION= 1
5CATEGORIES= devel 5CATEGORIES= devel
6MASTER_SITES= https://embed.cs.utah.edu/creduce/ 6MASTER_SITES= https://embed.cs.utah.edu/creduce/
7 7
8MAINTAINER= joerg@NetBSD.org 8MAINTAINER= joerg@NetBSD.org
9HOMEPAGE= https://embed.cs.utah.edu/creduce/ 9HOMEPAGE= https://embed.cs.utah.edu/creduce/
10COMMENT= Tool for automatic reduction of C/C++ files triggering bugs 10COMMENT= Tool for automatic reduction of C/C++ files triggering bugs
11LICENSE= 2-clause-bsd 11LICENSE= 2-clause-bsd
12 12
13GNU_CONFIGURE= yes 13GNU_CONFIGURE= yes
14 14
15USE_TOOLS+= flex perl:run gmake 15USE_TOOLS+= flex perl:run gmake
16USE_LANGUAGES= c c++ 16USE_LANGUAGES= c c++
17 17
18DEPENDS+= p5-Exporter-Lite-[0-9]*:../../devel/p5-Exporter-Lite 18DEPENDS+= p5-Exporter-Lite-[0-9]*:../../devel/p5-Exporter-Lite
19DEPENDS+= p5-File-Which-[0-9]*:../../devel/p5-File-Which 19DEPENDS+= p5-File-Which-[0-9]*:../../devel/p5-File-Which
20DEPENDS+= p5-Getopt-Tabular-[0-9]*:../../devel/p5-Getopt-Tabular 20DEPENDS+= p5-Getopt-Tabular-[0-9]*:../../devel/p5-Getopt-Tabular
21DEPENDS+= p5-Term-ReadKey-[0-9]*:../../devel/p5-Term-ReadKey 21DEPENDS+= p5-Term-ReadKey-[0-9]*:../../devel/p5-Term-ReadKey
22DEPENDS+= p5-Sys-CPU-[0-9]*:../../sysutils/p5-Sys-CPU 22DEPENDS+= p5-Sys-CPU-[0-9]*:../../sysutils/p5-Sys-CPU
23DEPENDS+= p5-Regexp-Common-[0-9]*:../../textproc/p5-Regexp-Common 23DEPENDS+= p5-Regexp-Common-[0-9]*:../../textproc/p5-Regexp-Common
24 24
 25TEST_TARGET= check
 26
25.include "../../mk/bsd.prefs.mk" 27.include "../../mk/bsd.prefs.mk"
26 28
27CXXFLAGS+= -std=c++11 29CXXFLAGS+= -std=c++11
28 30
29.include "../../lang/clang/buildlink3.mk" 31.include "../../lang/clang/buildlink3.mk"
30.include "../../mk/bsd.pkg.mk" 32.include "../../mk/bsd.pkg.mk"

cvs diff -r1.1 -r1.2 pkgsrc/devel/creduce/distinfo (expand / switch to unified diff)

--- pkgsrc/devel/creduce/distinfo 2016/11/02 00:15:43 1.1
+++ pkgsrc/devel/creduce/distinfo 2016/11/18 18:20:05 1.2
@@ -1,8 +1,14 @@ @@ -1,8 +1,14 @@
1$NetBSD: distinfo,v 1.1 2016/11/02 00:15:43 joerg Exp $ 1$NetBSD: distinfo,v 1.2 2016/11/18 18:20:05 joerg Exp $
2 2
3SHA1 (creduce-2.5.0.tar.gz) = 3b0400bf9163ff707d9a046b501b75a233f73533 3SHA1 (creduce-2.5.0.tar.gz) = 3b0400bf9163ff707d9a046b501b75a233f73533
4RMD160 (creduce-2.5.0.tar.gz) = c7166d53c8e57455fabcdbbab82304de7395e05b 4RMD160 (creduce-2.5.0.tar.gz) = c7166d53c8e57455fabcdbbab82304de7395e05b
5SHA512 (creduce-2.5.0.tar.gz) = 5292381ddf5e2b061bcfb1a3f52cd25cab3ab5985faade7c779c41be19b5cf7309fbcfff1428f026bfcee5da7c6f898b0b8fa48d03ef83acd64000c3ece2189d 5SHA512 (creduce-2.5.0.tar.gz) = 5292381ddf5e2b061bcfb1a3f52cd25cab3ab5985faade7c779c41be19b5cf7309fbcfff1428f026bfcee5da7c6f898b0b8fa48d03ef83acd64000c3ece2189d
6Size (creduce-2.5.0.tar.gz) = 742516 bytes 6Size (creduce-2.5.0.tar.gz) = 742516 bytes
 7SHA1 (patch-clang__delta_EmptyStructToInt.cpp) = eec767e9180572cf3dd038e0f1dfd6ccdc172d3e
7SHA1 (patch-clang__delta_Makefile.am) = f8c9201b12b07ff6499f40bba49c37ac1ee67739 8SHA1 (patch-clang__delta_Makefile.am) = f8c9201b12b07ff6499f40bba49c37ac1ee67739
8SHA1 (patch-clang__delta_Makefile.in) = 49b005fe89225f785bbe41fb5e0b4a3027121a79 9SHA1 (patch-clang__delta_Makefile.in) = 49b005fe89225f785bbe41fb5e0b4a3027121a79
 10SHA1 (patch-clang__delta_RemoveBaseClass.cpp) = 1f075a0c271620d9130880afc4f8f774b10a3e8e
 11SHA1 (patch-clang__delta_RemoveUnusedOuterClass.cpp) = 647a8950b650c6d786b2ef777716b5bf53e042e2
 12SHA1 (patch-clang__delta_RewriteUtils.cpp) = 9ad7111dcf422eed58c7ebc676060e468057c373
 13SHA1 (patch-clang__delta_SimplifyStruct.cpp) = 5447d61fef8e95cabb8e735e1b80487bbb866f24
 14SHA1 (patch-clang__delta_TransformationManager.cpp) = a280d1eebeb21ea51ec38565230b700a87a66553

File Added: pkgsrc/devel/creduce/patches/Attic/patch-clang__delta_EmptyStructToInt.cpp
$NetBSD: patch-clang__delta_EmptyStructToInt.cpp,v 1.1 2016/11/18 18:20:05 joerg Exp $

--- clang_delta/EmptyStructToInt.cpp.orig	2016-11-17 01:42:53.000000000 +0000
+++ clang_delta/EmptyStructToInt.cpp
@@ -351,7 +351,7 @@ void EmptyStructToInt::removeRecordDecls
     if (SemiLoc.isInvalid()) {
       if (!RD->isThisDeclarationADefinition())
         return;
-      SourceLocation RBLoc = RD->getRBraceLoc();
+      SourceLocation RBLoc = RD->getBraceRange().getEnd();
       if (RBLoc.isInvalid())
         return;
       RewriteHelper->removeTextFromLeftAt(SourceRange(RBLoc, RBLoc),

File Added: pkgsrc/devel/creduce/patches/Attic/patch-clang__delta_EmptyStructToInt.cpp.orig

File Added: pkgsrc/devel/creduce/patches/Attic/patch-clang__delta_RemoveBaseClass.cpp
$NetBSD: patch-clang__delta_RemoveBaseClass.cpp,v 1.1 2016/11/18 18:20:05 joerg Exp $

--- clang_delta/RemoveBaseClass.cpp.orig	2016-11-17 01:45:06.000000000 +0000
+++ clang_delta/RemoveBaseClass.cpp
@@ -209,7 +209,7 @@ void RemoveBaseClass::copyBaseClassDecls
     return;
   SourceLocation StartLoc = 
     RewriteHelper->getLocationAfter(TheBaseClass->getLocation(), '{');
-  SourceLocation EndLoc = TheBaseClass->getRBraceLoc();
+  SourceLocation EndLoc = TheBaseClass->getBraceRange().getEnd();
   TransAssert(EndLoc.isValid() && "Invalid RBraceLoc!");
   EndLoc = EndLoc.getLocWithOffset(-1);
 
@@ -217,7 +217,7 @@ void RemoveBaseClass::copyBaseClassDecls
     TheRewriter.getRewrittenText(SourceRange(StartLoc, EndLoc));
 
   TransAssert(!DeclsStr.empty() && "Empty DeclsStr!");
-  SourceLocation InsertLoc = TheDerivedClass->getRBraceLoc();
+  SourceLocation InsertLoc = TheDerivedClass->getBraceRange().getEnd();
   TheRewriter.InsertTextBefore(InsertLoc, DeclsStr);
 }
 

File Added: pkgsrc/devel/creduce/patches/Attic/patch-clang__delta_RemoveBaseClass.cpp.orig

File Added: pkgsrc/devel/creduce/patches/Attic/patch-clang__delta_RemoveUnusedOuterClass.cpp
$NetBSD: patch-clang__delta_RemoveUnusedOuterClass.cpp,v 1.1 2016/11/18 18:20:05 joerg Exp $

--- clang_delta/RemoveUnusedOuterClass.cpp.orig	2016-11-17 01:53:49.000000000 +0000
+++ clang_delta/RemoveUnusedOuterClass.cpp
@@ -140,7 +140,7 @@ void RemoveUnusedOuterClass::removeOuter
     TheRewriter.RemoveText(AS->getSourceRange());
   }
   
-  LocStart = TheCXXRDDef->getRBraceLoc();
+  LocStart = TheCXXRDDef->getBraceRange().getEnd();
   LocEnd = RewriteHelper->getLocationUntil(LocStart, ';');
   if (LocStart.isInvalid() || LocEnd.isInvalid())
     return;

File Added: pkgsrc/devel/creduce/patches/Attic/patch-clang__delta_RemoveUnusedOuterClass.cpp.orig

File Added: pkgsrc/devel/creduce/patches/patch-clang__delta_RewriteUtils.cpp
$NetBSD: patch-clang__delta_RewriteUtils.cpp,v 1.1 2016/11/18 18:20:05 joerg Exp $

--- clang_delta/RewriteUtils.cpp.orig	2016-11-17 01:55:03.000000000 +0000
+++ clang_delta/RewriteUtils.cpp
@@ -1701,7 +1701,7 @@ bool RewriteUtils::removeClassDecls(cons
     SourceRange Range = (*I)->getSourceRange();
     SourceLocation LocEnd;
     if ((*I)->isThisDeclarationADefinition()) {
-      LocEnd = (*I)->getRBraceLoc();
+      LocEnd = (*I)->getBraceRange().getEnd();
       if (LocEnd.isValid())
         LocEnd = getLocationUntil(LocEnd, ';');
       else
@@ -1726,7 +1726,7 @@ bool RewriteUtils::removeClassTemplateDe
     SourceRange Range = (*I)->getSourceRange();
     SourceLocation LocEnd;
     if (CXXRD->isThisDeclarationADefinition()) {
-      LocEnd = CXXRD->getRBraceLoc();
+      LocEnd = CXXRD->getBraceRange().getEnd();
       LocEnd = getLocationUntil(LocEnd, ';');
     }
     else {

File Added: pkgsrc/devel/creduce/patches/Attic/patch-clang__delta_RewriteUtils.cpp.orig

File Added: pkgsrc/devel/creduce/patches/Attic/patch-clang__delta_SimplifyStruct.cpp
$NetBSD: patch-clang__delta_SimplifyStruct.cpp,v 1.1 2016/11/18 18:20:05 joerg Exp $

--- clang_delta/SimplifyStruct.cpp.orig	2016-11-17 01:56:34.000000000 +0000
+++ clang_delta/SimplifyStruct.cpp
@@ -173,7 +173,7 @@ bool SimplifyStructRewriteVisitor::Visit
 
   SourceLocation LBLoc =
     ConsumerInstance->RewriteHelper->getLocationUntil(RD->getLocation(), '{');
-  SourceLocation RBLoc = RD->getRBraceLoc();
+  SourceLocation RBLoc = RD->getBraceRange().getEnd();
   ConsumerInstance->TheRewriter.RemoveText(SourceRange(LBLoc, RBLoc));
   return true;
 }

File Added: pkgsrc/devel/creduce/patches/Attic/patch-clang__delta_SimplifyStruct.cpp.orig

File Added: pkgsrc/devel/creduce/patches/patch-clang__delta_TransformationManager.cpp
$NetBSD: patch-clang__delta_TransformationManager.cpp,v 1.1 2016/11/18 18:20:05 joerg Exp $

--- clang_delta/TransformationManager.cpp.orig	2016-11-17 01:58:56.000000000 +0000
+++ clang_delta/TransformationManager.cpp
@@ -82,6 +82,16 @@ bool TransformationManager::initializeCo
 
   ClangInstance = new CompilerInstance();
   assert(ClangInstance);
+
+  TargetOptions &TargetOpts = ClangInstance->getTargetOpts();
+  PreprocessorOptions &PPOpts = ClangInstance->getPreprocessorOpts();
+
+  if (const char *env = getenv("CREDUCE_TARGET_TRIPLE")) {
+    TargetOpts.Triple = std::string(env);
+  } else {
+    TargetOpts.Triple = LLVM_DEFAULT_TARGET_TRIPLE;
+  }
+  llvm::Triple Triple(TargetOpts.Triple);
   
   ClangInstance->createDiagnostics();
 
@@ -89,13 +99,13 @@ bool TransformationManager::initializeCo
   InputKind IK = FrontendOptions::getInputKindForExtension(
         StringRef(SrcFileName).rsplit('.').second);
   if ((IK == IK_C) || (IK == IK_PreprocessedC)) {
-    Invocation.setLangDefaults(ClangInstance->getLangOpts(), IK_C);
+    Invocation.setLangDefaults(ClangInstance->getLangOpts(), IK_C, Triple, PPOpts);
   }
   else if ((IK == IK_CXX) || (IK == IK_PreprocessedCXX)) {
     // ISSUE: it might cause some problems when building AST
     // for a function which has a non-declared callee, e.g., 
     // It results an empty AST for the caller. 
-    Invocation.setLangDefaults(ClangInstance->getLangOpts(), IK_CXX);
+    Invocation.setLangDefaults(ClangInstance->getLangOpts(), IK_CXX, Triple, PPOpts);
   }
   else if(IK == IK_OpenCL) {
     //Commandline parameters
@@ -121,21 +131,13 @@ bool TransformationManager::initializeCo
     CompilerInvocation::CreateFromArgs(Invocation,
                                        &Args[0], &Args[0] + Args.size(),
                                        ClangInstance->getDiagnostics());
-    Invocation.setLangDefaults(ClangInstance->getLangOpts(), IK_OpenCL);
+    Invocation.setLangDefaults(ClangInstance->getLangOpts(), IK_OpenCL, Triple, PPOpts);
   }
   else {
     ErrorMsg = "Unsupported file type!";
     return false;
   }
 
-  TargetOptions &TargetOpts = ClangInstance->getTargetOpts();
-
-  if (const char *env = getenv("CREDUCE_TARGET_TRIPLE")) {
-    TargetOpts.Triple = std::string(env);
-  } else {
-    TargetOpts.Triple = LLVM_DEFAULT_TARGET_TRIPLE;
-  }
-
   TargetInfo *Target = 
     TargetInfo::CreateTargetInfo(ClangInstance->getDiagnostics(),
                                  ClangInstance->getInvocation().TargetOpts);

File Added: pkgsrc/devel/creduce/patches/Attic/patch-clang__delta_TransformationManager.cpp.orig