Hi,

I am working on generating a D compiler for a wince platforms and so I
started from cegcc/mingw32ce.
The problem I have encounter is a bad insn when compiling and I had to add
a -fno-sibling-calls switch.
After some research I found a bug in gcc 4.1.0 when optimizing so I have
decided to report all the modifications on a gcc 4.2.4 and to test.

The result is available here : svn co
https://trac.smartmobili.com/repository/cegcc/branches/cegcc-4.2.4
cegcc-4.2.4
And you can browser sources here :
https://trac.smartmobili.com/browser/cegcc/branches/cegcc-4.2.4


To report modifications I start from gcc 4.1.0 and sometimes from 4.3.0
depending of which version were more similar.
I only have regret I have used in pe.c naming (pe_xxxx) instead of 4.3 one
(arm_pe_xxx):


Now I only have one issue in libstdc++ :

make[4]: Entering directory
`/home/Vincent/cegcc-4.2.4/src/build-mingw32ce/gcc/arm-mingw32ce/libstdc++-v3/include'
if [ ! -d "./arm-mingw32ce/bits/stdc++.h.gch" ]; then \
          mkdir -p ./arm-mingw32ce/bits/stdc++.h.gch; \
        fi; \
        /home/Vincent/cegcc-4.2.4/src/build-mingw32ce/gcc/./gcc/xgcc
-shared-libgcc -B/home/Vincent/cegcc-4.2.4/src/build-mingw32ce/gcc/./gcc
-nostdinc++
-L/home/Vincent/cegcc-4.2.4/src/build-mingw32ce/gcc/arm-mingw32ce/libstdc++-v3/src
-L/home/Vincent/cegcc-4.2.4/src/build-mingw32ce/gcc/arm-mingw32ce/libstdc++-v3/src/.libs
-L/home/Vincent/cegcc-4.2.4/src/build-mingw32ce/gcc/arm-mingw32ce/winsup/mingw
-L/home/Vincent/cegcc-4.2.4/src/build-mingw32ce/gcc/arm-mingw32ce/winsup/w32api/lib
-isystem /home/Vincent/cegcc-4.2.4/src/gcc/winsup/mingw/include -isystem
/home/Vincent/cegcc-4.2.4/src/gcc/winsup/w32api/include
-B/opt/mingw32ce/arm-mingw32ce/bin/ -B/opt/mingw32ce/arm-mingw32ce/lib/
-isystem /opt/mingw32ce/arm-mingw32ce/include -isystem
/opt/mingw32ce/arm-mingw32ce/sys-include -Winvalid-pch -Wno-deprecated -x
c++-header -g -O2 
-I/home/Vincent/cegcc-4.2.4/src/build-mingw32ce/gcc/arm-mingw32ce/libstdc++-v3/include/arm-mingw32ce
-I/home/Vincent/cegcc-4.2.4/src/build-mingw32ce/gcc/arm-mingw32ce/libstdc++-v3/include
-I/home/Vincent/cegcc-4.2.4/src/gcc/libstdc++-v3/libsupc++ -O0 -g
/home/Vincent/cegcc-4.2.4/src/gcc/libstdc++-v3/include/precompiled/stdc++.h
-o arm-mingw32ce/bits/stdc++.h.gch/O0g.gch
In file included from
/home/Vincent/cegcc-4.2.4/src/build-mingw32ce/gcc/arm-mingw32ce/libstdc++-v3/include/bits/basic_ios.h:44,
                 from
/home/Vincent/cegcc-4.2.4/src/build-mingw32ce/gcc/arm-mingw32ce/libstdc++-v3/include/ios:50,
                 from
/home/Vincent/cegcc-4.2.4/src/build-mingw32ce/gcc/arm-mingw32ce/libstdc++-v3/include/ostream:45,
                 from
/home/Vincent/cegcc-4.2.4/src/build-mingw32ce/gcc/arm-mingw32ce/libstdc++-v3/include/bitset:59,
                 from
/home/Vincent/cegcc-4.2.4/src/gcc/libstdc++-v3/include/precompiled/stdc++.h:64:
/home/Vincent/cegcc-4.2.4/src/build-mingw32ce/gcc/arm-mingw32ce/libstdc++-v3/include/bits/locale_facets.h:147:
error: invalid use of incomplete type 'struct std::ctype_base'

I suppose I forgot to report a modification or to regenerate a configure
but I don't know which one.
>From what I see struct std::ctype_base is defined in
libstdc++-v3\config\os\mingw32ce so it should not be difficult to find.

Modifications in libstdc++ between a vanilla gcc and a cegcc : 

        libstdc++-v3\config\io\basic_file_stdio.cc
        libstdc++-v3\config\locale\generic\c_locale.cc
        libstdc++-v3\config\locale\generic\c_locale.h
        libstdc++-v3\config\locale\generic\collate_members.cc
        libstdc++-v3\config\locale\generic\time_members.cc
        libstdc++-v3\config\os\newlib\os_defines.h
        libstdc++-v3\include\c_std\std_cstdio.h
        libstdc++-v3\include\c_std\std_cstdlib.h
        libstdc++-v3\include\c_std\std_cstring.h
        libstdc++-v3\include\c_std\std_ctime.h
        libstdc++-v3\include\c_std\std_cwchar.h
        libstdc++-v3\include\ext\mt_allocator.h
        libstdc++-v3\include\ext\pool_allocator.h
        libstdc++-v3\include\ext\stdio_filebuf.h
        libstdc++-v3\include\ext\stdio_sync_filebuf.h
        libstdc++-v3\include\Makefile.am                //Add 
${host_srcdir}/runtimeopts.h \
        libstdc++-v3\include\Makefile.in                //Add 
${host_srcdir}/runtimeopts.h \
        libstdc++-v3\include\stdc++.h
        libstdc++-v3\libmath\Makefile.in                
        libstdc++-v3\libsupc++\Makefile.in              
        libstdc++-v3\po\Makefile.in                     
        libstdc++-v3\src\locale.cc
        libstdc++-v3\src\locale_init.cc
        libstdc++-v3\src\localename.cc
        libstdc++-v3\src\Makefile.in                    
        libstdc++-v3\testsuite\Makefile.in              
        libstdc++-v3\acinclude.m4                       // Remove using 
::wcscoll & wcsxfrm
        libstdc++-v3\config.h.in                        
        libstdc++-v3\configure                          
        libstdc++-v3\configure.host                     
        libstdc++-v3\crossconfig.m4                     
        libstdc++-v3\linkage.m4                         
        libstdc++-v3\Makefile.in                        











-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
Cegcc-devel mailing list
Cegcc-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/cegcc-devel

Reply via email to