<feed xmlns='http://www.w3.org/2005/Atom'>
<title>bcm5719-llvm/clang/test/VFS, branch meklort-10.0.0</title>
<subtitle>Project Ortega BCM5719 LLVM</subtitle>
<id>https://git.raptorcs.com/git/bcm5719-llvm/atom?h=meklort-10.0.0</id>
<link rel='self' href='https://git.raptorcs.com/git/bcm5719-llvm/atom?h=meklort-10.0.0'/>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/'/>
<updated>2019-12-31T11:15:46+00:00</updated>
<entry>
<title>Fix external-names.c test when separator is \\</title>
<updated>2019-12-31T11:15:46+00:00</updated>
<author>
<name>Michael Platings</name>
<email>michael.platings@arm.com</email>
</author>
<published>2019-12-30T08:21:42+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=0c7ca82161b519856bb1d54e181b578dc067cd3e'/>
<id>urn:sha1:0c7ca82161b519856bb1d54e181b578dc067cd3e</id>
<content type='text'>
This fixes the following failure:

C:\[...]\llvm\tools\clang\test\VFS\external-names.c:34:26: error: CHECK-DEBUG-EXTERNAL: expected string not found in input
// CHECK-DEBUG-EXTERNAL: ![[Num]] = !DIFile(filename: "{{[^"]*}}Inputs{{.}}external-names.h"
                         ^
[...]
&lt;stdin&gt;:42:54: note: possible intended match here
!10 = !DIFile(filename: "C:/[...]\\llvm\\tools\\clang\\test\\VFS\\Inputs\\external-names.h", directory: "")

Differential Revision: https://reviews.llvm.org/D71991
</content>
</entry>
<entry>
<title>[VFS] Don't run symlink test on Windows, it may pass or fail</title>
<updated>2019-12-27T18:39:47+00:00</updated>
<author>
<name>Reid Kleckner</name>
<email>rnk@google.com</email>
</author>
<published>2019-12-27T18:37:07+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=780d30660e965992cf10d390e8ff102e4bf82aa4'/>
<id>urn:sha1:780d30660e965992cf10d390e8ff102e4bf82aa4</id>
<content type='text'>
This test was XFAILed because of symlinks, but some versions of ln -s
seem to work on Windows, so the test was unexpectedly passing on our
bot:
http://lab.llvm.org:8011/builders/clang-x64-windows-msvc/builds/13233
Unexpected Passing Tests (1):
    Clang :: VFS/subframework-symlink.m

I don't know how or why, but it seems dependent on system configuration,
and is not something worth debugging. Avoid the problem by marking the
test UNSUPPORTED: system-windows instead of XFAIL: system-windows.
</content>
</entry>
<entry>
<title>[NFC] Update FIXME for one VFS test</title>
<updated>2019-12-18T19:38:04+00:00</updated>
<author>
<name>Adrian McCarthy</name>
<email>amccarth@google.com</email>
</author>
<published>2019-12-04T21:11:02+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=9d38fd8d0be3074af036e9e3e36489f5b854faf4'/>
<id>urn:sha1:9d38fd8d0be3074af036e9e3e36489f5b854faf4</id>
<content type='text'>
The VFS/subframework-symlink.m test is still XFAIL on Windows, but for
a different reason than those fixed in PR43272, so I've updated the
PR number.
</content>
</entry>
<entry>
<title>Fix more VFS tests on Windows</title>
<updated>2019-12-18T19:38:04+00:00</updated>
<author>
<name>Adrian McCarthy</name>
<email>amccarth@google.com</email>
</author>
<published>2019-11-25T23:57:21+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=738b5c9639b4323f75b03e21494bef13d9adfa86'/>
<id>urn:sha1:738b5c9639b4323f75b03e21494bef13d9adfa86</id>
<content type='text'>
Since VFS paths can be in either Posix or Windows style, we have to use
a more flexible definition of "absolute" path.

The key here is that FileSystem::makeAbsolute is now virtual, and the
RedirectingFileSystem override checks for either concept of absolute
before trying to make the path absolute by combining it with the current
directory.

Differential Revision: https://reviews.llvm.org/D70701
</content>
</entry>
<entry>
<title>Fix `sed -e s@FOO@%/S@` and similar when there's @'s in the working directory</title>
<updated>2019-12-03T23:44:01+00:00</updated>
<author>
<name>Daniel Sanders</name>
<email>daniel_l_sanders@apple.com</email>
</author>
<published>2019-12-03T23:22:30+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=327894859cc41c1730807f8a179aa880203262f5'/>
<id>urn:sha1:327894859cc41c1730807f8a179aa880203262f5</id>
<content type='text'>
Jenkins sometimes starts a new working directory by appending @2 (or
incrementing the number if the @n suffix is already there). This causes
several clang tests to fail as:
  s@INPUT_DIR@%/S/Inputs@g
gets expanded to the invalid:
  s@INPUT_DIR@/path/to/workdir@2/Inputs@g
                               ~~~~~~~~~~
where the part marked with ~'s is interpreted as the flags. These are
invalid and the test fails.

Previous fixes simply exchanged the @ character for another like | but
that's just moving the problem. Address it by adding an expansion that
escapes the @ character we're using as a delimiter as well as other magic
characters in the replacement of sed's s@@@.

There's still room for expansions to cause trouble though. One I ran into
while testing this was that having a directory called foo@bar causes lots
of `CHECK-NOT: foo` directives to match. There's also things like
directories containing `\1`
</content>
</entry>
<entry>
<title>Improve VFS compatibility on Windows</title>
<updated>2019-11-14T16:48:47+00:00</updated>
<author>
<name>Adrian McCarthy</name>
<email>amccarth@google.com</email>
</author>
<published>2019-11-07T18:50:33+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=1275ab1620b665eb06231ce3c4e5068c97d9b618'/>
<id>urn:sha1:1275ab1620b665eb06231ce3c4e5068c97d9b618</id>
<content type='text'>
Keys in a virtual file system can be in Posix or Windows form or even
a combination of the two.  Many VFS tests (and a few Clang tests) were
XFAILed on Windows because of false negatives when comparing paths.

First, we default CaseSenstive to false on Windows.  This allows
drive letters like "D:" to match "d:".  Windows filesystems are, by
default, case insensitive, so this makes sense even beyond the drive
letter.

Second, we allow slashes to match backslashes when they're used as the
root component of a path.

Both of these changes are limited to RedirectingFileSystems, so there's
little chance of affecting other path handling.

These changes allow eleven of the VFS tests to pass on Windows as well
as three other Clang tests, so they have re-enabled.

This solves the majority of PR43272.  Additional VFS test failures will
be fixed in separate patches.

Differential Revision: https://reviews.llvm.org/D69958
</content>
</entry>
<entry>
<title>Switch "windows" to "system-windows" in some XFAILs</title>
<updated>2019-09-12T11:19:12+00:00</updated>
<author>
<name>Jeremy Morse</name>
<email>jeremy.morse.llvm@gmail.com</email>
</author>
<published>2019-09-12T11:19:12+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=0c1e0d52c2e205ff38761af7d6817e0cc8145179'/>
<id>urn:sha1:0c1e0d52c2e205ff38761af7d6817e0cc8145179</id>
<content type='text'>
The test failure mode appears to be due to the host machine rather than the
target. The PS4 buildbots are windows-hosted targeting x86_64-scei-ps4,
and are currently reporting these as unexpected failures:

  http://lab.llvm.org:8011/builders/llvm-clang-lld-x86_64-scei-ps4-windows10pro-fast/builds/28114

llvm-svn: 371726
</content>
</entry>
<entry>
<title>Start porting ivfsoverlay tests to Windows</title>
<updated>2019-09-11T20:56:25+00:00</updated>
<author>
<name>Reid Kleckner</name>
<email>rnk@google.com</email>
</author>
<published>2019-09-11T20:56:25+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=a685f5161db97695e1a2bdda39cbdcb3f228f1d6'/>
<id>urn:sha1:a685f5161db97695e1a2bdda39cbdcb3f228f1d6</id>
<content type='text'>
Part of PR43272, the changes are:

1. Use @ as the sed pattern delimiter instead of : so that the drive
letter in lit substitutions isn't an issue.

2. Use the %/t and %/S substitutions to get paths with forward slashes
to work around string quoting issues in the yaml file.

3. Replace REQUIRES:shell with XFAIL:windows. These tests should pass on
Windows, but do not for reasons that are not yet understood. We would
like to know if they pass unexpectedly.

I was able to remove the XFAILs from two tests, since they already pass
with my sed fix:
  clang/test/VFS/module_missing_vfs.m
  clang/test/VFS/test_nonmodular.c

Reviewers: amccarth

Differential Revision: https://reviews.llvm.org/D67454

llvm-svn: 371663
</content>
</entry>
<entry>
<title>Introduce FileEntryRef and use it when handling includes to report correct dependencies</title>
<updated>2019-08-22T18:15:50+00:00</updated>
<author>
<name>Alex Lorenz</name>
<email>arphaman@gmail.com</email>
</author>
<published>2019-08-22T18:15:50+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=4dc5573acc0d2e7c59d8bac2543eb25cb4b32984'/>
<id>urn:sha1:4dc5573acc0d2e7c59d8bac2543eb25cb4b32984</id>
<content type='text'>
when the FileManager is reused across invocations

This commit introduces a parallel API to FileManager's getFile: getFileEntryRef, which returns
a reference to the FileEntry, and the name that was used to access the file. In the case of
a VFS with 'use-external-names', the FileEntyRef contains the external name of the file,
not the filename that was used to access it.

The new API is adopted only in the HeaderSearch and Preprocessor for include file lookup, so that the
accessed path can be propagated to SourceManager's FileInfo. SourceManager's FileInfo now can report this accessed path, using
the new getName method. This API is then adopted in the dependency collector, which now correctly reports dependencies when a file
is included both using a symlink and a real path in the case when the FileManager is reused across multiple Preprocessor invocations.

Note that this patch does not fix all dependency collector issues, as the same problem is still present in other cases when dependencies
are obtained using FileSkipped, InclusionDirective, and HasInclude. This will be fixed in follow-up commits.

Differential Revision: https://reviews.llvm.org/D65907

llvm-svn: 369680
</content>
</entry>
<entry>
<title>[VFS] Implement `RedirectingFileSystem::getRealPath`.</title>
<updated>2018-11-16T01:18:04+00:00</updated>
<author>
<name>Volodymyr Sapsai</name>
<email>vsapsai@apple.com</email>
</author>
<published>2018-11-16T01:18:04+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=7c5c3b1e0ececabc87c70c78495e9ee944d5c439'/>
<id>urn:sha1:7c5c3b1e0ececabc87c70c78495e9ee944d5c439</id>
<content type='text'>
It fixes the case when Objective-C framework is added as a subframework
through a symlink. When parent framework infers a module map and fails
to detect a symlink, it would add a subframework as a submodule. And
when we parse module map for the subframework, we would encounter an
error like

&gt; error: umbrella for module 'WithSubframework.Foo' already covers this directory

By implementing `getRealPath` "an egregious but useful hack" in
`ModuleMap::inferFrameworkModule` works as expected.

LLVM commit is r347009.

rdar://problem/45821279

Reviewers: bruno, benlangmuir, erik.pilkington

Reviewed By: bruno

Subscribers: hiraditya, dexonsmith, JDevlieghere, cfe-commits, llvm-commits

Differential Revision: https://reviews.llvm.org/D54245

llvm-svn: 347012
</content>
</entry>
</feed>
