[clang] [Clang][Sema]: Allow copy constructor side effects (PR #81127)

Vinayak Dev via cfe-commits cfe-commits at lists.llvm.org
Fri Feb 9 03:14:07 PST 2024


================
@@ -1,5 +1,5 @@
 // RUN: %clang_cc1 -fsyntax-only -Wunused-variable -Wunused-label -Wno-c++1y-extensions -verify %s
-// RUN: %clang_cc1 -fsyntax-only -Wunused-variable -Wunused-label -Wno-c++1y-extensions -verify -std=gnu++11 %s
+// RUN: %clang_cc1 -fsyntax-only -Wunused-variable -Wunused-label -Wno-c++1y-extensions -verify -std=gnu++17 %s
----------------
vinayakdsci wrote:

OK, the difference in behaviour seems to stem from the fact that in C++-11 mode and C++-14 mode, the constructors are marked as not elidable(clang/lib/Sema/SemaDecl.cpp, line 2049). This causes it to return false when these constructors which are created by copy initialization are encountered, specifically while passing in C++ standard modes lower than C++-17

https://github.com/llvm/llvm-project/pull/81127


More information about the cfe-commits mailing list