[Bug libgcc/61546] MINGW : __int64 is #define'd as 'long long'

2014-06-18 Thread baskanov at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61546

--- Comment #4 from Anton Baskanov  ---
(In reply to Ozkan Sezer from comment #3)
> (In reply to Anton Baskanov from comment #2)
> > 
> >  why libgcc uses #define for __int64 instead of typedef?
> 
> MinGW and MinGW-w64 use #define instead of a typedef, because that allows
> for uses like 'signed __int64' and 'unsigned __int64', i.e. __int64 isn't
> native to gcc.

OK, got it. Thanks for the answer!


[Bug libgcc/61546] MINGW : __int64 is #define'd as 'long long'

2014-06-18 Thread sezeroz at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61546

Ozkan Sezer  changed:

   What|Removed |Added

 CC||sezeroz at gmail dot com

--- Comment #3 from Ozkan Sezer  ---
(In reply to Anton Baskanov from comment #2)
> 
>  why libgcc uses #define for __int64 instead of typedef?

MinGW and MinGW-w64 use #define instead of a typedef, because that allows for
uses like 'signed __int64' and 'unsigned __int64', i.e. __int64 isn't native to
gcc.


[Bug libgcc/61546] MINGW : __int64 is #define'd as 'long long'

2014-06-18 Thread baskanov at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61546

--- Comment #2 from Anton Baskanov  ---
(In reply to Richard Biener from comment #1)
> Well,
> 
>   long long(123456789012345678);
> 
> isn't valid C++.  Either use cast syntax or provide a typedef.

Yes, you are right, but why libgcc uses #define for __int64 instead of typedef?
This is confusing.


[Bug libgcc/61546] MINGW : __int64 is #define'd as 'long long'

2014-06-18 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61546

Richard Biener  changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution|--- |INVALID

--- Comment #1 from Richard Biener  ---
Well,

  long long(123456789012345678);

isn't valid C++.  Either use cast syntax or provide a typedef.