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

Bug#307241: gcc-3.4: FTBFS: doxygen segfault processing libstdc++v3 headers



Package: gcc-3.4
Version: 3.4.3-12
Severity: serious
Tags: patch

Hi Matthias,

This bug is the mirror of bug #304659, doxygen segfaulting during the build
of gcc-3.4_3.4.3-12.  There appears to be an invalid use of '@var' without a
corresponding variable declaration in libstdc++v3/include/bits/basic_string.h.
Fixing this reference allows gcc-3.4 to build from source again with current
doxygen.  Patch attached.

This patch will be included in my upcoming NMU for bug #302995.

Thanks,
-- 
Steve Langasek
postmodern programmer
diff -uNr gcc-3.4-3.4.3.orig/debian/README.Debian gcc-3.4-3.4.3/debian/README.Debian
--- gcc-3.4-3.4.3.orig/debian/README.Debian	2005-05-01 18:03:06.000000000 -0700
+++ gcc-3.4-3.4.3/debian/README.Debian	2005-05-01 18:02:19.000000000 -0700
@@ -68,7 +68,7 @@
 Patches that Debian applied in this version:
 
 cvs-updates:
-  CVS updates from the 3.4 branch upto 20050305
+  CVS updates from the 3.4 branch upto 20050314
 
 gcc-version:
   Add "(Debian <package version>)" to the gcc version string
@@ -86,6 +86,10 @@
 libstdc++-doclink:
   adjust hrefs to point to the local documentation
 
+libstdc++-doxygen-syntax:
+  fix doxygen syntax error in header that causes segfaults with some
+  versions
+
 amd64-specs:
   On x86-64 use 64bits mode assembly except with -m32.
 
@@ -123,9 +127,6 @@
   library (i.e. gij looks for .so.5 for loading additional libraries
   like the GTK based AWT peers.
 
-pr19311:
-  Proposed patch to fix PR19311
-
 m68k-update:
   Add two m68k specfic patches backported from 4.0 concerning wrong code
   generation (Richard Zidlicky).
diff -uNr gcc-3.4-3.4.3.orig/debian/patches/libstdc++-doxygen-syntax.dpatch gcc-3.4-3.4.3/debian/patches/libstdc++-doxygen-syntax.dpatch
--- gcc-3.4-3.4.3.orig/debian/patches/libstdc++-doxygen-syntax.dpatch	1969-12-31 16:00:00.000000000 -0800
+++ gcc-3.4-3.4.3/debian/patches/libstdc++-doxygen-syntax.dpatch	2005-05-01 17:56:05.000000000 -0700
@@ -0,0 +1,39 @@
+#! /bin/sh -e
+
+# DP: fix doxygen syntax error in header that causes segfaults with some
+# DP: versions
+
+dir=
+if [ $# -eq 3 -a "$2" = '-d' ]; then
+    pdir="-d $3"
+    dir="$3/"
+elif [ $# -ne 1 ]; then
+    echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+    exit 1
+fi
+case "$1" in
+    -patch)
+        patch $pdir -f --no-backup-if-mismatch -p1 < $0
+        ;;
+    -unpatch)
+        patch $pdir -f --no-backup-if-mismatch -R -p1 < $0
+        ;;
+    *)
+        echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+        exit 1
+esac
+exit 0
+
+@DPATCH@
+diff -uNr src.orig/libstdc++-v3/include/bits/basic_string.h src/libstdc++-v3/include/bits/basic_string.h
+--- src.orig/libstdc++-v3/include/bits/basic_string.h	2004-10-28 14:52:40.000000000 -0700
++++ src/libstdc++-v3/include/bits/basic_string.h	2005-05-01 14:31:48.000000000 -0700
+@@ -248,7 +248,7 @@
+       // Data Members (public):
+       // NB: This is an unsigned type, and thus represents the maximum
+       // size that the allocator can hold.
+-      /// @var
++      /// @var  static const size_type npos
+       /// Value returned by various member functions when they fail.
+       static const size_type	npos = static_cast<size_type>(-1);
+ 
diff -uNr gcc-3.4-3.4.3.orig/debian/rules.patch gcc-3.4-3.4.3/debian/rules.patch
--- gcc-3.4-3.4.3.orig/debian/rules.patch	2005-05-01 18:03:06.000000000 -0700
+++ gcc-3.4-3.4.3/debian/rules.patch	2005-05-01 15:55:41.000000000 -0700
@@ -17,6 +17,7 @@
 	rename-info-files \
 	libstdc++-pic \
 	libstdc++-doclink \
+	libstdc++-doxygen-syntax \
 	amd64-specs \
 	gccbug \
 	gccbug-posix \

Reply to: