AFAIR, historically, long long constants have been missing feature, i.e. they only worked inside the range of long constants,and there was an out of range warning otherwise.
Recently, it seems that long long constants only work in the range 0 to 127 or so. Other values result in wrong code being generated silently (tyüpically a value that is all-zero except for the lowest byte).
Philipp
While long long is new functionality, something as basic as integer constants really shouldn't fail silently. Thus increasing priority.
Philipp
Are you sure no 'pedantic' warning is generated? Remember that regression tests are run with --less-pedantic.
I do get a "warning 158: overflow in implicit constant conversion" for really big values, but it seems there are some smaller constants for which the code is (or was) wrong but no there is no warning.
Philipp
In revision #7923 I implemented a warning for long long literals, since this bug seems to take some time to fix.
Philipp
There have been a lot of long long fixes around the end of 2014 / beginning of 2015. The situation with long long literals improved a lot, but there are a few remaining issues.
Philipp
Bug [#1945] is a (partial?) duplicate, which is about type promotion from ulong to longlong.
Related
Bugs:
#1945Last edit: Maarten Brock 2015-06-17
There are still several tests disabled in longlong.c, which need more work to do.
todo,
Can we remove warning #212 after revision 9510?
IMO, the warning is no longer needed.
Philipp
Remaining long long issues,
bug #2477
bug #2329
bug #2118
It seems long long support has gained big improvements after revision #9527.
Currently all regression test cases have been enabled and passed on stm8 and z80 family (except gbz80).
Though there are remaining issues, they are port specific not common ones.
bug #2329
bug #2118