You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
gentoo-overlay/dev-util/ddd/files/ddd-3.3.12-gcc9.patch

94 lines
3.3 KiB

diff -ruN -x '*.am' ddd-3.3.12/ddd/strclass.h my/ddd/strclass.h
--- ddd-3.3.12/ddd/strclass.h 2009-02-11 18:25:06.000000000 +0100
+++ my/ddd/strclass.h 2019-11-22 22:00:49.000267420 +0100
@@ -543,7 +543,6 @@
bool OK() const;
};
-
class string
{
friend class subString;
@@ -811,9 +810,9 @@
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 +863,8 @@
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;
@@ -882,6 +881,58 @@
bool OK() const;
};
+inline void cat(const string&, const string&, string&);
+inline void cat(const string&, const subString&, string&);
+inline void cat(const string&, const constSubString&, string&);
+inline void cat(const string&, const char*, string&);
+inline void cat(const string&, char*, string&);
+inline void cat(const string&, char, string&);
+
+inline void cat(const subString&, const string&, string&);
+inline void cat(const subString&, const subString&, string&);
+inline void cat(const subString&, const char*, string&);
+inline void cat(const subString&, char*, string&);
+inline void cat(const subString&, char, string&);
+
+inline void cat(const char*, const string&, string&);
+inline void cat(const char*, const subString&, string&);
+inline void cat(const char*, const char*, string&);
+inline void cat(const char*, char*, string&);
+inline void cat(const char*, char, string&);
+
+inline void cat(char*, const string&, string&);
+inline void cat(char*, const subString&, string&);
+inline void cat(char*, const char*, string&);
+inline void cat(char*, char*, string&);
+inline void cat(char*, char, string&);
+
+inline void cat(char, const string&, string&);
+inline void cat(char, const subString&, string&);
+inline void cat(char, const char*, string&);
+inline void cat(char, char*, string&);
+inline void cat(char, char, string&);
+
+int split(const string& x, string *res, int maxn,
+ const string& sep);
+int split(const string& x, string *res, int maxn,
+ const regex& sep);
+
+string common_prefix(const string& x, const string& y,
+ int startpos = 0);
+string common_suffix(const string& x, const string& y,
+ int startpos = -1);
+string replicate(char c, int n);
+string replicate(const string& y, int n);
+string join(const string *src, int n, const string& sep);
+
+inline std::ostream& operator<<(std::ostream& s, const string& x);
+inline std::ostream& operator<<(std::ostream& s, const subString& x);
+std::istream& operator>>(std::istream& s, string& x);
+
+int readline(std::istream& s, string& x,
+ char terminator = '\n',
+ int discard_terminator = 1);
+
// Inject names manually to accomodate argument-dependent name lookup (ADL)
// (aka Koenig lookup). The rule is that friend declarations are visible
// when found through ADL because an argument of the call happens to be