[cfe-dev] New warning for mismatched include case
Jordan Rose
jordan_rose at apple.com
Wed Jul 18 16:06:01 PDT 2012
Sounds like a good idea to me. This should also probably have a fixit.
There is also the unusual case of two headers differing by case and location, and expecting the case to choose them rather than the search path order:
/include/foo.h
/usr/include/Foo.h
#include <Foo.h>
#include <foo.h>
// ^ these will find the same header
I think the fixit is still acceptable here, especially since there is no obvious way to solve this on a case-insensitive filesystem.
Jordan
On Jul 18, 2012, at 15:09 , Jason Haslam <jason.haslam at gmail.com> wrote:
> The attached (incomplete proof-of-concept) patch provides a new warning that fires on case-insensitive file systems when the case of the file name in the #include directive doesn't match the case of the file name on disk. The idea is to avoid broken commits that fail to build on case-sensitive file systems. For example:
>
> jason$ ls
> test.cpp test.h
> jason$ cat test.cpp
> #include "Test.h"
> jason$ clang++ -fsyntax-only test.cpp
> test.cpp:1:10: warning: include case does not match the case of the file on disk
> #include "Test.h"
> ^
> 1 warning generated.
>
> What do you think? Is this desirable? Does the direction look right?
>
> Jason
>
> <include_case.diff>_______________________________________________
> cfe-dev mailing list
> cfe-dev at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev
More information about the cfe-dev
mailing list