From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 1059) id A71FF39450D4; Thu, 27 Aug 2020 20:18:56 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org A71FF39450D4 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gcc.gnu.org; s=default; t=1598559536; bh=kvW+D92oLrAgDam4LxkVnigjrsmlQbm2El+UEvTTUyc=; h=From:To:Subject:Date:From; b=YOqfr2Zyj2+kZukGzt8EZmkWl6QfyercoUA747K9nCkPJRl3CaFooaVZGQQY4iHsy 5RMGph/k0udZHNFz9X15YnJPi1EYG6zb07es4bF+oEM+GWAc6vsobQlSUjb9lkns+y GUUgQjkUqwmdawF6WgQ89tByrDg1bnIxz3BAElBc= Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: Nathan Sidwell To: gcc-cvs@gcc.gnu.org Subject: [gcc/devel/c++-modules] Stream MEM_REFs, who knew? X-Act-Checkin: gcc X-Git-Author: Nathan Sidwell X-Git-Refname: refs/heads/devel/c++-modules X-Git-Oldrev: 0fe27d844103eab86132a759f2f16225a36e94bf X-Git-Newrev: 28d02ccd11280c348311331561101fb37ff05c8c Message-Id: <20200827201856.A71FF39450D4@sourceware.org> Date: Thu, 27 Aug 2020 20:18:56 +0000 (GMT) X-BeenThere: gcc-cvs@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gcc-cvs mailing list List-Unsubscribe: , List-Archive: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 27 Aug 2020 20:18:56 -0000 https://gcc.gnu.org/g:28d02ccd11280c348311331561101fb37ff05c8c commit 28d02ccd11280c348311331561101fb37ff05c8c Author: Nathan Sidwell Date: Thu Aug 27 12:49:36 2020 -0700 Stream MEM_REFs, who knew? gcc/cp/ * module.cc (trees_{in,out}::start): Permit MEM_REFs. (trees_{in,out}::core_bools): Likewise. gcc/testsuite/ * g++.dg/modules/memref-1_[ab].C: New. Diff: --- ChangeLog.modules | 9 +++++++++ gcc/cp/module.cc | 4 ---- gcc/testsuite/g++.dg/modules/memref-1_a.C | 24 ++++++++++++++++++++++++ gcc/testsuite/g++.dg/modules/memref-1_b.C | 9 +++++++++ 4 files changed, 42 insertions(+), 4 deletions(-) diff --git a/ChangeLog.modules b/ChangeLog.modules index 27233f0228d..bf3db083544 100644 --- a/ChangeLog.modules +++ b/ChangeLog.modules @@ -1,3 +1,12 @@ +2020-08-27 Nathan Sidwell + + Stream MEM_REFs, who knew? + gcc/cp/ + * module.cc (trees_{in,out}::start): Permit MEM_REFs. + (trees_{in,out}::core_bools): Likewise. + gcc/testsuite/ + * g++.dg/modules/memref-1_[ab].C: New. + 2020-08-27 Nathan Sidwell Jeff Chapman II diff --git a/gcc/cp/module.cc b/gcc/cp/module.cc index 17c3fad89dd..f94d28fb120 100644 --- a/gcc/cp/module.cc +++ b/gcc/cp/module.cc @@ -5053,7 +5053,6 @@ trees_out::start (tree t, bool code_streamed) break; case IDENTIFIER_NODE: - case MEM_REF: case SSA_NAME: case TARGET_MEM_REF: case TRANSLATION_UNIT_DECL: @@ -5136,7 +5135,6 @@ trees_in::start (unsigned code) case FIXED_CST: case IDENTIFIER_NODE: - case MEM_REF: case POLY_INT_CST: case SSA_NAME: case TARGET_MEM_REF: @@ -5186,7 +5184,6 @@ trees_out::core_bools (tree t) { case CALL_EXPR: case INTEGER_CST: - case MEM_REF: case SSA_NAME: case TARGET_MEM_REF: case TREE_VEC: @@ -5364,7 +5361,6 @@ trees_in::core_bools (tree t) { case CALL_EXPR: case INTEGER_CST: - case MEM_REF: case SSA_NAME: case TARGET_MEM_REF: case TREE_VEC: diff --git a/gcc/testsuite/g++.dg/modules/memref-1_a.C b/gcc/testsuite/g++.dg/modules/memref-1_a.C new file mode 100644 index 00000000000..e780999778d --- /dev/null +++ b/gcc/testsuite/g++.dg/modules/memref-1_a.C @@ -0,0 +1,24 @@ +// { dg-additional-options -fmodules-ts } + +export module Foo; +// { dg-module-cmi Foo } + +export class Bit +{ +private: + unsigned _M_msb:1; +}; + +Bit Make () noexcept; + +export class Container +{ +public: + void Frob () + { + _M_rep = Make (); + } + +private: + Bit _M_rep; +}; diff --git a/gcc/testsuite/g++.dg/modules/memref-1_b.C b/gcc/testsuite/g++.dg/modules/memref-1_b.C new file mode 100644 index 00000000000..82c52faed7a --- /dev/null +++ b/gcc/testsuite/g++.dg/modules/memref-1_b.C @@ -0,0 +1,9 @@ +// { dg-additional-options -fmodules-ts } + +import Foo; + +void X () +{ + Container c; + c.Frob (); +}