volunteer needed to complete shadow header work

brent verner brent@rcfile.org
Mon Aug 14 20:00:00 GMT 2000


On 14 Aug 2000 at 13:27 (-0700), Benjamin Kosnik wrote:
| 
| Enabling shadow headers, at the src/Makefile level, has not been
| working for about a month now. (Of course, it was never working
| fully.)
| 
| For the curious, the patch below, followed by a
| 
| aclocal; autoconf; autoheader; automake
| 

anyone else out there playing along?

try this patch on for size. regenerate. watch it bail. but a bit
closer.

it puts -I($top_srcdir)/shadow before -I($top_srcdir) so the
bits/* includes to define _IN_C_LEGACY_ are found

Index: Makefile.am
===================================================================
RCS file: /cvs/gcc/egcs/libstdc++-v3/src/Makefile.am,v
retrieving revision 1.25
diff -c -p -r1.25 Makefile.am
*** Makefile.am 2000/07/26 21:30:45     1.25
--- Makefile.am 2000/08/15 02:51:58
*************** LIBIO_INCLUDES = -I$(top_srcdir)/libio
*** 70,78 ****
  endif
  
  if GLIBCPP_USE_CSHADOW
! CSHADOW_INCLUDES = 
! #CSHADOW_INCLUDES = \
! #     @CSHADOWFLAGS@ -I$(top_srcdir)/shadow -I$(top_builddir)/cshadow
  else
  CSHADOW_INCLUDES =
  endif
--- 70,78 ----
  endif
  
  if GLIBCPP_USE_CSHADOW
! #CSHADOW_INCLUDES = 
! CSHADOW_INCLUDES = \
!       @CSHADOWFLAGS@ -I$(top_srcdir)/shadow -I$(top_builddir)/cshadow -I$(top_srcdir)/bits/shadow
  else
  CSHADOW_INCLUDES =
  endif
*************** CONFIG_INCLUDES = \
*** 82,89 ****
        -I$(top_srcdir)/@ctype_include_dir@
  
  INCLUDES = \
!       -D_GNU_SOURCE -nostdinc++ -I$(top_srcdir) \
!       $(CSHADOW_INCLUDES) $(LIBIO_INCLUDES) \
        $(CONFIG_INCLUDES) $(TOPLEVEL_INCLUDES) 
  
  
--- 82,89 ----
        -I$(top_srcdir)/@ctype_include_dir@
  
  INCLUDES = \
!       -D_GNU_SOURCE -nostdinc++ $(CSHADOW_INCLUDES) \
!   -I$(top_srcdir) $(LIBIO_INCLUDES) \
        $(CONFIG_INCLUDES) $(TOPLEVEL_INCLUDES) 
  

======================

... still having a namespace problem though. hardcoding 'using 
namespace _C_legacy' lets it compile, but I'll look more for the real 
solution after I read Nathan's site a bit more -- likely tomorrow 
evening. error is below. the __convert_long_double_i _is_ defined
in the intermediate file (g++ -E...), just not visible.


/usr/local/cvs/gcc-build/gcc/g++ -nostdinc++ -L/usr/local/cvs/gcc-build/i686-pc-linux/libstd++-v3/src -L/usr/local/cvs/gcc-build/i686-pc-linux/libstd++-v3/src/.libs -B/usr/local/cvs/gcc-build/gcc/ -B/usr/local/opt/i686-pc-linux/bin/ -B/usr/local/opt/i686-pc-linux/lib/ -isystem /usr/local/opt/i686-pc-linux/include -DHAVE_CONFIG_H -I. -I../../../../gcc/libstdc++-v3/src -I.. -D_GNU_SOURCE -nostdinc++ -I../../../../gcc/libstdc++-v3/shadow -I../cshadow -I../../../../gcc/libstdc++-v3/bits/shadow -I../../../../gcc/libstdc++-v3 -I../libio -I../../../../gcc/libstdc++-v3/libio -I../../../../gcc/libstdc++-v3/config/cpu/i486 -I../../../../gcc/libstdc++-v3/config/gnu-linux -I/usr/local/opt/include -g -O2 -fvtable-thunks -D_GNU_SOURCE -fno-implicit-templates -Wall -Wno-format -W -Wwrite-strings -Winline -Werror -Wno-unknown-pragmas -fdiagnostics-show-location=once -ffunction-sections -fdata-sections -g -c limitsMEMBERS.cc  -fPIC -DPIC -o .libs/limitsMEMBERS.o
In file included from limitsMEMBERS.cc:1:
../bits/std_limits.h: In function `long double std::numeric_limits<long 
double>::min ()':
../bits/std_limits.h:834: no field `__convert_long_double_i' in union 
being initialized
../bits/std_limits.h:834: Internal error: Segmentation fault.
Please submit a full bug report.


later all,
  brent

-- 
Damon Brent Verner                        o      _     _         _
Cracker Jack? Surprise Certified  _o     /\_   _ \\o  (_)\__/o  (_)
brent@rcfile.org                _< \_   _>(_) (_)/<_    \_| \   _|/' \/
brent@linux1.org               (_)>(_) (_)        (_)   (_)    (_)'  _\o_


More information about the Libstdc++ mailing list