summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMark W. Krentel <krentel@rice.edu>2019-02-01 16:18:16 -0600
committerPeter Scheibel <scheibel1@llnl.gov>2019-02-01 16:18:16 -0600
commita1969d9eec4e002371fa7bc9423992296bcddae2 (patch)
tree70bd954427a1628b6174f7d99e37ce184c8c9a69
parentc2b06c27ac71e7fb82b643ad4b400706e25264d2 (diff)
downloadspack-a1969d9eec4e002371fa7bc9423992296bcddae2.tar.gz
spack-a1969d9eec4e002371fa7bc9423992296bcddae2.tar.bz2
spack-a1969d9eec4e002371fa7bc9423992296bcddae2.tar.xz
spack-a1969d9eec4e002371fa7bc9423992296bcddae2.zip
dyninst: add patch to work with new boost (#10454)
Add tribool.patch to add explicit casts from tribool to bool in two places. Boost, starting with version 1.69, turned on explicit conversions for tribool, which breaks the build for dyninst. This is merged into the current dyninst develop and is expected to be part of the next release, so the version range uses the current release as an upper bound.
-rw-r--r--var/spack/repos/builtin/packages/dyninst/package.py1
-rw-r--r--var/spack/repos/builtin/packages/dyninst/tribool.patch34
2 files changed, 35 insertions, 0 deletions
diff --git a/var/spack/repos/builtin/packages/dyninst/package.py b/var/spack/repos/builtin/packages/dyninst/package.py
index f1e5a2a440..8db6ac644f 100644
--- a/var/spack/repos/builtin/packages/dyninst/package.py
+++ b/var/spack/repos/builtin/packages/dyninst/package.py
@@ -54,6 +54,7 @@ class Dyninst(CMakePackage):
patch('stat_dysect.patch', when='+stat_dysect')
patch('stackanalysis_h.patch', when='@9.2.0')
patch('v9.3.2-auto.patch', when='@9.3.2 %gcc@:4.7.99')
+ patch('tribool.patch', when='@9.3.0:10.0.0 ^boost@1.69:')
# Versions 9.3.x used cotire, but have no knob to turn it off.
# Cotire has no real use for one-time builds and can break
diff --git a/var/spack/repos/builtin/packages/dyninst/tribool.patch b/var/spack/repos/builtin/packages/dyninst/tribool.patch
new file mode 100644
index 0000000000..fa7bd3882c
--- /dev/null
+++ b/var/spack/repos/builtin/packages/dyninst/tribool.patch
@@ -0,0 +1,34 @@
+Add explicit casts from boost::tribool to bool. Starting with 1.69,
+tribool added 'explicit' to the conversion operator to bool, and this
+was breaking the build when using boost >= 1.69.
+
+Patch is from: https://github.com/dyninst/dyninst/commit/54a2debd9
+
+
+diff --git a/dataflowAPI/rose/util/Message.C b/dataflowAPI/rose/util/Message.C
+index a8a66ad4c..5e276f97d 100644
+--- a/dataflowAPI/rose/util/Message.C
++++ b/dataflowAPI/rose/util/Message.C
+@@ -1123,7 +1123,7 @@ StreamBuf::bake() {
+ destination_->bakeDestinations(message_.properties(), baked_/*out*/);
+ anyUnbuffered_ = false;
+ for (BakedDestinations::const_iterator bi=baked_.begin(); bi!=baked_.end() && !anyUnbuffered_; ++bi)
+- anyUnbuffered_ = !bi->second.isBuffered;
++ anyUnbuffered_ = static_cast<bool>(!bi->second.isBuffered);
+ isBaked_ = true;
+ }
+ }
+diff --git a/dataflowAPI/rose/util/Message.h b/dataflowAPI/rose/util/Message.h
+index 816f68d2e..03592cb97 100644
+--- a/dataflowAPI/rose/util/Message.h
++++ b/dataflowAPI/rose/util/Message.h
+@@ -386,7 +386,8 @@ struct SAWYER_EXPORT ColorSpec {
+ ColorSpec(AnsiColor fg, AnsiColor bg, bool bold): foreground(fg), background(bg), bold(bold) {}
+
+ /** Returns true if this object is in its default-constructed state. */
+- bool isDefault() const { return COLOR_DEFAULT==foreground && COLOR_DEFAULT==background && !bold; }
++ bool isDefault() const { return COLOR_DEFAULT==foreground && COLOR_DEFAULT==background
++ && static_cast<bool>(!bold); }
+ };
+
+ /** Colors to use for each message importance.