This is the mail archive of the cygwin mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Fw: GCC - 64bit long long type, support in lib


fred wrote:


The gcc supports 64bit int it seems, but the library as downloaded does not,
for example try

 long long ldec = 0x11000000000LL;
 printf("%s: 0x%Lx,%Ld; %s\n","test",ldec,ldec,"test2");

seems the library should support it, look in
usr\src\gcc-3.4.4\libiberty\_doprnt.c
#if defined(__GNUC__) || defined(HAVE_LONG_LONG)
   PRINT_TYPE(long long);
#else
   PRINT_TYPE(long); /* Fake it and hope for the best.  */
#endif



anyway, i've not successfully recompiled gcc library for this, and didn't
find any FAQ about it.
the above code still crashes/prints wrong value.

I think its a problem with configure, I see in configure where test code is
generated for  #define HAVE_LONG_LONG 1
but what configure file is supposed to get then set with this
flag....?config.h ? hmm not happening.


Maybe others will not find your post as confusing as I did. I agree that 64-bit gcc supports 64-bit int, but there is no 64-bit gcc for cygwin. long long, on 32-bit platforms like cygwin, is made up from 2 32-bit integers. printf(), I believe, is part of newlib. "the library" isn't very descriptive, but I would have thought, in this context, it might refer to the libraries built by gcc, which doesn't appear to be what you mean, even though you say "gcc library." newlib doesn't pretend to have as much C99 support as GNU libc.

--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Problem reports:       http://cygwin.com/problems.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]