Subdirectories with the same name as a defined macro makes the macro case insensitive. See the attached PoC which was made by James Canete. A real life scenario affected by the bug can be found here: https://bugzilla.icculus.org/show_bug.cgi?id=6087
Thank you for the wonderfully concise test case! My only criticisms are that you neglected to identify the version of GCC which exhibits this misbehaviour, and you have only partially identified the problem, (causing you to describe it incorrectly).
I'm guessing that it is Earnie's GCC-4.8.1 build which is affected, since I can reproduce the same symptom with that build, but not with the earlier GCC-4.7.2 build, nor with my own GCC-4.8.2 test build, (which I've begun preparing as a step in the investigation of bug [#2108]).
I suspect that this is another side effect of bug [#2062]; (I'm assuming that Earnie's GCC-4.8.1 build is statically linked with a libmingwex.a which includes the buggy glob.c; I've already fixed that in my workspace). I base this on:
The symptom is apparent only for macros defined on the GCC command line; those specified by #define statements within the source file do not seem to be affected.
The symptom is not specific to case-insensitively matched subdirectory name vs. macro name conflicts; it is identically evident for any file system entity, (as may be seen with this extended variation on your test case):
Thank you for the wonderfully concise test case! My only criticisms are that you neglected to identify the version of GCC which exhibits this misbehaviour, and you have only partially identified the problem, (causing you to describe it incorrectly).
I'm guessing that it is Earnie's GCC-4.8.1 build which is affected, since I can reproduce the same symptom with that build, but not with the earlier GCC-4.7.2 build, nor with my own GCC-4.8.2 test build, (which I've begun preparing as a step in the investigation of bug [#2108]).
I suspect that this is another side effect of bug [#2062]; (I'm assuming that Earnie's GCC-4.8.1 build is statically linked with a libmingwex.a which includes the buggy glob.c; I've already fixed that in my workspace). I base this on:
The symptom is apparent only for macros defined on the GCC command line; those specified by
#definestatements within the source file do not seem to be affected.The symptom is not specific to case-insensitively matched subdirectory name vs. macro name conflicts; it is identically evident for any file system entity, (as may be seen with this extended variation on your test case):
<nowiki></nowiki>
Related
Issues:
#2062Issues:
#2108I am sorry for leaving crucial information out, but you were perfectly right. It is GCC 4.8.1. I am looking forward to your release of 4.8.2.