From b7e2cac2aaee433415209ac65092425164eccd76 Mon Sep 17 00:00:00 2001 From: Valentin Tolmer Date: Wed, 9 Sep 2020 16:43:22 +0200 Subject: [PATCH] glr2.cc: add copy constructor to yyGLRStackItem This silences the clang warning -Wdeprecated-copy. * data/skeletons/glr2.cc: here. --- data/skeletons/glr2.cc | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/data/skeletons/glr2.cc b/data/skeletons/glr2.cc index 987ac2e4..f115dcc0 100644 --- a/data/skeletons/glr2.cc +++ b/data/skeletons/glr2.cc @@ -127,6 +127,7 @@ m4_define([b4_shared_declarations], b4_percent_code_get([[requires]])[ #include #include // ptrdiff_t +#include // memcpy #include #include #include @@ -1239,6 +1240,18 @@ struct yyGLRStackItem { } } + yyGLRStackItem(const yyGLRStackItem& other) + : isState_(other.isState_) { + std::memcpy(raw_, other.raw_, union_size); + } + + yyGLRStackItem& operator=(yyGLRStackItem other) + { + std::swap(isState_, other.isState_); + std::swap(raw_, other.raw_); + return *this; + } + ~yyGLRStackItem() { if (isState()) { getState().~yyGLRState();