ddd: fix build with gcc9
This commit is contained in:
parent
d693641c95
commit
62ff60530f
1 changed files with 101 additions and 0 deletions
101
srcpkgs/ddd/patches/gcc9-ftbfs.patch
Normal file
101
srcpkgs/ddd/patches/gcc9-ftbfs.patch
Normal file
|
@ -0,0 +1,101 @@
|
|||
From: Sophie Brun <sophie@offensive-security.com>
|
||||
Date: Mon, 30 Sep 2019 16:17:19 +0200
|
||||
Subject: Fix ftbfs with GCC-9
|
||||
|
||||
Last-Update: 2019-10-01
|
||||
Description:
|
||||
"If a friend declaration specifies a default, it must be a friend
|
||||
function definition, and no other declarations of this function are
|
||||
allowed in the translation unit."
|
||||
Remove default values from declaration and change these functions calls
|
||||
in the code to add default values if not overwritten.
|
||||
---
|
||||
ddd/DispValue.C | 4 ++--
|
||||
ddd/complete.C | 2 +-
|
||||
ddd/exit.C | 2 +-
|
||||
ddd/strclass.C | 1 +
|
||||
ddd/strclass.h | 10 ++++++----
|
||||
5 files changed, 11 insertions(+), 8 deletions(-)
|
||||
|
||||
diff --git a/ddd/DispValue.C b/ddd/DispValue.C
|
||||
index de25768..2656242 100644
|
||||
--- ddd/DispValue.C
|
||||
+++ ddd/DispValue.C
|
||||
@@ -1432,8 +1432,8 @@ void DispValue::get_index_surroundings(string& prefix, string& suffix) const
|
||||
|
||||
for (int i = 1; i < nchildren(); i++)
|
||||
{
|
||||
- prefix = common_prefix(prefix, child(i)->full_name());
|
||||
- suffix = common_suffix(suffix, child(i)->full_name());
|
||||
+ prefix = common_prefix(prefix, child(i)->full_name(), 0);
|
||||
+ suffix = common_suffix(suffix, child(i)->full_name(), -1);
|
||||
}
|
||||
}
|
||||
|
||||
diff --git a/ddd/complete.C b/ddd/complete.C
|
||||
index b161e74..4bde5ff 100644
|
||||
--- ddd/complete.C
|
||||
+++ ddd/complete.C
|
||||
@@ -354,7 +354,7 @@ static void complete_reply(const string& complete_answer, void *qu_data)
|
||||
string common_pfx = completions[0];
|
||||
int i;
|
||||
for (i = 1; i < completions_size; i++)
|
||||
- common_pfx = common_prefix(common_pfx, completions[i]);
|
||||
+ common_pfx = common_prefix(common_pfx, completions[i], 0);
|
||||
|
||||
if (completions_size > 1 && input == common_pfx)
|
||||
{
|
||||
diff --git a/ddd/exit.C b/ddd/exit.C
|
||||
index f490c23..664f203 100644
|
||||
--- ddd/exit.C
|
||||
+++ ddd/exit.C
|
||||
@@ -478,7 +478,7 @@ void get_core_pattern(int signal)
|
||||
str_func_ret = "core";
|
||||
}
|
||||
else {
|
||||
- readline(patternfile, pattern);
|
||||
+ readline(patternfile, pattern, '\n', 1);
|
||||
core_pat = pattern.chars();
|
||||
while(*core_pat)
|
||||
{
|
||||
diff --git a/ddd/strclass.C b/ddd/strclass.C
|
||||
index be0bade..dfbb054 100644
|
||||
--- ddd/strclass.C
|
||||
+++ ddd/strclass.C
|
||||
@@ -1563,6 +1563,7 @@ std::istream& operator>>(std::istream& s, string& x)
|
||||
return s;
|
||||
}
|
||||
|
||||
+
|
||||
int readline(std::istream& s, string& x, char terminator, int discard)
|
||||
{
|
||||
assert(!x.consuming());
|
||||
diff --git a/ddd/strclass.h b/ddd/strclass.h
|
||||
index 7ef16fa..035a17e 100644
|
||||
--- ddd/strclass.h
|
||||
+++ ddd/strclass.h
|
||||
@@ -811,9 +811,11 @@ public:
|
||||
const regex& sep);
|
||||
|
||||
friend string common_prefix(const string& x, const string& y,
|
||||
- int startpos = 0);
|
||||
+ int startpos);
|
||||
+
|
||||
friend string common_suffix(const string& x, const string& y,
|
||||
- int startpos = -1);
|
||||
+ int startpos);
|
||||
+
|
||||
friend string replicate(char c, int n);
|
||||
friend string replicate(const string& y, int n);
|
||||
friend string join(const string *src, int n, const string& sep);
|
||||
@@ -864,8 +866,8 @@ public:
|
||||
friend std::istream& operator>>(std::istream& s, string& x);
|
||||
|
||||
friend int readline(std::istream& s, string& x,
|
||||
- char terminator = '\n',
|
||||
- int discard_terminator = 1);
|
||||
+ char terminator,
|
||||
+ int discard_terminator);
|
||||
|
||||
// Status
|
||||
unsigned int length() const;
|
Loading…
Reference in a new issue