mirror of
https://github.com/darlinghq/darling-libcxx.git
synced 2024-11-23 03:49:42 +00:00
a574ade231
It turns out that llvmorg-14.0.6 might be too new for dyld (the vector base class no longer exist in that release).
76 lines
4.7 KiB
Plaintext
76 lines
4.7 KiB
Plaintext
This is meant to be a general place to list things that should be done "someday"
|
|
|
|
CXX Runtime Library Tasks
|
|
=========================
|
|
* Look into mirroring libsupc++'s typeinfo vtable layout when libsupc++/libstdc++
|
|
is used as the runtime library.
|
|
* Investigate and document interoperability between libc++ and libstdc++ on
|
|
linux. Do this for every supported c++ runtime library.
|
|
|
|
Atomic Related Tasks
|
|
====================
|
|
* future should use <atomic> for synchronization.
|
|
|
|
Test Suite Tasks
|
|
================
|
|
* Improve the quality and portability of the locale test data.
|
|
* Convert failure tests to use Clang Verify.
|
|
|
|
Filesystem Tasks
|
|
================
|
|
* P0492r2 - Implement National body comments for Filesystem
|
|
* INCOMPLETE - US 25: has_filename() is equivalent to just !empty()
|
|
* INCOMPLETE - US 31: Everything is defined in terms of one implicit host system
|
|
* INCOMPLETE - US 32: Meaning of 27.10.2.1 unclear
|
|
* INCOMPLETE - US 33: Definition of canonical path problematic
|
|
* INCOMPLETE - US 34: Are there attributes of a file that are not an aspect of the file system?
|
|
* INCOMPLETE - US 35: What synchronization is required to avoid a file system race?
|
|
* INCOMPLETE - US 36: Symbolic links themselves are attached to a directory via (hard) links
|
|
* INCOMPLETE - US 37: The term “redundant current directory (dot) elements” is not defined
|
|
* INCOMPLETE - US 38: Duplicates §17.3.16
|
|
* INCOMPLETE - US 39: Remove note: Dot and dot-dot are not directories
|
|
* INCOMPLETE - US 40: Not all directories have a parent.
|
|
* INCOMPLETE - US 41: The term “parent directory” for a (non-directory) file is unusual
|
|
* INCOMPLETE - US 42: Pathname resolution does not always resolve a symlink
|
|
* INCOMPLETE - US 43: Concerns about encoded character types
|
|
* INCOMPLETE - US 44: Definition of path in terms of a string requires leaky abstraction
|
|
* INCOMPLETE - US 45: Generic format portability compromised by unspecified root-name
|
|
* INCOMPLETE - US 46: filename can be empty so productions for relative-path are redundant
|
|
* INCOMPLETE - US 47: “.” and “..” already match the name production
|
|
* INCOMPLETE - US 48: Multiple separators are often meaningful in a root-name
|
|
* INCOMPLETE - US 49: What does “method of conversion method” mean?
|
|
* INCOMPLETE - US 50: 27.10.8.1 ¶ 1.4 largely redundant with ¶ 1.3
|
|
* INCOMPLETE - US 51: Failing to add / when appending empty string prevents useful apps
|
|
* INCOMPLETE - US 52: remove_filename() postcondition is not by itself a definition
|
|
* INCOMPLETE - US 53: remove_filename()'s name does not correspond to its behavior
|
|
* INCOMPLETE - US 54: remove_filename() is broken
|
|
* INCOMPLETE - US 55: replace_extension()'s use of path as parameter is inappropriate
|
|
* INCOMPLETE - US 56: Remove replace_extension()'s conditional addition of period
|
|
* INCOMPLETE - US 57: On Windows, absolute paths will sort in among relative paths
|
|
* INCOMPLETE - US 58: parent_path() behavior for root paths is useless
|
|
* INCOMPLETE - US 59: filename() returning path for single path components is bizarre
|
|
* INCOMPLETE - US 60: path("/foo/").filename()==path(".") is surprising
|
|
* INCOMPLETE - US 61: Leading dots in filename() should not begin an extension
|
|
* INCOMPLETE - US 62: It is important that stem()+extension()==filename()
|
|
* INCOMPLETE - US 63: lexically_normal() inconsistently treats trailing "/" but not "/.." as directory
|
|
* INCOMPLETE - US 73, CA 2: root-name is effectively implementation defined
|
|
* INCOMPLETE - US 74, CA 3: The term “pathname” is ambiguous in some contexts
|
|
* INCOMPLETE - US 75, CA 4: Extra flag in path constructors is needed
|
|
* INCOMPLETE - US 76, CA 5: root-name definition is over-specified.
|
|
* INCOMPLETE - US 77, CA 6: operator/ and other appends not useful if arg has root-name
|
|
* INCOMPLETE - US 78, CA 7: Member absolute() in 27.10.4.1 is overspecified for non-POSIX-like O/S
|
|
* INCOMPLETE - US 79, CA 8: Some operation functions are overspecified for implementation-defined file types
|
|
* INCOMPLETE - US 185: Fold error_code and non-error_code signatures into one signature
|
|
* INCOMPLETE - FI 14: directory_entry comparisons are members
|
|
* INCOMPLETE - Late 36: permissions() error_code overload should be noexcept
|
|
* INCOMPLETE - Late 37: permissions() actions should be separate parameter
|
|
* INCOMPLETE - Late 42: resize_file() Postcondition missing argument
|
|
|
|
Misc Tasks
|
|
==========
|
|
* Find all sequences of >2 underscores and eradicate them.
|
|
* run clang-tidy on libc++
|
|
* Document the "conditionally-supported" bits of libc++
|
|
* Look at basic_string's move assignment operator, re LWG 2063 and POCMA
|
|
* Put a static_assert in std::allocator to deny const/volatile types (LWG 2447)
|