dev-util/source-highlight: fix tests on clang

Reported-by: Agostino Sarubbo
Closes: https://bugs.gentoo.org/739036
Package-Manager: Portage-3.0.4, Repoman-3.0.1
Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
This commit is contained in:
Sergei Trofimovich 2020-08-27 07:59:46 +01:00
parent 10bc81be80
commit 6c936b92ef
No known key found for this signature in database
GPG Key ID: ED5E45E06F2AC293
3 changed files with 74 additions and 0 deletions

View File

@ -0,0 +1,30 @@
From b3481e66f2014dece48d8dfe8affa416d8d4e104 Mon Sep 17 00:00:00 2001
From: Sergei Trofimovich <slyfox@gentoo.org>
Date: Thu, 27 Aug 2020 07:51:14 +0100
Subject: [PATCH 1/2] lib/tests/stdboosterror.h: use unambiguous form of
variable declaration
Original expression has an ambiguity and should not compile:
https://gcc.gnu.org/PR86564
Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
---
lib/tests/stdboosterror.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/lib/tests/stdboosterror.h b/lib/tests/stdboosterror.h
index 568545b..d59bfa6 100644
--- a/lib/tests/stdboosterror.h
+++ b/lib/tests/stdboosterror.h
@@ -4,7 +4,7 @@
#include <boost/regex/pattern_except.hpp>
static boost::regex_error
- std_boost_exception(boost::regex_error(boost::regex_constants::error_bad_pattern));
+ std_boost_exception = boost::regex_error(boost::regex_constants::error_bad_pattern);
/**
* returns the string representing a standard exception (which
--
2.28.0

View File

@ -0,0 +1,39 @@
From 4d53621557de31479dad3cb44b7fccba8277b76d Mon Sep 17 00:00:00 2001
From: Sergei Trofimovich <slyfox@gentoo.org>
Date: Thu, 27 Aug 2020 07:52:25 +0100
Subject: [PATCH 2/2] lib/tests/test_wordtokenizer_main.cpp: insert overload to
std namespace
Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
---
lib/tests/test_wordtokenizer_main.cpp | 7 ++++---
1 file changed, 4 insertions(+), 3 deletions(-)
diff --git a/lib/tests/test_wordtokenizer_main.cpp b/lib/tests/test_wordtokenizer_main.cpp
index 40e23b1..02e8fd8 100644
--- a/lib/tests/test_wordtokenizer_main.cpp
+++ b/lib/tests/test_wordtokenizer_main.cpp
@@ -11,9 +11,9 @@
using namespace std;
using namespace srchilite;
-static ostream &operator <<(ostream &os, const WordTokenizer::WordTokenizerResults::value_type &);
-
-ostream &operator <<(ostream &os, const WordTokenizer::WordTokenizerResults::value_type &token) {
+/* Argument-dependent lookup looks only at std:: namespace (ostream and value_type expansion) */
+namespace std {
+static ostream &operator <<(ostream &os, const WordTokenizer::WordTokenizerResults::value_type &token) {
if (token.first.size()) {
os << "space: \"" << token.first << "\"" << endl;
} else {
@@ -22,6 +22,7 @@ ostream &operator <<(ostream &os, const WordTokenizer::WordTokenizerResults::val
return os;
}
+}
int main() {
WordTokenizer::WordTokenizerResults tokens;
--
2.28.0

View File

@ -18,6 +18,11 @@ RDEPEND=">=dev-libs/boost-1.62.0:=[threads]
DEPEND="${RDEPEND}"
BDEPEND=""
PATCHES=(
"${FILESDIR}"/${PN}-3.1.9-test-clang-p1.patch
"${FILESDIR}"/${PN}-3.1.9-test-clang-p2.patch
)
src_configure() {
# required as rev-dep of dev-libs/boost-1.62.0
# https://wiki.gentoo.org/wiki/Project:C%2B%2B/Maintaining_ABI