[libcxx] r273034 - Add Filesystem TS -- Complete

Eric Fiselier via cfe-commits cfe-commits at lists.llvm.org
Tue Jun 21 15:03:32 PDT 2016


The issue should be fixed in r273323.

Thanks for the report and for your patience.

/Eric

On Mon, Jun 20, 2016 at 11:27 PM, Eric Fiselier <eric at efcs.ca> wrote:

> Hi Artem,
>
> Sorry for the delay, I've been busy with school all day.
> I'll check in a fix tomorrow morning.
>
> Sorry again,
>
> /Eric
>
> On Mon, Jun 20, 2016 at 2:31 PM, Eric Fiselier <eric at efcs.ca> wrote:
>
>> Oh shoot, I definitely didn't take that into account. I'll put together a
>> fix.
>>
>> /Eric
>>
>>
>>
>> On Mon, Jun 20, 2016 at 2:27 PM, Artem Belevich <tra at google.com> wrote:
>>
>>> Eric,
>>>
>>> Some tests appear to fail if the path to the tests' current directory
>>> has some symlinks in it.
>>> In my case source and build tree are in directory 'work' that's
>>> symlinked to from my home directory:
>>> /usr/local/home/tra/work -> /work/tra
>>>
>>> This causes multiple failures in libcxx tests. One example:
>>>
>>>
>>> projects/libcxx/test/std/experimental/filesystem/fs.op.funcs/fs.op.rename/rename.pass.cpp:121
>>> 121        TEST_CHECK(read_symlink(bad_sym_dest) == dne);
>>>
>>> dne:
>>>
>>> /usr/local/home/tra/work/llvm/build/gpu/debug/projects/libcxx/test/filesystem/Output/dynamic_env/test.529143/dne
>>> bad_sym_dest:
>>>
>>> /usr/local/home/tra/work/llvm/build/gpu/debug/projects/libcxx/test/filesystem/Output/dynamic_env/test.529143/bad_sym2
>>>
>>> These are the paths that traverse the 'work' symlink in my home
>>> directory. However, the symlink that we're reading contains physical path
>>> to the directory. While it does link to the right place, it's not the path
>>> the test expects.
>>>
>>> #readlink
>>> /usr/local/home/tra/work/llvm/build/gpu/debug/projects/libcxx/test/filesystem/Output/dynamic_env/test.529143/bad_sym2
>>>
>>> /work/tra/llvm/build/gpu/debug/projects/libcxx/test/filesystem/Output/dynamic_env/test.529143/dne
>>>
>>> I think we need to normalize paths before we compare them.
>>>
>>> --Artem
>>>
>>>
>>> On Sat, Jun 18, 2016 at 12:03 PM, Eric Fiselier via cfe-commits <
>>> cfe-commits at lists.llvm.org> wrote:
>>>
>>>> > I assume the correct way to fix this is to disable
>>>> -Wcovered-switch-default while compiling libcxx/src/experimental/
>>>> filesystem/operations.cpp
>>>>
>>>> Agreed. Disabled in r273092.
>>>>
>>>> Thanks for your patience with this latest change,
>>>>
>>>> /Eric
>>>>
>>>> On Sat, Jun 18, 2016 at 12:54 PM, Adrian Prantl <aprantl at apple.com>
>>>> wrote:
>>>>
>>>>> Hello Eric,
>>>>>
>>>>> this commit causes new warnings on our bots:
>>>>>
>>>>> clang/src/projects/libcxx/include/fstream:816:5: warning: default
>>>>> label in switch which covers all enumeration values
>>>>> [-Wcovered-switch-default]
>>>>>     default:
>>>>>
>>>>> The problem is with this defensive default statement in fstream:
>>>>>
>>>>>
>>>>>  template <class _CharT, class _Traits>
>>>>> 0792 typename basic_filebuf<_CharT, _Traits>::pos_type
>>>>> 0793 basic_filebuf<_CharT, _Traits>::seekoff(off_type __off,
>>>>> ios_base::seekdir __way,
>>>>> 0794                                         ios_base::openmode)
>>>>> 0795 {
>>>>> 0796 #ifndef _LIBCPP_NO_EXCEPTIONS
>>>>> 0797     if (!__cv_)
>>>>> 0798         throw bad_cast();
>>>>> 0799 #endif
>>>>> 0800     int __width = __cv_->encoding();
>>>>> 0801     if (__file_ == 0 || (__width <= 0 && __off != 0) || sync())
>>>>> 0802         return pos_type(off_type(-1));
>>>>> 0803     // __width > 0 || __off == 0
>>>>> 0804     int __whence;
>>>>> 0805     switch (__way)
>>>>> 0806     {
>>>>> 0807     case ios_base::beg:
>>>>> 0808         __whence = SEEK_SET;
>>>>> 0809         break;
>>>>> 0810     case ios_base::cur:
>>>>> 0811         __whence = SEEK_CUR;
>>>>> 0812         break;
>>>>> 0813     case ios_base::end:
>>>>> 0814         __whence = SEEK_END;
>>>>> 0815         break;
>>>>> 0816     default:
>>>>> 0817         return pos_type(off_type(-1));
>>>>> 0818     }
>>>>>
>>>>>
>>>>> I assume the correct way to fix this is to disable
>>>>> -Wcovered-switch-default while compiling
>>>>> libcxx/src/experimental/filesystem/operations.cpp
>>>>>
>>>>> Could you please investigate?
>>>>>
>>>>> thanks,
>>>>> Adrian
>>>>
>>>>
>>>>
>>>> _______________________________________________
>>>> cfe-commits mailing list
>>>> cfe-commits at lists.llvm.org
>>>> http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
>>>>
>>>>
>>>
>>>
>>> --
>>> --Artem Belevich
>>>
>>
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20160621/258bebee/attachment.html>


More information about the cfe-commits mailing list