On 01/05/18 15:18, Luc Van Oostenryck wrote: > This series contains the changes needed to compile and use > sparse on x86-64's x32 variant, including the selfcheck. > As a side-effect, for x86 & x86-64, cgcc is now much lighter > because spasre's own logic & defines are now used. > > Note: The selfcheck still contains warnings like: > "constant 0x...u is so big it is unsigned long long" > These warnings are legit and these headers should be fixed. > > > This series is also available for testing in the Git repository at: > git://github.com/lucvoo/sparse-dev.git build-x32 These patches don't apply cleanly to the current 'master' branch, so I had to wiggle them a little bit to apply cleanly. (Not difficult). Having done so, I have given them a bit of light testing on Linux Mint x86-64 and cygwin x86-64. As expected, I have no issues to report from the testing (only sparse test-suite and a run over git source, as usual). I was interested in these patches because of the introduction of the '_Float<n>' types in the last patch. While doing some testing of git, using various compiler(s) version(s) on various platform(s), I had noticed that sparse was practically useless on fedora-27. This was, in part, because the much newer version of gcc enabled the use of the _Float128 type which was causing sparse to choke: $ gcc --version gcc (GCC) 7.2.1 20170915 (Red Hat 7.2.1-2) Copyright (C) 2017 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. $ $ sparse --version v0.5.2 $ $ make sparse >sp-out1 2>&1 $ grep warning sp-out1 | sort | uniq -c 357 /usr/include/stdlib.h:133:8: warning: '_Float128' has implicit type 7 /usr/include/sys/sysmacros.h:79:1: warning: constant 0xfffff00000000000u is so big it is unsigned long 7 /usr/include/sys/sysmacros.h:80:1: warning: constant 0x00000ffffff00000u is so big it is unsigned long $ Having applied these patches, we see a nice improvement: $ sparse --version v0.5.2-8-g04e51d0 $ $ make sparse >sp-out 2>&1 $ grep warning sp-out | sort | uniq -c 364 /usr/include/sys/sysmacros.h:79:1: warning: constant 0xfffff00000000000u is so big it is unsigned long 364 /usr/include/sys/sysmacros.h:80:1: warning: constant 0x00000ffffff00000u is so big it is unsigned long $ I had started to look into adding _Float128 to sparse, so now I don't need to! :-D Thanks! So, FWIW, Ack! ATB, Ramsay Jones -- To unsubscribe from this list: send the line "unsubscribe linux-sparse" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html