Looks like GCC requires that the field is aligned in order to create 
reference and because there is no alignment specified in STL headers 
(e.g. with gcc's pragma pack) even STL containers and iterators get 
packed. Maybe you should use __attribute__((packed)) on your structures 
and not do it globaly.

On 04/01/2011 06:49 AM, Jim Michaels wrote:
> g++ -fpack-struct and vector,iterator,stdint.h,iostream clash
>
> I don't get these problems with microsoft and borland compilers. I can
> turn on the pack struct switch and everything works great, and I can use
> iostream, and any of the STL no problem.
>
> but not with g++.
>
> I am using sezero personal build 4.5.2 1002.
>
> this just doesn't seem right.
>
> In file included from
> c:\mingw-w64-bin_i686-mingw_20101002_4.5_sezero\mingw64\bin\../lib/gcc/x86_64-w64-mingw32/4.5.2/../../../../x86_64-w64-mingw32/include/c++/4.5.2/ios:43:0,
> from
> c:\mingw-w64-bin_i686-mingw_20101002_4.5_sezero\mingw64\bin\../lib/gcc/x86_64-w64-mingw32/4.5.2/../../../../x86_64-w64-mingw32/include/c++/4.5.2/ostream:40,
> from
> c:\mingw-w64-bin_i686-mingw_20101002_4.5_sezero\mingw64\bin\../lib/gcc/x86_64-w64-mingw32/4.5.2/../../../../x86_64-w64-mingw32/include/c++/4.5.2/iterator:65,
> from diskgeom.cpp:49:
> c:\mingw-w64-bin_i686-mingw_20101002_4.5_sezero\mingw64\bin\../lib/gcc/x86_64-w64-mingw32/4.5.2/../../../../x86_64-w64-mingw32/include/c++/4.5.2/bits/ios_base.h:
> In member function 'std::ios_base::fmtflags
> std::ios_base::setf(std::ios_base::fmtflags)':
> c:\mingw-w64-bin_i686-mingw_20101002_4.5_sezero\mingw64\bin\../lib/gcc/x86_64-w64-mingw32/4.5.2/../../../../x86_64-w64-mingw32/include/c++/4.5.2/bits/ios_base.h:580:19:
> error: cannot bind packed field
> '((std::ios_base*)this)->std::ios_base::_M_flags' to 'std::_Ios_Fmtflags&'
> c:\mingw-w64-bin_i686-mingw_20101002_4.5_sezero\mingw64\bin\../lib/gcc/x86_64-w64-mingw32/4.5.2/../../../../x86_64-w64-mingw32/include/c++/4.5.2/bits/ios_base.h:
> In member function 'std::ios_base::fmtflags
> std::ios_base::setf(std::ios_base::fmtflags, std::ios_base::fmtflags)':
> c:\mingw-w64-bin_i686-mingw_20101002_4.5_sezero\mingw64\bin\../lib/gcc/x86_64-w64-mingw32/4.5.2/../../../../x86_64-w64-mingw32/include/c++/4.5.2/bits/ios_base.h:597:20:
> error: cannot bind packed field
> '((std::ios_base*)this)->std::ios_base::_M_flags' to 'std::_Ios_Fmtflags&'
> c:\mingw-w64-bin_i686-mingw_20101002_4.5_sezero\mingw64\bin\../lib/gcc/x86_64-w64-mingw32/4.5.2/../../../../x86_64-w64-mingw32/include/c++/4.5.2/bits/ios_base.h:598:36:
> error: cannot bind packed field
> '((std::ios_base*)this)->std::ios_base::_M_flags' to 'std::_Ios_Fmtflags&'
> c:\mingw-w64-bin_i686-mingw_20101002_4.5_sezero\mingw64\bin\../lib/gcc/x86_64-w64-mingw32/4.5.2/../../../../x86_64-w64-mingw32/include/c++/4.5.2/bits/ios_base.h:
> In member function 'void std::ios_base::unsetf(std::ios_base::fmtflags)':
> c:\mingw-w64-bin_i686-mingw_20101002_4.5_sezero\mingw64\bin\../lib/gcc/x86_64-w64-mingw32/4.5.2/../../../../x86_64-w64-mingw32/include/c++/4.5.2/bits/ios_base.h:610:20:
> error: cannot bind packed field
> '((std::ios_base*)this)->std::ios_base::_M_flags' to 'std::_Ios_Fmtflags&'
> c:\mingw-w64-bin_i686-mingw_20101002_4.5_sezero\mingw64\bin\../lib/gcc/x86_64-w64-mingw32/4.5.2/../../../../x86_64-w64-mingw32/include/c++/4.5.2/bits/ios_base.h:
> In member function 'long int& std::ios_base::iword(int)':
> c:\mingw-w64-bin_i686-mingw_20101002_4.5_sezero\mingw64\bin\../lib/gcc/x86_64-w64-mingw32/4.5.2/../../../../x86_64-w64-mingw32/include/c++/4.5.2/bits/ios_base.h:744:21:
> error: cannot bind packed field
> '__word->std::ios_base::_Words::_M_iword' to 'long int&'
> c:\mingw-w64-bin_i686-mingw_20101002_4.5_sezero\mingw64\bin\../lib/gcc/x86_64-w64-mingw32/4.5.2/../../../../x86_64-w64-mingw32/include/c++/4.5.2/bits/ios_base.h:
> In member function 'void*& std::ios_base::pword(int)':
> c:\mingw-w64-bin_i686-mingw_20101002_4.5_sezero\mingw64\bin\../lib/gcc/x86_64-w64-mingw32/4.5.2/../../../../x86_64-w64-mingw32/include/c++/4.5.2/bits/ios_base.h:765:21:
> error: cannot bind packed field
> '__word->std::ios_base::_Words::_M_pword' to 'void*&'
>
>
>
>
> -------------
> Jim Michaels
> [email protected]
> [email protected]
> http://JimsComputerRepairandWebDesign.com
> http://JesusnJim.com (my personal site, has software)
> http://DoLifeComputers.JesusnJim.com (group which I lead)
> ---
> Computer memory/disk size measurements:
> [KB KiB] [MB MiB] [GB GiB] [TB TiB]
> [10^3B=1,000B=1KB][2^10B=1,024B=1KiB]
> [10^6B=1,000,000B=1MB][2^20B=1,048,576B=1MiB]
> [10^9B=1,000,000,000B=1GB][2^30B=1,073,741,824B=1GiB]
> [10^12B=1,000,000,000,000B=1TB][2^40B=1,099,511,627,776B=1TiB]
> Note: disk size is measured in MB, GB, or TB, not in MiB, GiB, or TiB.
> computer memory (RAM) is measured in MiB and GiB.
>
>
>
>
> ------------------------------------------------------------------------------
> Create and publish websites with WebMatrix
> Use the most popular FREE web apps or write code yourself;
> WebMatrix provides all the features you need to develop and
> publish your website. http://p.sf.net/sfu/ms-webmatrix-sf
>
>
>
> _______________________________________________
> Mingw-w64-public mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/mingw-w64-public

------------------------------------------------------------------------------
Xperia(TM) PLAY
It's a major breakthrough. An authentic gaming
smartphone on the nation's most reliable network.
And it wants your games.
http://p.sf.net/sfu/verizon-sfdev
_______________________________________________
Mingw-w64-public mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public

Reply via email to