In data mercoledì 15 novembre 2017 20:14:00 CET, Ximin Luo ha scritto: > 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.
Yup, and the fact that they used __FILE__ means the approach works also 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: Now it is you that plays with words. Really, you see "file name" used as both path and without path. > "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". Let me highlight this for you: "path by which the preprocessor opened the file" which implies it is an *existing* *path*. -- Pino Toscano
signature.asc
Description: This is a digitally signed message part.