On 23/07/15 14:27 +0200, David Tardon wrote:
Hi,

On Sat, Jul 18, 2015 at 12:46:51PM +0100, Jonathan Wakely wrote:
Any problems rebuilding either open a bug or feel free to email me or
ping me on IRC (my freenode nick is 'redi') and I'll be happy to help.

This is a work-in-progress list of FTBFS packages:

* Build failures:

- F23 + Rawhide

xs

This seems to be a bug caused by the new std::string in GCC-5, the
error I get is:

initial.cxx:2590:34: error: redefinition of 'const char X_7ffd70a41bb0 []'
static const char X_7ffd70a41bb0[] = "max-eval-depth";
                                 ^
initial.cxx:104:19: note: 'const char X_7ffd70a41bb0 [15]' previously defined 
here
static const char X_7ffd70a41bb0[] = "fn-%background";
                  ^

which is due to this:

   const char *name = str("S_%F", string);
   if (strlen(name) > MAXVARNAME)
     name = str("X_%zulx", (long long) string);
   print("static const char %s[] = ", name);

This assumes that every const char* being printed has a unique
address, which is not a valid assumption, but probably worked with the
Copy-on-Write strings before GCC-5. Or maybe it's a change in
Boost.Foreach that causes it. Either way, the code makes invalid
assumptions.

I'm testing this patch.


--- dump.cxx~   2015-07-23 18:48:30.115033012 +0100
+++ dump.cxx    2015-07-23 18:48:31.567038423 +0100
@@ -263,7 +263,7 @@
        const List *title = runfd(0, "initial.xs", 0);
 
        printheader(title);
-       foreach (Dict::value_type var, vars) dumpvar(var.first.c_str(), 
var.second);
+       foreach (Dict::value_type& var, vars) dumpvar(var.first.c_str(), 
var.second);
 
        /* these must be assigned in this order, or things just won't work */
        varbuf << "\nstatic const struct { const char *name; List *value; } 
defs[] = {\n";
-- 
devel mailing list
devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/devel
Fedora Code of Conduct: http://fedoraproject.org/code-of-conduct

Reply via email to