4 ms·
1283 = continue 1432 = license 1766 = gnu So for every loop continue statement there is a GPL license text :D
by Sadkov 6y ago
1283 = continue
1432 = license
1766 = gnu
So for every loop continue statement there is a GPL license text :D
- dvfjsdhgfv 6y agoI know it's half serious but it's simply not true, in the same way as grepping for "Stallman" in the leaked Windows source code (nobody actually mentioned RMS there, these were false positives). In this case, some headers contain multiple occurrences of GNU in a single header. Then there are several #ifdefs like "__GNU_LIBRARY__" or "__GNUC__" or e-mail addresses of people in the gnu.org domain. In practice, it doesn't matter at all as the preprocessor replaces all license headers with a single space even before the compiler has the chance to look at it.
- colejohnson66 6y agoThe preprocessor removes the comments? I thought that was the compiler?
- zabzonk 6y agoNope. See https://gcc.gnu.org/onlinedocs/gcc-2.95.3/cpp_1.html#SEC2 https://gcc.gnu.org/onlinedocs/gcc-2.95.3/cpp_1.html#SEC2
- gridlockd 6y agoThe preprocessor doesn't remove comments and at least in clang, comments are parsed into the AST.
- dvfjsdhgfv 6y agoWell, according to C99, it should. Section "5.1.1.2 Translation phases" says (in phase 3): "Each comment is replaced by one space character." Edit: just checked and clang behaves just like gcc with -E. Maybe you didn't mean comments but preprocessor directives?
- deleted 6y ago[deleted]
- tom_mellior 6y agoClang, like GCC, has -C and -CC flags to preserve comments during preprocessing. However, these are really flags for the underlying preprocessor. Your parent might be thinking of some application of the Clang frontend that does not run preprocessing. For example, clang-format will probably not want to preprocess the code nor strip out comments.
- gridlockd 6y agoYou are correct, my bad.