Bug#102473: #include_next does not work correctly in std_cstdio.h (and others)
Package: libstdc++3-dev
Version: 3.0-2
Platform: ppc
If I compile a program which includes any of the following headers:
cassert, cctype, cerrno, clocale (and others)
I get the following errors:
/usr/include/g++-v3/bits/std_cstring.h:40:25: string.h: No such file or
directory
/usr/include/g++-v3/bits/std_cstdlib.h:41:25: stdlib.h: No such file or
directory
If I apply the following patch (in /usr/include/g++-v3/bits) everything
works again. But this cannot be the correct solution.
Yours
Christof
---------
--- std_cassert.h~ Sat Jun 9 01:33:14 2001
+++ std_cassert.h Mon Jun 25 23:31:09 2001
@@ -34,7 +34,7 @@
// No include guards on this header...
#pragma GCC system_header
-#include_next <assert.h>
+#include <assert.h>
--- std_cctype.h~ Sat Jun 9 20:53:56 2001
+++ std_cctype.h Mon Jun 25 23:31:51 2001
@@ -35,7 +35,7 @@
#define _CPP_CCTYPE 1
#pragma GCC system_header
-#include_next <ctype.h>
+#include <ctype.h>
// Get rid of those macros defined in <ctype.h> in lieu of real
functions.
#undef isalnum
--- std_cerrno.h~ Sat Jun 9 01:33:14 2001
+++ std_cerrno.h Mon Jun 25 23:33:07 2001
@@ -35,7 +35,7 @@
#define _CPP_CERRNO 1
#pragma GCC system_header
-#include_next <errno.h>
+#include <errno.h>
// Adhere to section 17.4.1.2 clause 5 of ISO 14882:1998
#ifndef errno
--- std_clocale.h~ Sat Jun 9 08:57:15 2001
+++ std_clocale.h Mon Jun 25 23:33:27 2001
@@ -35,7 +35,7 @@
#define _CPP_CLOCALE 1
#pragma GCC system_header
-#include_next <locale.h>
+#include <locale.h>
// Get rid of those macros defined in <locale.h> in lieu of real
functions.
#undef setlocale
--- std_cmath.h~ Mon Jun 11 01:41:55 2001
+++ std_cmath.h Mon Jun 25 23:37:03 2001
@@ -37,7 +37,7 @@
#include <bits/c++config.h>
#pragma GCC system_header
-#include_next <math.h>
+#include <math.h>
// Get rid of those macros defined in <math.h> in lieu of real
functions.
#undef abs
--- std_cstdlib.h~ Mon Jun 11 01:41:55 2001
+++ std_cstdlib.h Mon Jun 25 23:30:46 2001
@@ -38,7 +38,7 @@
#include <bits/std_cstddef.h>
#pragma GCC system_header
-#include_next <stdlib.h>
+#include <stdlib.h>
// Get rid of those macros defined in <stdlib.h> in lieu of real
functions.
#undef abort
--- std_cstring.h~ Sat Jun 9 20:53:56 2001
+++ std_cstring.h Mon Jun 25 23:30:12 2001
@@ -37,7 +37,7 @@
#include <bits/std_cstddef.h>
#pragma GCC system_header
-#include_next <string.h>
+#include <string.h>
// Get rid of those macros defined in <string.h> in lieu of real
functions.
#undef memcpy
--- std_ctime.h~ Sat Jun 9 20:53:56 2001
+++ std_ctime.h Mon Jun 25 23:32:15 2001
@@ -37,7 +37,7 @@
#include <bits/std_cstddef.h>
#pragma GCC system_header
-#include_next <time.h>
+#include <time.h>
// Get rid of those macros defined in <time.h> in lieu of real
functions.
#undef clock
--- std_cwchar.h~ Mon Jun 11 07:06:54 2001
+++ std_cwchar.h Mon Jun 25 23:29:28 2001
@@ -39,7 +39,7 @@
#if _GLIBCPP_HAVE_WCHAR_H
#pragma GCC system_header
-#include_next <wchar.h>
+#include <wchar.h>
#endif
// Need to do a bit of trickery here with mbstate_t as char_traits
--- std_cwctype.h~ Sat Jun 9 01:33:14 2001
+++ std_cwctype.h Mon Jun 25 23:32:40 2001
@@ -35,7 +35,7 @@
#define _CPP_CWCTYPE 1
#pragma GCC system_header
-#include_next <wctype.h>
+#include <wctype.h>
// Get rid of those macros defined in <wctype.h> in lieu of real
functions.
#undef iswalnum
Reply to: