public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug c++/67173] New: experimental/filesystem/operations/current_path.cc FAILs
@ 2015-08-10 12:58 ro at gcc dot gnu.org
2015-08-10 12:59 ` [Bug c++/67173] " ro at gcc dot gnu.org
` (8 more replies)
0 siblings, 9 replies; 10+ messages in thread
From: ro at gcc dot gnu.org @ 2015-08-10 12:58 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67173
Bug ID: 67173
Summary: experimental/filesystem/operations/current_path.cc
FAILs
Product: gcc
Version: 6.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: ro at gcc dot gnu.org
CC: redi at gcc dot gnu.org
Target Milestone: ---
Host: *-*-solaris2.10
Target: *-*-solaris2.10
Build: *-*-solaris2.10
Sometime between 20150724 (r226149) and 20150731 (r226440),
experimental/filesystem/operations/current_path.cc started to FAIL on Solaris
10
only (Solaris 11 is still fine):
terminate called after throwing an instance of
'std::experimental::filesystem::v1::__cxx11::filesystem_error'
what(): filesystem error: cannot canonicalize: Invalid argument [/tmp]
Abort
I suspect this is due to this change:
2015-07-30 Jonathan Wakely <jwakely@redhat.com>
* testsuite/experimental/filesystem/operations/current_path.cc: Use
canonical paths for comparisons.
Rainer
^ permalink raw reply [flat|nested] 10+ messages in thread
* [Bug c++/67173] experimental/filesystem/operations/current_path.cc FAILs
2015-08-10 12:58 [Bug c++/67173] New: experimental/filesystem/operations/current_path.cc FAILs ro at gcc dot gnu.org
@ 2015-08-10 12:59 ` ro at gcc dot gnu.org
2015-08-10 14:15 ` [Bug libstdc++/67173] " redi at gcc dot gnu.org
` (7 subsequent siblings)
8 siblings, 0 replies; 10+ messages in thread
From: ro at gcc dot gnu.org @ 2015-08-10 12:59 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67173
Rainer Orth <ro at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Target Milestone|--- |6.0
^ permalink raw reply [flat|nested] 10+ messages in thread
* [Bug libstdc++/67173] experimental/filesystem/operations/current_path.cc FAILs
2015-08-10 12:58 [Bug c++/67173] New: experimental/filesystem/operations/current_path.cc FAILs ro at gcc dot gnu.org
2015-08-10 12:59 ` [Bug c++/67173] " ro at gcc dot gnu.org
@ 2015-08-10 14:15 ` redi at gcc dot gnu.org
2015-09-11 13:57 ` redi at gcc dot gnu.org
` (6 subsequent siblings)
8 siblings, 0 replies; 10+ messages in thread
From: redi at gcc dot gnu.org @ 2015-08-10 14:15 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67173
Jonathan Wakely <redi at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|UNCONFIRMED |ASSIGNED
Last reconfirmed| |2015-08-10
Component|c++ |libstdc++
Assignee|unassigned at gcc dot gnu.org |redi at gcc dot gnu.org
Ever confirmed|0 |1
^ permalink raw reply [flat|nested] 10+ messages in thread
* [Bug libstdc++/67173] experimental/filesystem/operations/current_path.cc FAILs
2015-08-10 12:58 [Bug c++/67173] New: experimental/filesystem/operations/current_path.cc FAILs ro at gcc dot gnu.org
2015-08-10 12:59 ` [Bug c++/67173] " ro at gcc dot gnu.org
2015-08-10 14:15 ` [Bug libstdc++/67173] " redi at gcc dot gnu.org
@ 2015-09-11 13:57 ` redi at gcc dot gnu.org
2015-09-11 14:04 ` redi at gcc dot gnu.org
` (5 subsequent siblings)
8 siblings, 0 replies; 10+ messages in thread
From: redi at gcc dot gnu.org @ 2015-09-11 13:57 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67173
--- Comment #1 from Jonathan Wakely <redi at gcc dot gnu.org> ---
Solaris 10 doesn't support realpath(path, NULL) as used in
filesystem::canonical() so we need to allocate a buffer for it.
^ permalink raw reply [flat|nested] 10+ messages in thread
* [Bug libstdc++/67173] experimental/filesystem/operations/current_path.cc FAILs
2015-08-10 12:58 [Bug c++/67173] New: experimental/filesystem/operations/current_path.cc FAILs ro at gcc dot gnu.org
` (2 preceding siblings ...)
2015-09-11 13:57 ` redi at gcc dot gnu.org
@ 2015-09-11 14:04 ` redi at gcc dot gnu.org
2015-09-11 14:21 ` redi at gcc dot gnu.org
` (4 subsequent siblings)
8 siblings, 0 replies; 10+ messages in thread
From: redi at gcc dot gnu.org @ 2015-09-11 14:04 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67173
--- Comment #2 from Jonathan Wakely <redi at gcc dot gnu.org> ---
Oops, I'm leaking the memory allocated by realpath() so that needs fixing
anyway.
^ permalink raw reply [flat|nested] 10+ messages in thread
* [Bug libstdc++/67173] experimental/filesystem/operations/current_path.cc FAILs
2015-08-10 12:58 [Bug c++/67173] New: experimental/filesystem/operations/current_path.cc FAILs ro at gcc dot gnu.org
` (3 preceding siblings ...)
2015-09-11 14:04 ` redi at gcc dot gnu.org
@ 2015-09-11 14:21 ` redi at gcc dot gnu.org
2015-09-11 14:22 ` redi at gcc dot gnu.org
` (3 subsequent siblings)
8 siblings, 0 replies; 10+ messages in thread
From: redi at gcc dot gnu.org @ 2015-09-11 14:21 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67173
--- Comment #3 from Jonathan Wakely <redi at gcc dot gnu.org> ---
Author: redi
Date: Fri Sep 11 14:20:32 2015
New Revision: 227689
URL: https://gcc.gnu.org/viewcvs?rev=227689&root=gcc&view=rev
Log:
Fix filesystem::canonical on Solaris 10.
PR libstdc++/67173
* src/filesystem/ops.cc (filesystem::canonical): Allocate buffer for
realpath on Solaris 10.
Modified:
trunk/libstdc++-v3/ChangeLog
trunk/libstdc++-v3/src/filesystem/ops.cc
^ permalink raw reply [flat|nested] 10+ messages in thread
* [Bug libstdc++/67173] experimental/filesystem/operations/current_path.cc FAILs
2015-08-10 12:58 [Bug c++/67173] New: experimental/filesystem/operations/current_path.cc FAILs ro at gcc dot gnu.org
` (4 preceding siblings ...)
2015-09-11 14:21 ` redi at gcc dot gnu.org
@ 2015-09-11 14:22 ` redi at gcc dot gnu.org
2015-09-16 22:51 ` redi at gcc dot gnu.org
` (2 subsequent siblings)
8 siblings, 0 replies; 10+ messages in thread
From: redi at gcc dot gnu.org @ 2015-09-11 14:22 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67173
Jonathan Wakely <redi at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Target Milestone|6.0 |5.3
--- Comment #4 from Jonathan Wakely <redi at gcc dot gnu.org> ---
Fixed on trunk so far, will fix gcc-5-branch too.
^ permalink raw reply [flat|nested] 10+ messages in thread
* [Bug libstdc++/67173] experimental/filesystem/operations/current_path.cc FAILs
2015-08-10 12:58 [Bug c++/67173] New: experimental/filesystem/operations/current_path.cc FAILs ro at gcc dot gnu.org
` (5 preceding siblings ...)
2015-09-11 14:22 ` redi at gcc dot gnu.org
@ 2015-09-16 22:51 ` redi at gcc dot gnu.org
2015-10-07 21:01 ` redi at gcc dot gnu.org
2015-10-07 22:44 ` redi at gcc dot gnu.org
8 siblings, 0 replies; 10+ messages in thread
From: redi at gcc dot gnu.org @ 2015-09-16 22:51 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67173
--- Comment #5 from Jonathan Wakely <redi at gcc dot gnu.org> ---
Author: redi
Date: Wed Sep 16 22:50:28 2015
New Revision: 227836
URL: https://gcc.gnu.org/viewcvs?rev=227836&root=gcc&view=rev
Log:
Implement filesystem::canonical() without realpath
PR libstdc++/67173
* acinclude.m4 (GLIBCXX_CHECK_FILESYSTEM_DEPS): Check _XOPEN_VERSION
and PATH_MAX for _GLIBCXX_USE_REALPATH.
* config.h.in: Regenerate.
* configure: Regenerate.
* src/filesystem/ops.cc: (canonical) [!_GLIBCXX_USE_REALPATH]: Add
alternative implementation.
* testsuite/experimental/filesystem/operations/canonical.cc: New.
* testsuite/experimental/filesystem/operations/exists.cc: Add more
tests.
* testsuite/experimental/filesystem/operations/absolute.cc: Add test
variables.
* testsuite/experimental/filesystem/operations/copy.cc: Likewise.
* testsuite/experimental/filesystem/operations/current_path.cc:
Likewise.
* testsuite/experimental/filesystem/operations/file_size.cc: Likewise.
* testsuite/experimental/filesystem/operations/status.cc: Likewise.
* testsuite/experimental/filesystem/operations/temp_directory_path.cc:
Likewise.
Added:
trunk/libstdc++-v3/testsuite/experimental/filesystem/operations/canonical.cc
- copied, changed from r227835,
trunk/libstdc++-v3/testsuite/experimental/filesystem/operations/status.cc
Modified:
trunk/libstdc++-v3/ChangeLog
trunk/libstdc++-v3/acinclude.m4
trunk/libstdc++-v3/config.h.in
trunk/libstdc++-v3/configure
trunk/libstdc++-v3/src/filesystem/ops.cc
trunk/libstdc++-v3/testsuite/experimental/filesystem/operations/absolute.cc
trunk/libstdc++-v3/testsuite/experimental/filesystem/operations/copy.cc
trunk/libstdc++-v3/testsuite/experimental/filesystem/operations/current_path.cc
trunk/libstdc++-v3/testsuite/experimental/filesystem/operations/exists.cc
trunk/libstdc++-v3/testsuite/experimental/filesystem/operations/file_size.cc
trunk/libstdc++-v3/testsuite/experimental/filesystem/operations/status.cc
trunk/libstdc++-v3/testsuite/experimental/filesystem/operations/temp_directory_path.cc
^ permalink raw reply [flat|nested] 10+ messages in thread
* [Bug libstdc++/67173] experimental/filesystem/operations/current_path.cc FAILs
2015-08-10 12:58 [Bug c++/67173] New: experimental/filesystem/operations/current_path.cc FAILs ro at gcc dot gnu.org
` (6 preceding siblings ...)
2015-09-16 22:51 ` redi at gcc dot gnu.org
@ 2015-10-07 21:01 ` redi at gcc dot gnu.org
2015-10-07 22:44 ` redi at gcc dot gnu.org
8 siblings, 0 replies; 10+ messages in thread
From: redi at gcc dot gnu.org @ 2015-10-07 21:01 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67173
--- Comment #6 from Jonathan Wakely <redi at gcc dot gnu.org> ---
Author: redi
Date: Wed Oct 7 21:00:50 2015
New Revision: 228584
URL: https://gcc.gnu.org/viewcvs?rev=228584&root=gcc&view=rev
Log:
Backport Filesystem TS fixes from mainline.
PR libstdc++/67173
PR libstdc++/67747
* acinclude.m4 (GLIBCXX_CHECK_FILESYSTEM_DEPS): Check _XOPEN_VERSION
and PATH_MAX for _GLIBCXX_USE_REALPATH. Remove _GLIBCXX_ prefix
from HAVE_STRUCT_DIRENT_D_TYPE.
* config.h.in: Regenerate.
* configure: Regenerate.
* include/bits/locale_conv.h [!_GLIBCXX_USE_WCHAR_T]
(__do_str_codecvt, __str_codecvt_in, __str_codecvt_out): Enable.
* include/experimental/fs_dir.h (operator==, operator==):
Use owner_before instead of pointer equality.
(directory_iterator(std::shared_ptr<_Dir>, error_code*)): Remove.
* include/experimental/fs_path.h (operator==, operator==):
* include/experimental/fs_path.h [!_GLIBCXX_USE_WCHAR_T]
(path::wstring, path::generic_wstring): Disable.
* src/filesystem/path.cc (path::_S_convert_loc)
[!_GLIBCXX_USE_WCHAR_T]: Skip conversion.
* src/filesystem/Makefile.am: Add cxx11_abi_sources.
* src/filesystem/Makefile.in: Regenerate.
* src/filesystem/cow-dir.cc: New.
* src/filesystem/cow-ops.cc: New.
* src/filesystem/cow-path.cc: New.
* src/filesystem/dir.cc: Define macro for new ABI.
(native_readdir): Remove.
(_Dir::advance): Use readdir instead of native_readdir.
(recursive_directory_iterator(const path&, directory_options,
error_code*)): Use swap instead of reset.
(ErrorCode): Remove.
(_Dir::advance): Change ErrorCode parameter to error_code*, add
directory_options parameter and check it on error.
(opendir): Rename to open_dir to avoid clashing with macro. Change
ErrorCode parameter to error_code*.
(make_shared_dir): Remove.
(native_readdir) [_GLIBCXX_FILESYSTEM_IS_WINDOWS]: Don't set errno.
(directory_iterator(std::shared_ptr<_Dir>, error_code*)): Remove.
(directory_iterator(const path&, directory_options, error_code*)):
Pass options to _Dir::advance and create non-end iterator on error.
(recursive_directory_iterator(const path&, directory_options,
error_code*)): Clear error_code on ignored error, create non-end
iterator otherwise.
(recursive_directory_iterator::increment): Pass _M_options to
_Dir::advance.
(recursive_directory_iterator::pop): Likewise.
* src/filesystem/ops.cc: Define macro for new ABI.
(canonical) [!_GLIBCXX_USE_REALPATH]: Add alternative implementation.
(is_dot, is_dotdot): Define new helpers.
(create_directories): Fix error handling.
* src/filesystem/path.cc: Define macro for new ABI.
(path::_S_convert_loc) [!_GLIBCXX_USE_WCHAR_T]: Skip conversion.
* testsuite/experimental/filesystem/iterators/directory_iterator.cc:
New.
* testsuite/experimental/filesystem/iterators/
recursive_directory_iterator.cc: New.
* testsuite/experimental/filesystem/operations/canonical.cc: New.
* testsuite/experimental/filesystem/operations/create_directories.cc:
New.
* testsuite/experimental/filesystem/operations/exists.cc: Add more
tests.
* testsuite/experimental/filesystem/operations/absolute.cc: Add test
variables.
* testsuite/experimental/filesystem/operations/copy.cc: Likewise.
* testsuite/experimental/filesystem/operations/current_path.cc:
Likewise.
* testsuite/experimental/filesystem/operations/file_size.cc: Likewise.
* testsuite/experimental/filesystem/operations/status.cc: Likewise.
* testsuite/experimental/filesystem/operations/temp_directory_path.cc:
Likewise.
* testsuite/experimental/filesystem/path/assign/assign.cc: Check for
wchar_t support.
* testsuite/experimental/filesystem/path/concat/strings.cc: Likewise.
* testsuite/experimental/filesystem/path/construct/range.cc: Likewise.
Added:
branches/gcc-5-branch/libstdc++-v3/src/filesystem/cow-dir.cc
- copied, changed from r228554,
branches/gcc-5-branch/libstdc++-v3/testsuite/experimental/filesystem/operations/exists.cc
branches/gcc-5-branch/libstdc++-v3/src/filesystem/cow-ops.cc
- copied, changed from r228554,
branches/gcc-5-branch/libstdc++-v3/testsuite/experimental/filesystem/operations/exists.cc
branches/gcc-5-branch/libstdc++-v3/src/filesystem/cow-path.cc
- copied, changed from r228554,
branches/gcc-5-branch/libstdc++-v3/testsuite/experimental/filesystem/operations/exists.cc
branches/gcc-5-branch/libstdc++-v3/testsuite/experimental/filesystem/iterators/
branches/gcc-5-branch/libstdc++-v3/testsuite/experimental/filesystem/iterators/directory_iterator.cc
branches/gcc-5-branch/libstdc++-v3/testsuite/experimental/filesystem/iterators/recursive_directory_iterator.cc
branches/gcc-5-branch/libstdc++-v3/testsuite/experimental/filesystem/operations/canonical.cc
- copied, changed from r228554,
branches/gcc-5-branch/libstdc++-v3/testsuite/experimental/filesystem/operations/status.cc
branches/gcc-5-branch/libstdc++-v3/testsuite/experimental/filesystem/operations/create_directories.cc
- copied, changed from r228554,
branches/gcc-5-branch/libstdc++-v3/testsuite/experimental/filesystem/operations/status.cc
Removed:
branches/gcc-5-branch/libstdc++-v3/testsuite/experimental/filesystem/path/factory/
branches/gcc-5-branch/libstdc++-v3/testsuite/experimental/filesystem/path/io/
branches/gcc-5-branch/libstdc++-v3/testsuite/experimental/filesystem/path/native/
Modified:
branches/gcc-5-branch/libstdc++-v3/ChangeLog
branches/gcc-5-branch/libstdc++-v3/acinclude.m4
branches/gcc-5-branch/libstdc++-v3/config.h.in
branches/gcc-5-branch/libstdc++-v3/configure
branches/gcc-5-branch/libstdc++-v3/include/bits/locale_conv.h
branches/gcc-5-branch/libstdc++-v3/include/experimental/fs_dir.h
branches/gcc-5-branch/libstdc++-v3/include/experimental/fs_path.h
branches/gcc-5-branch/libstdc++-v3/src/filesystem/Makefile.am
branches/gcc-5-branch/libstdc++-v3/src/filesystem/Makefile.in
branches/gcc-5-branch/libstdc++-v3/src/filesystem/dir.cc
branches/gcc-5-branch/libstdc++-v3/src/filesystem/ops.cc
branches/gcc-5-branch/libstdc++-v3/src/filesystem/path.cc
branches/gcc-5-branch/libstdc++-v3/testsuite/experimental/filesystem/operations/absolute.cc
branches/gcc-5-branch/libstdc++-v3/testsuite/experimental/filesystem/operations/copy.cc
branches/gcc-5-branch/libstdc++-v3/testsuite/experimental/filesystem/operations/current_path.cc
branches/gcc-5-branch/libstdc++-v3/testsuite/experimental/filesystem/operations/exists.cc
branches/gcc-5-branch/libstdc++-v3/testsuite/experimental/filesystem/operations/file_size.cc
branches/gcc-5-branch/libstdc++-v3/testsuite/experimental/filesystem/operations/status.cc
branches/gcc-5-branch/libstdc++-v3/testsuite/experimental/filesystem/operations/temp_directory_path.cc
branches/gcc-5-branch/libstdc++-v3/testsuite/experimental/filesystem/path/assign/assign.cc
branches/gcc-5-branch/libstdc++-v3/testsuite/experimental/filesystem/path/concat/strings.cc
branches/gcc-5-branch/libstdc++-v3/testsuite/experimental/filesystem/path/construct/range.cc
^ permalink raw reply [flat|nested] 10+ messages in thread
* [Bug libstdc++/67173] experimental/filesystem/operations/current_path.cc FAILs
2015-08-10 12:58 [Bug c++/67173] New: experimental/filesystem/operations/current_path.cc FAILs ro at gcc dot gnu.org
` (7 preceding siblings ...)
2015-10-07 21:01 ` redi at gcc dot gnu.org
@ 2015-10-07 22:44 ` redi at gcc dot gnu.org
8 siblings, 0 replies; 10+ messages in thread
From: redi at gcc dot gnu.org @ 2015-10-07 22:44 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67173
Jonathan Wakely <redi at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|ASSIGNED |RESOLVED
Resolution|--- |FIXED
--- Comment #7 from Jonathan Wakely <redi at gcc dot gnu.org> ---
Fixed for 5.3 and 6.0
^ permalink raw reply [flat|nested] 10+ messages in thread
end of thread, other threads:[~2015-10-07 22:44 UTC | newest]
Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-08-10 12:58 [Bug c++/67173] New: experimental/filesystem/operations/current_path.cc FAILs ro at gcc dot gnu.org
2015-08-10 12:59 ` [Bug c++/67173] " ro at gcc dot gnu.org
2015-08-10 14:15 ` [Bug libstdc++/67173] " redi at gcc dot gnu.org
2015-09-11 13:57 ` redi at gcc dot gnu.org
2015-09-11 14:04 ` redi at gcc dot gnu.org
2015-09-11 14:21 ` redi at gcc dot gnu.org
2015-09-11 14:22 ` redi at gcc dot gnu.org
2015-09-16 22:51 ` redi at gcc dot gnu.org
2015-10-07 21:01 ` redi at gcc dot gnu.org
2015-10-07 22:44 ` redi at gcc dot gnu.org
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).