]> granicus.if.org Git - clang/commit
Force a header file input to the headermap test to have different
authorChandler Carruth <chandlerc@gmail.com>
Sun, 30 Mar 2014 14:04:32 +0000 (14:04 +0000)
committerChandler Carruth <chandlerc@gmail.com>
Sun, 30 Mar 2014 14:04:32 +0000 (14:04 +0000)
commit699de4966fd23a25aa0532da13d6bd007ce101be
tree2ac2d2e8931f0d6c74e2dce3ac66c09114c2e7d3
parent61a8fc8d75ded3c2750b3f7af93bb0d41b7ddf8e
Force a header file input to the headermap test to have different
contents than the header file by the same name under the system header
search root. Surprisingly, this is required to get the test to pass on
some systems.

So, it turns out that there exist filesystems in the world which unique
the inode of all files based on their contents. This results in two
files with the same contents at different paths suddenly having the same
inode. This doesn't actually cause any problems in practice as the
contents are the same, and the path used to access the files are the
same. However, it can cause tests like this one to be more brittle
because the file manager ends up de-duplicating the file entries by
inode. We don't have any other really easy ways to observe the behavior
shift because the whole point is that the #include written in the source
code doesn't contain the information -- instead it is contained in the
header map.

If folks have other solutions they would prefer, I'm more than happy to
work on them, but this seems a reasonable way to ensure that the test in
question exercises the code it wants to exercise.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@205149 91177308-0d34-0410-b5e6-96231b3b80d8
test/Preprocessor/Inputs/headermap-rel2/Product/someheader.h