Inkscape 0.47 fails to build with GCC 4.5
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Inkscape |
Fix Released
|
Medium
|
Daniel_J | ||
inkscape (Debian) |
Fix Released
|
Unknown
|
|||
inkscape (openSUSE) |
Fix Released
|
Medium
|
Bug Description
When building latest stable with GCC 4.5 on Gentoo Linux, the following error occurs:
depbase=`echo eraser-context.o | sed 's|[^/]
x86_64-
mv -f $depbase.Tpo $depbase.Po
eraser-context.cpp: In function 'void set_to_
eraser-
This error does not occur with GCC 4.4 or earlier.
Related branches
tags: | added: build |
Changed in inkscape (openSUSE): | |
importance: | Undecided → Unknown |
status: | New → Unknown |
Changed in inkscape (Debian): | |
status: | Unknown → Confirmed |
Changed in inkscape (openSUSE): | |
status: | Unknown → Fix Released |
Changed in inkscape: | |
status: | Fix Committed → Fix Released |
Changed in inkscape (Debian): | |
status: | Confirmed → Fix Released |
Changed in inkscape (openSUSE): | |
importance: | Unknown → Medium |
In GCC 4.4 and earlier, and in the original C++ standard, A::B::B: :B::B:: B myVariable;
struct A { struct B {}; };
A::A::
is a perfectly valid declaration of a variable of type A::B.
In GCC 4.5, and in the current C++ standard, A::A is A's constructor, not the type A.
The attached patch corrects this for GCC 4.5. As best I can understand things, this should not adversely affect other compilers.