Introduction

There are some issues related reported, or originally found and forwarded by author of this project. Some issues might block the project in some sense. To review them conveniently, reported issues are collect in this document.

Unless otherwise specified, notations are same to those in StandardUsing.

List of reported issues

Issues not rejected or withdrawn are collected and listed here (revised b840[2018-10-07]).

Specifications

Some issues are related to the to language or enviornment specifications.

The entries may duplicate with above.

ISO/IEC 14882 (ISO/IEC JTC1 SC22/WG21 issue list)

Implementations of standards or specifications

Some issues are related to the to implementations of language or enviornment specifications.

GNU C++ (Bugzilla)

  • PR 53872: [C++11] ADL bug in std::thread (RESOLVED FIXED 4.7.2)
  • PR 53873: [C++11] strange error message for template overloading (RESOLVED DUPLICATE of bug 53862)
    • PR 53862[4.6/4.7 regression] [C++11] sorry, unimplemented: use of 'type_pack_expansion' in template (RESOLVED FIXED 4.7.1)
  • PR 54216: Missing diagnostic for ill-formed anonymous enum declarations (RESOLVED FIXED 4.9.0)
  • PR 55053: std::is_explicitly_convertible should be removed (RESOLVED WORKSFORME 4.8.0)
  • PR 56699: [4.8/4.9 regression] Failed for sizeof (non-static member) in lambda expression (RESOLVED FIXED mainline/4.8.1)
  • PR 57183: [C++11] auto and -Wunused-variable (RESOLVED FIXED 4.8.1)
  • PR 57444: [4.8/4.9 Regression] ICE in instantiate_type for invalid use of member with using-declaration (RESOLVED DUPLICATE of bug 58457)
    • PR 58457: [4.8/4.9 Regression] ICE when placement new operator is used with using keyword and custom constructor (RESOLVED FIXED 4.8.2/4.9.0)
  • PR 58395: Undefined behavior vs. exception (RESOLVED WONTFIX)
  • PR 59682: Invalid syntax accepted: new-placement without expression-list (RESOLVED FIXED 6.0)
  • PR 59931: Wrong wording of diagnostic about imaginary "member function type"
  • PR 60709: [C++11]ICE when using a braced-init-list as function argument to initialize a reference to array (RESOLVED FIXED 4.8.3)
  • PR 61019: ICE: incomplete type of class template as pseudo-destructor-name (RESOLVED FIXED 6.0)
  • PR 63400: [C++11]precision of std::chrono::high_resolution_clock (UNCONFIRMED)
  • PR 65343: unexpected exception thrown during destruction of static object in debug mode
    • Since some version of Windows 10, the crash dialog would not show, made it less annoying.
  • PR 65748: [C++11][C++14]Invalid copy elision on operand of throw-exception (RESOLVED DUPLICATE of bug 57533)
    • PR 57533: When throwing local variable, it's being move-constructed even if not going out of scope. (NEW)
    • This misfeature is carefully avoided in YSLib source.
  • PR 65890: [C++03]sizeof(qualified-id) accepted when the operand denotes a non-static member (RESOLVED INVALID)
    • This does not effect YSLib since C++11 is the baseline.
  • PR 67238: [C++11][C++14]cc1plus crash for nested decltype expression in parameter pack in trailing return type when '-g' enabled (RESOLVED FIXED 6.0)
    • This was worked arounded in YSLib source, before 6.0 is actually depended on.
  • PR 67795: Wrong code generated for conditional expression with cast (NEW)
    • This still blocks some code.
  • PR 70480: Reduce RTTI code bloat for specified types (NEW)
    • For DS platform, YSLib uses ystdex::type_id instead typeid to worked around.
  • YSLib issue 30
    • PR 71444: Error constants for MinGW-w64 (RESOLVED FIXED 5.5, 6.4 and 7.1)
    • This was worked around in YSLib source and fixed since G++ 7.1.
  • PR 86734: [DR 2188] reverse_iterator::operator-> does not support overloaded operator& (RESOLVED FIXED 7.4 8.3)
    • See upstream LWG 2188.
    • This is conditionally avoided by replacement ystdex::reverse_iterator.
  • PR 90966: [9/10 Regression] ICE in tsubst_copy, at cp/pt.c:16155 (RESOLVED FIXED 9.3 and 10)
  • PR 91127: Incorrect checking of nonnull attribute with argument to a constructor of class with a virtual base (NEW)
  • PR 91480: Nonconforming definitions of standard library feature-test macros (NEW)
  • PR 91531: _Rb_tree's copy assignment should respect to POCCA regardless of is_always_equal (NEW)
  • PR 91541: [C++17] Exception specification of operator= of node-based containers may be broken (RESOLVED WONTFIX)
  • PR 91620: std::[forward_]list::remove_if/unique should respect to DR 526 (ASSIGNED)
  • PR 93470: [C++2a] [9 Regression] [C++2a] std::reference_wrapper to function type is broken with Clang (RESOLVED FIXED 9.3)
  • PR 94602: wrong semantic check to prvalue as decltype operand (UNCONFIRMED)

LLVM/Clang (Bugzilla)

  • PR 25306: __attribute__((returns_nonnull)) does not work for std::add_pointer_t<T> (NEW)
  • PR 27504: Inherited constructor with dependent base class introduced by a typedef-name may not work (NEW)
  • PR 27443: [CWG 734] Nonconforming aliasing of block scope objects (RESOLVED DUPLICATE of bug 18538)
    • PR 18538: non-conforming optimization -fmerge-all-constants is enabled by default
    • Note they are not identical. PR 27443 is for ISO C++ and PR 18538 is for ISO C.
  • PR 43275: Pure attribute and C++ exceptions (NEW)
  • PR 45542: wrong semantic check to prvalue as decltype operand (NEW)

Microsoft Visual C++

New issues are now reported to Microsoft Visual Studio Developer Community.

As [Microsoft Connect](Microsoft Connect) is down now, any status would not be updated. Note some posts have been inaccessible even before the service stopped.

  • Microsoft Connect issue 1641428: Wrong Win32 error to errno mapping (ACTIVE)
    • YSLib code does not rely on Universal source, instead implements the functionality spearatedly, so it has no effect.
    • This seems to be fixed before Microsoft Connect closed.
  • YSLib issue 33
  • YSLib issue 34: [Win32] std::unique_ptr::operator-> not conforming in Microsoft VC++ 2015
  • problem 417142: [LWG 2070][P0674R1] std::allocate_shared is not conforming (Under Investigation)
  • YSLib issue 35: [Win32] Microsoft VC++ 2017 failed to evaluate the dependent noexcept expression inside noexcept-specifier
    • problem 431598: VC++ fails to compile the noexcept expression inside noexcept-specifier with a template-parameter instantiated from an explicit destruct call (Closed - Fixed)(Fixed In: Visual Studio 2019 version 16.1)(Fixed In: Visual Studio 2019 version 16.1 Preview 1)
  • YSLib issue 36: [Win32] Microsoft VC++ 2017 failed to initialize with string arrays with a constexpr u8 string literal
    • problem 431628: VC++ fails to initialize with string arrays with a constexpr u8 string literal (Closed - Fixed)(Fixed In: Visual Studio 2019 version 16.0)(Fixed In: Visual Studio 2019 version 16.0 Preview 5)
  • YSLib issue 37: [Win32] Microsoft VC++ 2017 internal compiler error when building SHBuild
    • problem 431665: VC++ 2017 internal error for overloaded qualified function template function call in the function default argument (Closed - Fixed)(Fixed In: Visual Studio 2019 version 16.1)(Fixed In: Visual Studio 2019 version 16.0)
  • YSLib issue 38: [Win32] Microsoft VC++ 2017 failed to select expected std::swap specialization
    • problem 431904 (Closed - Fixed)(Fixed In: Visual Studio 2019 version 16.1)(Fixed In: Visual Studio 2019 version 16.1 Preview 2)(Fixed In: Visual Studio 2019 version 16.1 Preview 1)
  • YSLib issue 39: [Win32] Microsoft VC++ 2017 rejects dependent noexcept-specifier in template partial specializations

Other projects

As complement, some issues are related to other tools used by the project or referenced in documentation of this project, which may loosely concern with issues listed above.

DrMemory

devkitPro

libfat

  • pull request 1: Removed redundant check (Merged)
  • issue 2: Wrong root sectors count determined for FAT12 and FAT16? (Open)
  • issue 3: Redundant function calls (Open)
  • issue 4: _FAT_directory_entryFromPosition issues (Open)
  • issue 5: Redundant call of _FAT_directory_getRootEntry for "/" (Open)
  • issue 6: ENOTDIR vs ENOENT for invalid path prefix (Open)
  • issue 7: Pathname with or without trailing slashes for directories (Open)
  • issue 10: Setting errno when removing a non-empty directory (Open)

libnds

newlib

  • issue 5: Nonconforming return type of ftell (Closed FIXED)

Klisp

  • issue 12: A problem of proper tail call (NEW)

Resolved implementation issues

Some issues were tagged BLOCKED status previously. Issues known resolved and confirmed to work would be put in this chapter.