On Sun, 2004-12-19 at 22:52, Adam Warner wrote:> Hi Reid Spencer, > > > CC=/path/to/llvmgcc CXX=/path/to/llvmg++ configure > > make > > > > and was able to reproduce the problem. Not sure what's up with that but > > as Misha pointed out, llvmgcc isn't any "particular" version of 3.4, its > > just 3.4ish. I also concur with him that you should file a bug and > > attach the pre-processed source to it. You can get that with the -E flag > > to GCC. > > Many thanks for everyone's wonderful replies. > > I added the -E flag to the build options. Are the preprocessed sources the > .o files that now look something like this: > > # 1 "/home/adam/t/t5/freetype-2.1.9/src/sfnt/sfnt.c" > # 1 "/home/adam/t/t5/freetype-2.1.9//" > # 1 "/home/adam/t/t5/freetype-2.1.9/src/sfnt/sfnt.c" > # 1 "<built-in>" > # 1 "<command line>" > ... > typedef int _G_int16_t __attribute__ ((__mode__ (__HI__))); > typedef int _G_int32_t __attribute__ ((__mode__ (__SI__))); > typedef unsigned int _G_uint16_t __attribute__ ((__mode__ (__HI__))); > typedef unsigned int _G_uint32_t __attribute__ ((__mode__ (__SI__)));Yup, that would be the preprocessed sources!> ... > > ...because there's 4.8MB of them and I'd first like to confirm this is > what I should be attaching. I'm sorry but at this stage I don't have the > capabilities to narrow down the FreeType source code to a minimum test > case (unless the FreeType source code happens to looks uncannily like the > C version of Hello, World!)Can you just capture the pre-processed source for the one FreeType file that produces the errors about the non-constant initialization? Just see what the makefile spits out for a compilation command for that one file and change "-c" to "-E". Hopefully that's not multi-megabyte. If it is, please compress it with gzip before attaching it to the bug. Thanks, Reid. -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 189 bytes Desc: This is a digitally signed message part URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20041219/d5665b95/attachment.sig>
Adam sent me his tar file and only one file in it needs to be attached to a bug report, and it's only about 260KB. The initialization that causes the errors is below. I'm sure I can prune it down significantly. static const FT_Frame_Field header_fields[] { { ft_frame_start, 0, 54 }, { ft_frame_ulong_be, (FT_Byte)sizeof ( ((TT_Header*)0)->Table_Version ), (FT_UShort)( ((size_t) &((TT_Header *)0)->Table_Version) ) }, { ft_frame_ulong_be, (FT_Byte)sizeof ( ((TT_Header*)0)->Font_Revision ), (FT_UShort)( ((size_t) &((TT_Header *)0)->Font_Revision) ) }, { ft_frame_long_be, (FT_Byte)sizeof ( ((TT_Header*)0)->CheckSum_Adjust ), (FT_UShort)( ((size_t) &((TT_Header *)0)->CheckSum_Adjust) ) }, { ft_frame_long_be, (FT_Byte)sizeof ( ((TT_Header*)0)->Magic_Number ), (FT_UShort)( ((size_t) &((TT_Header *)0)->Magic_Number) ) }, { ft_frame_ushort_be, (FT_Byte)sizeof ( ((TT_Header*)0)->Flags ), (FT_UShort)( ((size_t) &((TT_Header *)0)->Flags) ) }, { ft_frame_ushort_be, (FT_Byte)sizeof ( ((TT_Header*)0)->Units_Per_EM ), (FT_UShort)( ((size_t) &((TT_Header *)0)->Units_Per_EM) ) }, =================== Errors start with the next line ============== { ft_frame_long_be, (FT_Byte)sizeof ( ((TT_Header*)0)->Created[0] ), (FT_UShort)( ((size_t) &((TT_Header *)0)->Created[0]) ) }, { ft_frame_long_be, (FT_Byte)sizeof ( ((TT_Header*)0)->Created[1] ), (FT_UShort)( ((size_t) &((TT_Header *)0)->Created[1]) ) }, { ft_frame_long_be, (FT_Byte)sizeof ( ((TT_Header*)0)->Modified[0] ), (FT_UShort)( ((size_t) &((TT_Header *)0)->Modified[0]) ) }, { ft_frame_long_be, (FT_Byte)sizeof ( ((TT_Header*)0)->Modified[1] ), (FT_UShort)( ((size_t) &((TT_Header *)0)->Modified[1]) ) }, { ft_frame_short_be, (FT_Byte)sizeof ( ((TT_Header*)0)->xMin ), (FT_UShort)( ((size_t) &((TT_Header *)0)->xMin) ) }, { ft_frame_short_be, (FT_Byte)sizeof ( ((TT_Header*)0)->yMin ), (FT_UShort)( ((size_t) &((TT_Header *)0)->yMin) ) }, { ft_frame_short_be, (FT_Byte)sizeof ( ((TT_Header*)0)->xMax ), (FT_UShort)( ((size_t) &((TT_Header *)0)->xMax) ) }, { ft_frame_short_be, (FT_Byte)sizeof ( ((TT_Header*)0)->yMax ), (FT_UShort)( ((size_t) &((TT_Header *)0)->yMax) ) }, { ft_frame_ushort_be, (FT_Byte)sizeof ( ((TT_Header*)0)->Mac_Style ), (FT_UShort)( ((size_t) &((TT_Header *)0)->Mac_Style) ) }, { ft_frame_ushort_be, (FT_Byte)sizeof ( ((TT_Header*)0)->Lowest_Rec_PPEM ), (FT_UShort)( ((size_t) &((TT_Header *)0)->Lowest_Rec_PPEM) ) }, { ft_frame_short_be, (FT_Byte)sizeof ( ((TT_Header*)0)->Font_Direction ), (FT_UShort)( ((size_t) &((TT_Header *)0)->Font_Direction) ) }, { ft_frame_short_be, (FT_Byte)sizeof ( ((TT_Header*)0)->Index_To_Loc_Format ), (FT_UShort)( ((size_t) &((TT_Header *)0)->Index_To_Loc_Format) ) }, { ft_frame_short_be, (FT_Byte)sizeof ( ((TT_Header*)0)->Glyph_Data_Format ), (FT_UShort)( ((size_t) &((TT_Header *)0)->Glyph_Data_Format) ) }, { ft_frame_end, 0, 0 } }; Reid Spencer wrote:>On Sun, 2004-12-19 at 22:52, Adam Warner wrote: > > >>Hi Reid Spencer, >> >> >> >>>CC=/path/to/llvmgcc CXX=/path/to/llvmg++ configure >>>make >>> >>>and was able to reproduce the problem. Not sure what's up with that but >>>as Misha pointed out, llvmgcc isn't any "particular" version of 3.4, its >>>just 3.4ish. I also concur with him that you should file a bug and >>>attach the pre-processed source to it. You can get that with the -E flag >>>to GCC. >>> >>> >>Many thanks for everyone's wonderful replies. >> >>I added the -E flag to the build options. Are the preprocessed sources the >>.o files that now look something like this: >> >># 1 "/home/adam/t/t5/freetype-2.1.9/src/sfnt/sfnt.c" >># 1 "/home/adam/t/t5/freetype-2.1.9//" >># 1 "/home/adam/t/t5/freetype-2.1.9/src/sfnt/sfnt.c" >># 1 "<built-in>" >># 1 "<command line>" >>... >>typedef int _G_int16_t __attribute__ ((__mode__ (__HI__))); >>typedef int _G_int32_t __attribute__ ((__mode__ (__SI__))); >>typedef unsigned int _G_uint16_t __attribute__ ((__mode__ (__HI__))); >>typedef unsigned int _G_uint32_t __attribute__ ((__mode__ (__SI__))); >> >> > >Yup, that would be the preprocessed sources! > > > >>... >> >>...because there's 4.8MB of them and I'd first like to confirm this is >>what I should be attaching. I'm sorry but at this stage I don't have the >>capabilities to narrow down the FreeType source code to a minimum test >>case (unless the FreeType source code happens to looks uncannily like the >>C version of Hello, World!) >> >> > >Can you just capture the pre-processed source for the one FreeType file >that produces the errors about the non-constant initialization? Just see >what the makefile spits out for a compilation command for that one file >and change "-c" to "-E". Hopefully that's not multi-megabyte. If it is, >please compress it with gzip before attaching it to the bug. > >Thanks, > >Reid. > > > >------------------------------------------------------------------------ > >_______________________________________________ >LLVM Developers mailing list >LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu >http://mail.cs.uiuc.edu/mailman/listinfo/llvmdev > >
Adam Warner
2004-Dec-20 08:37 UTC
[LLVMdev] Re: Re: Compiling FreeType 2.1.9 with LLVM 1.4
Hi Jeff Cohen,> Adam sent me his tar file and only one file in it needs to be attached > to a bug report, and it's only about 260KB.Yes, sfnt.o is the file I was intending to upload. Many thanks for the confirmation and analysis. Here's the bug report: <http://llvm.cs.uiuc.edu/bugs/show_bug.cgi?id=487> I hit Enter outside the text box which submitted the bug report before it was complete and tidy, though I believe it's decipherable. I added the link back to this discussion as an attachment comment. Thanks again to all, Adam