STL
STL copied to clipboard
`/clr` tracking issue
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
- :rotating_light: Product code workaround (almost all other bugs have test code workarounds)
- :package: Not reduced, preprocessed repro
- :smile_cat: Semi-reduced, pruned unnecessary test code
- :green_heart: Fully reduced, library-free repro
Bugs
- :green_heart: :rotating_light: VSO-1153256 Issue:
[[msvc::noop_dtor]]doesn't seem to work for/clr - :green_heart: VSO-1459687 DevCom-1632617 C++/CLI struct/class doesn't use
MarshalCopy - :smile_cat: VSO-1659383
/clratomicandthreademit error C2711 "this function cannot be compiled as managed" instead of falling back to native codegen - :smile_cat: VSO-1659496
/clremits bogus error C2079 "uses undefined struct 'Incomplete'" despitestd::variant's ADL defenses - :smile_cat: VSO-1659511
/clrruntime hang when callingstd::asyncin a global variable's constructor - :smile_cat: :rotating_light: VSO-1663104
/clrrejects the__ceilf/__floorfintrinsics with error LNK2020/LNK2001 instead of accepting or falling back to native codegen - :smile_cat: :rotating_light: VSO-1664341
/clrC++20 System.NullReferenceException when calling ranges algorithms with PMD projections - :package: VSO-1664382
/clrC++20 emits bogus error C2127 "illegal initialization of 'constinit' entity with a non-constant expression" - :green_heart: VSO-1665481
/clrC++20 silent bad codegen forcomplex<float>division - :package: :rotating_light: VSO-1665606
/clrC++20 backend ICE withcounted_iterator's_Same_sequence - :package: VSO-1665670
/clrC++20 incorrectly reportsinput_iteratoretc. concepts as being true for 'bad' iterators - :package: VSO-1665674
/clrC++20 has incorrect results for various ranges concepts inP0896R4_ranges_iterator_machinery - :smile_cat: VSO-1666161
/clrC++20 silent bad codegen forbit_cast<float>(nan_uint) - :green_heart: VSO-1666178
/clrC++20 x64/O2backend assertionSY_ISUSERVAR(sym) || SY_ISARGUMENT(sym) - :green_heart: VSO-1846195
/clralignasemits fatal error C1193: an error expected in yyaction.cpp(2971) not reached- Duplicate: VSO-1753270
/clrC++20alignaswith defaulted SMFs emits fatal error C1193: an error expected in ...\yyaction.cpp(2976) not reached
- Duplicate: VSO-1753270
- :smile_cat: VSO-1946395
/clr /std:c++20 /Odbackend ICE for parallelstd::find_end - :green_heart: VSO-2231268
/clr /std:c++20rejects sneaky technique to access private data members - :green_heart: VSO-2279389
/clrC++20 can't handlestruct MoveOnlyFunctordefined in a function template, emitting fatal error C1193: an error expected in yyaction.cpp(2899) not reached - :smile_cat: VSO-2417635
/clrC++20 chk assertion failed:rhs.is_lvalue()in constexpr.cpp, again - :smile_cat: VSO-2457624
/clr /std:c++20silent bad codegen with the__fastfailintrinsic
Fixed
- VSO-1078742 DevCom-939490 Calling a pointer to member function at
constexprtime in/clrtriggers internal compiler error - VSO-1663233
/clrC++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) + 1under/clr - VSO-1595465
/clr/std:c++17ICE withint = 0SFINAE - VSO-1663257
/clrC++20 rejects P0428R2 Familiar template syntax for generic lambdas - VSO-1663301
/clrC++20 emits bogus error C2131 'expression did not evaluate to a constant' when a lambda tests aconstexprvariable defined outside - VSO-1665663
/clrC++20source_locationhas incorrect column information within a lambda - VSO-1664463
/clrC++20alignasemits error C3821 'managed type or function cannot be used in an unmanaged function' instead of falling back to native codegen - VSO-1659408
/clralignasemits error C2711 "this function cannot be compiled as managed" instead of falling back to native codegen - VSO-1666180
/clrC++20 x64 System.AccessViolationException withviews::iotaandviews::transform- Duplicate: VSO-1659489
/clrSystem.AccessViolationException with parallelstd::mismatch - Duplicate: VSO-1867037
/clrC++20 System.AccessViolationException with ranges uninitialized algorithms
- Duplicate: VSO-1659489
- VSO-1665654
/clrC++20 x86 System.AccessViolationException withatomic<shared_ptr> - VSO-1659695
/clrx86 runtime assertions/crashes with parallel algorithms - VSO-1658184
/clrsilent bad codegen withstd::_Signed128multiplication - VSO-1881472
/clrC++20 x86 System.AccessViolationException withatomic<with_padding_bits<8>> - VSO-1664293
/clrC++20 chk assertion failed:rhs.is_lvalue()in constexpr.cpp
Not Reproducible
- VSO-1673940 DevCom-10195454 managed C++ 17.5 error C2049: '
std::literals::_Int128_literals': non-inline namespace cannot be reopened as inline
is this also /clr bug https://github.com/microsoft/STL/issues/139 ?
Yes, thank you (especially for the fully reduced repro). I've added it to the list and tagged the internal bug as "STL-requested"; it is already assigned to our /clr compiler dev.