Bug#876901: QFINDTESTDATA uses __FILE__

Ximin Luo infinity0 at debian.org
Wed Nov 15 20:14:00 UTC 2017

Pino Toscano:
> Loose meanings do not imply neither the other way around, that you are
> free to break because people cannot do anything with it.  Also,
> considering the very same behaviour (short of the different wording in
> documentations) that is established for decades, this is a "de facto"
> standard.

It's not, Microsoft doesn't do it. Last time I checked, QT is supposed to work on Windows.

> [..]
>> https://gcc.gnu.org/onlinedocs/cpp/Standard-Predefined-Macros.html
>> "__FILE__ and __LINE__ are useful in generating an error message [..]"
>> https://msdn.microsoft.com/en-us/library/027c4t2s.aspx
>> "Without /FC, the diagnostic text would look similar to this diagnostic text:"
>> The only examples I can find in compiler documentation of __FILE__
>> usage, is for error messages.
>> [..]
>> http://c0x.coding-guidelines.com/6.10.8.html The presumed name of the
>> current source file [..]
>> https://software.intel.com/en-us/node/524489 Defined as a character
>> string literal containing the name of the source file.
>> https://www.ibm.com/support/knowledgecenter/SSAE4W_9.1.1/com.ibm.etools.iseries.langref.doc/ilcrefer13.htm
>> A string literal representing the name of the file being compiled.
>> You can even find threads online confirming __FILE__ is
>> implementation-specific and not required by any standard to be a full
>> path. You can even find threads of people complaining about the fact
>> that __FILE__ sometimes has a full path, sometimes not - e.g.
>> depending on what options you pass to the Microsoft compiler.
> The texts above clearly said that __FILE__ contains the path passed to
> the compiler, which is very different from saying it is purely
> "implementation-defined".  [..]

That's false, you're misleading casual readers when you say this. *None* of them define it using the word "path", they all use the word "name" - except the GCC docs which say:

"path by which the preprocessor opened the file, not the short name specified in ‘#include’ or as the input file name argument."

Let me highlight that for you: "not [..] the input file name argument".


GPG: ed25519/56034877E1F87C35
GPG: rsa4096/1318EFAC5FBBDBCE

More information about the Reproducible-builds mailing list