[PATCH] PR21482: long paths on Windows

Robinson, Paul Paul_Robinson at playstation.sony.com
Wed Nov 12 09:41:00 PST 2014


> > New patch attached.  Threw together . and .. elimination for Michael.
> > Extra test for Rafael, although I had to #include <windows.h> in the
> > unittest to make the necessary Windows APIs available. (Testing a relative
> > path requires setting the current directory to a known writeable place,
> > which means calling Windows APIs because path/fs don't have them.)
>
> There's a pair of raw chdir calls in libTooling, and also in 
> unittests/Support/LockFileManagerTest.cpp. Maybe it's time libSupport grows a chdir?

I'll let somebody else handle that...

>
> +  ASSERT_NO_ERROR(fs::remove(Twine("b")));
>
> Twine should have an implicit constructor for const char *. Same goes for other 
> places where you explicitly use foo(Twine(x)).

So it does; I was following the lead of the only existing long-path test.
However, there is no implicit SmallString->Twine constructor, so those calls remain.
--paulr

>
> -- Sean Silva
> 
> >  If it's
> > going overboard to do that, let me know and I can take the relative-path
> > test back out; but actually I think it's useful to have it.
> > --paulr





More information about the llvm-commits mailing list