configure.ac |   19 +++++++++++++++++--
 1 file changed, 17 insertions(+), 2 deletions(-)

New commits:
commit b24e920c6dc00ce39decee2596217e99f798a95c
Author:     Stephan Bergmann <stephan.bergm...@allotropia.de>
AuthorDate: Wed Feb 7 08:33:35 2024 +0100
Commit:     Miklos Vajna <vmik...@collabora.com>
CommitDate: Wed Jul 31 08:33:14 2024 +0200

    MSVC 2022 Preview: One HAVE_CPP_CONSTEVAL blocker down, one up
    
    While the previously known issue appears to be fixed in VS 2022 Preview 
17.9.0
    Preview 5.0, a new one showed up that now caused
    
    > sal/qa/rtl/oustringbuffer/test_oustringbuffer_assign.cxx(63): error 
C2440: '<function-style-cast>': cannot convert from 'initializer list' to 
'rtl::OUStringLiteral<2>'
    > sal/qa/rtl/oustringbuffer/test_oustringbuffer_assign.cxx(63): note: 
Invalid aggregate initialization
    > sal/qa/rtl/oustringbuffer/test_oustringbuffer_assign.cxx(63): note: too 
many initializers
    
    etc.
    
    Change-Id: Ia74a8d6454bb5f15c0af4d3cf29989342f2eef7a
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/163072
    Tested-by: Jenkins
    Reviewed-by: Stephan Bergmann <stephan.bergm...@allotropia.de>
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/170423
    Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoff...@gmail.com>
    Reviewed-by: Miklos Vajna <vmik...@collabora.com>

diff --git a/configure.ac b/configure.ac
index e1d6f25419f0..7f0ccc560913 100644
--- a/configure.ac
+++ b/configure.ac
@@ -14801,11 +14801,14 @@ dnl expression' with consteval constructor", 
<https://bugs.llvm.org/show_bug.cgi
 dnl using consteval: 'clang/lib/CodeGen/Address.h:38: llvm::Value*
 dnl clang::CodeGen::Address::getPointer() const: Assertion `isValid()' 
failed.'" (which should be
 dnl fixed since Clang 14), 
<https://developercommunity.visualstudio.com/t/1581879> "Bogus error
-dnl C7595 with consteval constructor in ternary expression (/std:c++latest)", 
or
+dnl C7595 with consteval constructor in ternary expression (/std:c++latest)" 
(which appears to be
+dnl fixed at least in Visual Studio Community 2022 Preview 17.9.0 Preview 5.0),
 dnl <https://github.com/llvm/llvm-project/issues/54612> "C++20, consteval, 
anonymous union:
 dnl llvm/lib/IR/Instructions.cpp:1491: void llvm::StoreInst::AssertOK(): 
Assertion
 dnl 
`cast<PointerType>(getOperand(1)->getType())->isOpaqueOrPointeeTypeMatches(getOperand(0)->getType())
-dnl && "Ptr must be a pointer to Val type!"' failed." (which should be fixed 
since Clang 17):
+dnl && "Ptr must be a pointer to Val type!"' failed." (which should be fixed 
since Clang 17), or
+dnl 
<https://developercommunity.visualstudio.com/t/Bogus-error-C2440-with-consteval-constru/10579616>
+dnl "Bogus error C2440 with consteval constructor (/std:c++20)":
 AC_LANG_PUSH([C++])
 save_CXX=$CXX
 if test "$COM" = MSC && test "$COM_IS_CLANG" != TRUE; then
@@ -14850,6 +14853,18 @@ AC_RUN_IFELSE([AC_LANG_PROGRAM([
             };
         };
         auto s5 = S5().f();
+
+        struct S6 {
+            consteval S6(char const (&lit)[2]) {
+                buf[0] = lit[0];
+                buf[1] = lit[1];
+            }
+            union {
+                int x;
+                char buf[2];
+            };
+        };
+        void f6() { S6("a"); }
     ], [
         return (s.i == 1) ? 0 : 1;
     ])], [

Reply via email to