[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#642176: g++-4.6: libreoffice/mozilla build fails with gcc >= 4.6.1-10 due to gcc PR 50442



Package: g++-4.6
Version: 4.6.1-10
Severity: important
Tags: patch
Forwarded: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50442 

Hi,

libreoffices (and apparently also mozilla, see below) build fails since
4.6.1-10.

Build log details in http://lists.freedesktop.org/archives/libreoffice/2011-September/018386.html:

[ build CXX ] vcl/unx/gtk/a11y/atkutil
R=/home/luc/git && S=$R/core && O=$S/solver/unxlngx6.pro &&
W=$S/workdir/unxlngx6.pro &&  mkdir -p $W/CxxObject/vcl/unx/gtk/a11y/
$W/Dep/CxxObject/vcl/unx/gtk/a11y/ && ccache g++ -DCPPU_ENV=gcc3 -DCUI
-DENABLE_GRAPHITE -DENABLE_GTK -DENABLE_LAYOUT=0
-DENABLE_LAYOUT_EXPERIMENTAL=0 -DGCC -DGXX_INCLUDE_PATH=/usr/include/c++/4.6
-DHAVE_GCC_VISIBILITY_FEATURE -DLINUX -DNDEBUG -DOPTIMIZE
-DOSL_DEBUG_LEVEL=0 -DPRODUCT -DPRODUCT_FULL -DSOLAR_JAVA -DSUPD=350 -DUNIX
-
DUNX -DVCL -DX86_64 -D_PTHREADS -D_REENTRANT   -DVCLPLUG_GTK_IMPLEMENTATION
-DVERSION=\"350m1\"   -Wall -Wendif-labels -Wextra -Wshadow
-Woverloaded-virtual -Wno-non-virtual-dtor -fPIC -fmessage-length=0
-fno-common -pipe  -fvisibility=hidden  -fvisibility-inlines-hidden 
-std=c++0x -Wno-deprecated-declarations   -DEXCEPTIONS_ON -fexceptions
-fno-enforce-eh-specs  -O2 -c $S/vcl/unx/gtk/a11y/atkutil.cxx -o
$W/CxxObject/vcl/unx/gtk/a11y/atkutil.o -MMD -MT $W/
CxxObject/vcl/unx/gtk/a11y/atkutil.o -MP -MF
$W/Dep/CxxObject/vcl/unx/gtk/a11y/atkutil.d -I$S/vcl/unx/gtk/a11y/
-I$O/inc/stl -I$O/inc/external -I$O/inc -I$S/solenv/unxlngx6/inc
-I$S/solenv/inc -I$S/res -I$S/solenv/inc/Xp31
-I/usr/lib/jvm/java-6-openjdk-amd64/include
-I/usr/lib/jvm/java-6-openjdk-amd64/include/linux
-I/usr/lib/jvm/java-6-openjdk-amd64/include/native_threads/include
-I$S/vcl/inc -I$S/vcl/inc/pch -I$S/solenv/inc -I$O/inc  -I$O/inc/offapi
-I$O/
inc/udkapi -pthread -I/usr/include/gtk-2.0
-I/usr/lib/x86_64-linux-gnu/gtk-2.0/include -I/usr/include/atk-1.0
-I/usr/include/gdk-pixbuf-2.0 -I/usr/include/pango-1.0
-I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng12
-I/usr/include/cairo -I/usr/include/gio-unix-2.0/ -I/usr/include/glib-2.0
-I/usr/lib/glib-2.0/include  
/home/luc/git/core/vcl/unx/gtk/a11y/atkutil.cxx: In member function ‘void
DocumentFocusListener::attachRecursive(const
com::sun::star::uno::Reference<com::sun::star::accessibility::XAccessible>&,
const
com::sun::star::uno::Reference<com::sun::star::accessibility::XAccessibleContext>&,
const
com::sun::star::uno::Reference<com::sun::star::accessibility::XAccessibleStateSet>&)’:
/home/luc/git/core/vcl/unx/gtk/a11y/atkutil.cxx:322:60: error: call of
overloaded
‘insert(com::sun::star::uno::Reference<com::sun::star::accessibility::XAccessibleEventBroadcaster>&)’
is ambiguous
/home/luc/git/core/vcl/unx/gtk/a11y/atkutil.cxx:322:60: note: candidates
are:
/usr/include/c++/4.6/bits/stl_set.h:407:7: note: std::pair<typename
std::_Rb_tree<_Key, _Key, std::_Identity<_Key>, _Compare, typename
_Alloc::rebind<_Key>::other>::const_iterator, bool> std::set<_Key, _Compare,
_Alloc>::insert(const value_type&) [with _Key =
com::sun::star::uno::Reference<com::sun::star::uno::XInterface>, _Compare =
std::less&lt;com::sun::star::uno::Reference&lt;com::sun::star::uno::XInterface&gt;
>, _Alloc = std::allocator<com::sun::star::uno::
Reference<com::sun::star::uno::XInterface> >, typename std::_Rb_tree<_Key,
_Key, std::_Identity<_Key>, _Compare, typename
_Alloc::rebind<_Key>::other>::const_iterator =
std::_Rb_tree_const_iterator&lt;com::sun::star::uno::Reference&lt;com::sun::star::uno::XInterface&gt;
>, std::set<_Key, _Compare, _Alloc>::value_type =
com::sun::star::uno::Reference<com::sun::star::uno::XInterface>]
/usr/include/c++/4.6/bits/stl_set.h:416:7: note: std::pair<typename
std::_Rb_tree<_Key, _Key, std::_Identity<_Key>, _Compare, typename
_Alloc::rebind<_Key>::other>::const_iterator, bool> std::set<_Key, _Compare,
_Alloc>::insert(std::set<_Key, _Compare, _Alloc>::value_type&&) [with _Key =
com::sun::star::uno::Reference<com::sun::star::uno::XInterface>, _Compare =
std::less&lt;com::sun::star::uno::Reference&lt;com::sun::star::uno::XInterface&gt;
>, _Alloc = std::
allocator&lt;com::sun::star::uno::Reference&lt;com::sun::star::uno::XInterface&gt;
>, typename std::_Rb_tree<_Key, _Key, std::_Identity<_Key>, _Compare,
typename _Alloc::rebind<_Key>::other>::const_iterator =
std::_Rb_tree_const_iterator&lt;com::sun::star::uno::Reference&lt;com::sun::star::uno::XInterface&gt;
>, std::set<_Key, _Compare, _Alloc>::value_type =
com::sun::star::uno::Reference<com::sun::star::uno::XInterface>]

I reverted to gcc-4.5 for now but that of course fails with gcj-using
archs..

see http://lists.freedesktop.org/archives/libreoffice/2011-September/018423.html and the attached
complete interdiff for the fix.

Grüße/Regards,

René
diff -u gcc-4.6-4.6.1/debian/rules.patch gcc-4.6-4.6.1/debian/rules.patch
--- gcc-4.6-4.6.1/debian/rules.patch
+++ gcc-4.6-4.6.1/debian/rules.patch
@@ -81,6 +81,7 @@
 	pr49944 \
 	libjava-r176199 \
 	gcc-cloog-dl \
+	pr50442 \
 	$(if $(filter yes, $(DEB_CROSS)),,gcc-print-file-name) \
 
 #	libstdc++-nothumb-check \
diff -u gcc-4.6-4.6.1/debian/changelog gcc-4.6-4.6.1/debian/changelog
--- gcc-4.6-4.6.1/debian/changelog
+++ gcc-4.6-4.6.1/debian/changelog
@@ -1,3 +1,11 @@
+gcc-4.6 (4.6.1-11.1) unstable; urgency=low
+
+  [ Rene Engelhard ]
+  * Non-maintainer upload.
+  * Add patch for PR c++/50442, reverting fix for PR c++/49267
+
+ -- Rene Engelhard <rene@debian.org>  Mon, 19 Sep 2011 17:57:52 +0200
+
 gcc-4.6 (4.6.1-11) unstable; urgency=low
 
   * Update to SVN 20110917 (r178926) from the gcc-4_6-branch.
diff -u gcc-4.6-4.6.1/debian/patches/svn-updates.diff gcc-4.6-4.6.1/debian/patches/svn-updates.diff
--- gcc-4.6-4.6.1/debian/patches/svn-updates.diff
+++ gcc-4.6-4.6.1/debian/patches/svn-updates.diff
@@ -6849,8 +6849,8 @@
 +
 Index: gcc/testsuite/g++.dg/cpp0x/rv-conv1.C
 ===================================================================
---- a/src/gcc/testsuite/g++.dg/cpp0x/rv-conv1.C	(.../tags/gcc_4_6_1_release)
-+++ b/src/gcc/testsuite/g++.dg/cpp0x/rv-conv1.C	(.../branches/gcc-4_6-branch)
+--- a/src/gcc/testsuite/g++.dg/cpp0x/rv-conv1.C        (.../tags/gcc_4_6_1_release)
++++ b/src/gcc/testsuite/g++.dg/cpp0x/rv-conv1.C        (.../branches/gcc-4_6-branch)
 @@ -0,0 +1,9 @@
 +// PR c++/49267
 +// { dg-options -std=c++0x }
only in patch2:
unchanged:
--- gcc-4.6-4.6.1.orig/debian/patches/pr50442.diff
+++ gcc-4.6-4.6.1/debian/patches/pr50442.diff
@@ -0,0 +1,52 @@
+2011-09-17  Jason Merrill  <jason@redhat.com>
+
+       PR c++/50442
+       Revert:
+       PR c++/49267
+       * call.c (compare_ics): rvaluedness_matches_p can differ
+       based on the source type, not just target.
+
+--- a/src/gcc/cp/call.c	2011/09/17 20:49:34	178931
++++ b/src/gcc/cp/call.c	2011/09/17 22:35:10	178932
+@@ -7545,13 +7545,13 @@
+ 
+   if (ref_conv1 && ref_conv2)
+     {
+-      if (!ref_conv1->this_p && !ref_conv2->this_p)
++      if (!ref_conv1->this_p && !ref_conv2->this_p
++	  && (TYPE_REF_IS_RVALUE (ref_conv1->type)
++	      != TYPE_REF_IS_RVALUE (ref_conv2->type)))
+ 	{
+-	  if (ref_conv1->rvaluedness_matches_p
+-	      > ref_conv2->rvaluedness_matches_p)
++	  if (ref_conv1->rvaluedness_matches_p)
+ 	    return 1;
+-	  if (ref_conv2->rvaluedness_matches_p
+-	      > ref_conv1->rvaluedness_matches_p)
++	  if (ref_conv2->rvaluedness_matches_p)
+ 	    return -1;
+ 	}
+ 
+
+
+
+
+2011-09-17  Jason Merrill  &lt;jason@redhat.com&gt;
+
+       PR c++/50442
+       Revert:
+       PR c++/49267
+       * g++.dg/cpp0x/rv-conv1.C: New.
+
+--- a/src/gcc/testsuite/g++.dg/cpp0x/rv-conv1.C        (.../tags/gcc_4_6_1_release)
++++ b/src/gcc/testsuite/g++.dg/cpp0x/rv-conv1.C        (.../branches/gcc-4_6-branch)
+@@ -1,9 +0,0 @@
+-// PR c++/49267
+-// { dg-options -std=c++0x }
+-
+-struct X {
+-  operator int&();
+-  operator int&&();
+-};
+-
+-int&&x = X();

Reply to: