From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mout.gmx.net (mout.gmx.net [212.227.15.18]) by sourceware.org (Postfix) with ESMTPS id A09233858414 for ; Fri, 10 Feb 2023 21:07:25 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org A09233858414 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=gmx.de Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=gmx.de DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.de; s=s31663417; t=1676063244; bh=sKveXfQ1mPifs1uZFA+bani06YYrfAIf7ZBG7ibxpfE=; h=X-UI-Sender-Class:From:To:Subject:Date; b=TbNr5rsis+tj0d+epwdbjqHZdv2JB15Cu3xuihugixS7QsKQHzokvSlUUQ5R17xZa CK1W9WrOHupB0DAohqfGVJh1zb3aGtLIcYBay3YNaJF11p9M4X12Ic1mnFyrnZK0qH wy785K4KUFXK2BzFfU8dL6J6UxvfysufpTwNgrXyEja76NIPjvPxO3Y9MWr4MYBe5Z hhHBjxZu/wz/r8OwPYAnKzd6LgYuPiqjqxT18aML3ENUgmLZ/BQ6EfOC5+8CqzfIw8 C5KApeYgTR2wqziJK1yzqmh2bBnVlVhzmjyYLosuL19dhhUxl3i12z/wlSYadHtBNN sr/DhRTnRJgiA== X-UI-Sender-Class: 724b4f7f-cbec-4199-ad4e-598c01a50d3a Received: from [93.207.88.215] ([93.207.88.215]) by web-mail.gmx.net (3c-app-gmx-bs43.server.lan [172.19.170.95]) (via HTTP); Fri, 10 Feb 2023 22:07:24 +0100 MIME-Version: 1.0 Message-ID: From: Harald Anlauf To: fortran Subject: Re: Support for NOINLINE attribute Content-Type: text/plain; charset=UTF-8 Date: Fri, 10 Feb 2023 22:07:24 +0100 Importance: normal Sensitivity: Normal X-Priority: 3 X-Provags-ID: V03:K1:PbVZwV8Cp+Gh6TenUwxKGvVpcNhHv5zqBKutTeJVHLs2RQufIWqacbAoeDvyLVXQg1QW7 BvfIDMwW8YSq41xYBagEHeAAt7VBkTv/AcgrLDYpVNf/yG90V7htZge12ybv2A7/amW17O2iWYQA I/QdW1zt1RsHdPMdsKeDD0hSfNFy10vvWc+HaHgsCn41wK/4P3Z6hl4co/j6rKlzPAiuynWS09tm rmRXPxtitaGxGamkUktojBkq2pvkO1yvLpjA50hh3311kg+TZaneEJ83X5wp2k2N/iqrOwzr48Mq Tg= UI-OutboundReport: notjunk:1;M01:P0:2+x0sC+zlyI=;GJ4VgKKRZtw75FmZJTX1acwsPB/ MA/qJqnsw0IBR3dv0Xq3F6tL8wIY1fDpkrA4nh4yBrqlt7nb7cfKtDWi6ghd20dGqHTN02goI 9TybHFF7/i1jHTN3VkZldr2dc7/xOg63CrpmBmcqgYa0GkItdRUQKK47sfTPkvDf6pjZuJmaw FGy+kOyDnAv0XAwfZs6udIN8gLD1aA5sRe7P8cogeqJMLGmIAcsjFAoaiwNeTJ4QkhpU+9QCH wVIHtF2MbCEnYDIYA4MZM9vI+p80d30zv2xd8BMv7Iqaspe5UO39A8rC0ReB2C+KhWcdmz/il kGyiAM7Ac2fdwEsOa64EfjA4Rpp0XL1MuRujAncNRIouXVB4G/Jcnp7V9tucx42ua+xS9rEdt j0gPqF/bpMuahAYZU0WbLqutnhaILognFjL3FM9essbSQkuRe2kXF4cqQ/JlJoiYwMkAcIoo6 mIXKi1noF1cWnqN0BYfqs+aN+pTPlO/TEZpeTlkeu7s33VlLEa84I9ctca99tI5CjZbCeufkt sqAzjtPJ7lmyBAUw3op0lvb4c04aCFrh6GhqFMYjRUzy0ycx6+6fPiXWXNBDVN6BpqlC5Hz61 6FEHpLEOL/miBx7XykfwtU5Q0hfglzFlj/qarETgmrwFvORDlIUUfnq0VmDRW6JLX9Hq02yl6 IlWgj3iCw6dhuy7zHLvEICbeHj3Qbbn2UIGZ8UVe/FJ3N9t/xnTIbkYHFXEj/XZkpqqBZGosZ pYhsU2WYbZp1LQiNUIXKGBE6qMuQectsdH26ufJdXOMOw90KCp/cAONzYBSHMZRqmMyZ2Csnm HKKezv4X33nwX4Z41M2dXRqg== X-Spam-Status: No, score=-5.4 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_FROM,RCVD_IN_DNSWL_LOW,RCVD_IN_MSPIKE_H2,SPF_HELO_NONE,SPF_PASS,TXREP autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: Hello all, I actually like the idea of supporting the suggested attributes, provided they work and behave the same way with and without LTO. - NOINLINE: I disagree with Steve here; we shouldn't invent a new syntax (noinline on/off), and rather follow what other compilers provide (INLINE/NOINLINE). - NORETURN: this is an important attribute, as your testcases show. However: +@item @code{NORETURN} -- add hint that given function cannot return. This +makes slightly better code. More importantly, it helps avoid spurious warnings +of uninitialized variables. I would not claim "This makes slightly better code", but rather that it provides additional optimization opportunities. Can you explain why you wrote that it should help to "avoid spurious warnings of uninitialized variables"? While this attribute does provide a useful hint to the compiler, a user should not focus on that attribute just to silence the compiler. - WEAK: I do not like the way it is coded in the provided patch. If a target does not support it, we should not generate an error, but rather emit a warning that it is not supported. It appears that declare_weak() already does that. Cheers, Harald