Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

/clr tracking issue #3193

Open
StephanTLavavej opened this issue Nov 6, 2022 · 2 comments
Open

/clr tracking issue #3193

StephanTLavavej opened this issue Nov 6, 2022 · 2 comments
Labels
compiler Compiler work involved

Comments

@StephanTLavavej
Copy link
Member

StephanTLavavej commented Nov 6, 2022

This issue tracks /clr compiler bugs that we need fixes for.

/clr /std:c++20 was first supported (excluding modules) in VS 2022 17.6.

Legend

  • 🚨 Product code workaround (almost all other bugs have test code workarounds)
  • 📦 Not reduced, preprocessed repro
  • 😸 Semi-reduced, pruned unnecessary test code
  • 💚 Fully reduced, library-free repro

Bugs

  • 💚 🚨 VSO-1153256 Issue: [[msvc::noop_dtor]] doesn't seem to work for /clr
  • 💚 VSO-1459687 DevCom-1632617 C++/CLI struct/class doesn't use MarshalCopy
  • 😸 VSO-1659383 /clr atomic and thread emit error C2711 "this function cannot be compiled as managed" instead of falling back to native codegen
  • 😸 VSO-1659496 /clr emits bogus error C2079 "uses undefined struct 'Incomplete'" despite std::variant's ADL defenses
  • 😸 VSO-1659511 /clr runtime hang when calling std::async in a global variable's constructor
  • 😸 🚨 VSO-1663104 /clr rejects the __ceilf/__floorf intrinsics with error LNK2020/LNK2001 instead of accepting or falling back to native codegen
  • 📦 VSO-1664293 /clr C++20 chk assertion failed: rhs.is_lvalue() in constexpr.cpp
  • 😸 🚨 VSO-1664341 /clr C++20 System.NullReferenceException when calling ranges algorithms with PMD projections
  • 📦 VSO-1664382 /clr C++20 emits bogus error C2127 "illegal initialization of 'constinit' entity with a non-constant expression"
  • 💚 VSO-1665481 /clr C++20 silent bad codegen for complex<float> division
  • 📦 🚨 VSO-1665606 /clr C++20 backend ICE with counted_iterator's _Same_sequence
  • 📦 VSO-1665670 /clr C++20 incorrectly reports input_iterator etc. concepts as being true for 'bad' iterators
  • 📦 VSO-1665674 /clr C++20 has incorrect results for various ranges concepts in P0896R4_ranges_iterator_machinery
  • 😸 VSO-1666161 /clr C++20 silent bad codegen for bit_cast<float>(nan_uint)
  • 💚 VSO-1666178 /clr C++20 x64 /O2 backend assertion SY_ISUSERVAR(sym) || SY_ISARGUMENT(sym)
  • 💚 VSO-1846195 /clr alignas emits fatal error C1193: an error expected in yyaction.cpp(2971) not reached
    • Duplicate: VSO-1753270 /clr C++20 alignas with defaulted SMFs emits fatal error C1193: an error expected in ...\yyaction.cpp(2976) not reached
  • 😸 VSO-1946395 /clr /std:c++20 /Od backend ICE for parallel std::find_end
  • 💚 VSO-2231268 /clr /std:c++20 rejects sneaky technique to access private data members
  • 💚 VSO-2279389 /clr C++20 can't handle struct MoveOnlyFunctor defined in a function template, emitting fatal error C1193: an error expected in yyaction.cpp(2899) not reached

Fixed

  • VSO-1078742 DevCom-939490 Calling a pointer to member function at constexpr time in /clr triggers internal compiler error
  • VSO-1663233 /clr C++20 rejects <coroutine> with error C3861 "'__builtin_coro_done': identifier not found" instead of falling back to native codegen
  • VSO-1680392 Assertion failure: pSTI->length == strlen(pSTI->szName) + 1 under /clr
  • VSO-1595465 /clr /std:c++17 ICE with int = 0 SFINAE
  • VSO-1663257 /clr C++20 rejects P0428R2 Familiar template syntax for generic lambdas
  • VSO-1663301 /clr C++20 emits bogus error C2131 'expression did not evaluate to a constant' when a lambda tests a constexpr variable defined outside
  • VSO-1665663 /clr C++20 source_location has incorrect column information within a lambda
  • VSO-1664463 /clr C++20 alignas emits error C3821 'managed type or function cannot be used in an unmanaged function' instead of falling back to native codegen
  • VSO-1659408 /clr alignas emits error C2711 "this function cannot be compiled as managed" instead of falling back to native codegen
  • VSO-1666180 /clr C++20 x64 System.AccessViolationException with views::iota and views::transform
    • Duplicate: VSO-1659489 /clr System.AccessViolationException with parallel std::mismatch
    • Duplicate: VSO-1867037 /clr C++20 System.AccessViolationException with ranges uninitialized algorithms
  • VSO-1665654 /clr C++20 x86 System.AccessViolationException with atomic<shared_ptr>
  • VSO-1659695 /clr x86 runtime assertions/crashes with parallel algorithms
  • VSO-1658184 /clr silent bad codegen with std::_Signed128 multiplication
  • VSO-1881472 /clr C++20 x86 System.AccessViolationException with atomic<with_padding_bits<8>>

Not Reproducible

  • VSO-1673940 DevCom-10195454 managed C++ 17.5 error C2049: 'std::literals::_Int128_literals': non-inline namespace cannot be reopened as inline
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
compiler Compiler work involved
Projects
None yet
Development

No branches or pull requests

2 participants