From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mailgate-2.zdv.net (mailgate-2.zdv.net [IPv6:2001:4c80:40:62d::25:2]) by sourceware.org (Postfix) with ESMTPS id 483AA3858403 for ; Thu, 22 Sep 2022 12:28:59 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 483AA3858403 Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=hs-kl.de Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=hs-kl.de X-IPAS-Result: =?us-ascii?q?A2BpBgBkVCxj/2UNXY9aHQEBAQEJARIBBQUBQIFPAoUSA?= =?us-ascii?q?YQ2kGYxnw0LAQEBDgFCBAEBhQUChG0mOQUNAQIEAQEBAQMCAwEBAQEBAQMBA?= =?us-ascii?q?QEFAQEBAQEBBgMBgRyFL0aGQwEBAQMjDwEFUQsYAgImAgJXBg0IAQGCeYMhq?= =?us-ascii?q?ySBMoEBiB2BZQkBgQcsAYhKh143gVVEgTyCTDc+hC5jgwmCZgSYfRwmBA4DG?= =?us-ascii?q?SsdQQIBC3YYAxQDBSQHAxkPIw0NBBYHDAMDBSUDAgIbBwICAwIGEwUCAk02C?= =?us-ascii?q?AQIBCskDwUCBy8FBC8CHgQFBhEIAhYCBgQEBAQVAhAIAggmFwcTGBsZAQUyJ?= =?us-ascii?q?xAJIRwKBBoNBQYTAyBvBQo6DygxaysdGwqBDCooFQMEBAMCBhMDAyICECoxF?= =?us-ascii?q?AQpExItBytzCQIDImcFAwMEKCwDCSEfBygmPAdYOgEEAwMQIj0GAwkDAiRad?= =?us-ascii?q?zcTFQUDDRkmCAUjFx0ECDwCBQZXEwIKEgOaVIMqJnMDkXevIzQHgheBRIFDB?= =?us-ascii?q?gyeTgZBlnUGkgmXCqdAAgQCBAUCFoF5gX0zGiSDN1AXAg+ccoEuAgYBCgEBA?= =?us-ascii?q?wmIG4E1AYERAQE?= IronPort-Data: A9a23:77Kmt6ivU1SpNxncHEjx1HFwX161+RIKZh0ujC45NGQN5FlHY01je htvCm6Db6yPZjejL41zbou08B8B7cWGz4RlQQJk+H80H3wW8JqUDtmwEBz9bniYRiHhoOOLz Cm8hv3odp1coqr0/0/1WlTZhSAgk/vOHtIQMcacUghpXwhoVSw9vhxqnu89k+ZAjMOwa++3k YqaT/b3ZRn0gFaYDkpOs/jZ8EI15qyo0N8llgVWic5j7QK2e0Y9VPrzFYnpR1PkT49dGPKNR uqr5NlVKUuAon/Bovv8+lrKWhViroz6ZGBiuVIPM0SWuSWukwRpukoN2FjwXm8M49mBt4gZJ NygLvVcQy9xVkHHsLx1vxW1j0iSMIUekIIrL0RTvuS2wRPifmvB58lAJ2Y6JKRJ2qVHWmhno KlwxDAlNnhvhsqkzKz9TORw7ighBJC3Z8VO4Tc5lneAVa9OrZPrGs0m4fdn3TMwi8RLW9PTZ scDQTp0KRfEJRFCUrsSIMtix7j03iajK1W0rnrJibUZyWXe/TB676Cud92JQ8SyT5t8yxPwS mXuuj6R7gshHNOUwn+F/3a0ruDElmX0Xp9UE6e3nsOGm3WWz20XBwJODB27ury6jgiyVrqzN nApx8bnloBqnGTDczU3d0TQTKKs1vLEZ+dtLg== IronPort-HdrOrdr: A9a23:G8eF56hgmRneekMn+jR7YolYAnBQXioji2hC6mlwRA09TyX4rb HQoBx4vSWftN91YhwdcL+7VJVoPkmsiKKdjbN+AV6JZnichILQFvAa0WK6+UyZJ8SczJ8g6U 4DSdkcNDSYNzET5voShjPYLz9K+rm6Gc6T6ts2gE0dKz1CWuVL6gd0DRveMmAefngjOXNALu v/2iOxnUvGRV0nKv62AXQIRKziirTw5ejbSC9DOz4LrCijpR6F09fBYn2l4is= X-IronPort-Anti-Spam-Filtered: true X-IronPort-AV: E=Sophos;i="5.93,335,1654552800"; d="scan'208";a="143740740" Received: from mailgw01.hs-kl.de (HELO zdv.net) ([143.93.13.101]) by mailgate-2.zdv.net with ESMTP/TLS/AES256-GCM-SHA384; 22 Sep 2022 14:28:57 +0200 Received: from [192.168.178.62] (84.183.27.28) by klrz-mail01.ds.fh-kl.de (10.1.3.101) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.31; Thu, 22 Sep 2022 14:28:57 +0200 Message-ID: Date: Thu, 22 Sep 2022 14:28:57 +0200 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:105.0) Gecko/20100101 Thunderbird/105.0 Subject: Re: Use coroutines for avr-gcc Content-Language: de-DE To: References: From: Wilhelm Meier In-Reply-To: Content-Type: text/plain; charset="UTF-8"; format=flowed Content-Transfer-Encoding: 8bit X-Originating-IP: [84.183.27.28] X-ClientProxiedBy: klrz-mail01.ds.fh-kl.de (10.1.3.101) To klrz-mail01.ds.fh-kl.de (10.1.3.101) X-Spam-Status: No, score=-1.0 required=5.0 tests=BAYES_00,KAM_DMARC_STATUS,NICE_REPLY_A,RCVD_IN_BARRACUDACENTRAL,SPF_HELO_PASS,SPF_PASS,TXREP autolearn=no autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: According to the standard, an implementation can avoid the heap-allocation, if - the lifetime of the coroutine is strictly within the lifetime of the caller - the size of coroutine state can be determined at compile time Looks like this optimization is not yet available because new/delete-ops are required. Is there any work on this topic? Thanks! Wilhelm On 21.09.22 15:38, Wilhelm Meier wrote: > I tried to use coroutines with avr-gcc (13.0.0) for the AVR target. I > managed to include the coroutine-header and to write a very simple > generator using the example from cppreference. > > It compiles well, but then I get undefined symbols: > > 1) new and delete operator-functions > 2) f(f()::f().Frame*) > > Therefore two question arise here: > > a) is it possible to use coroutines without head-allocation? E.g. define > some global storage for the state of the coroutine? > b) if a) can be fullfilled, what is 2) supposed to do? > > Thanks for any hints, >  Wilhelm