From mboxrd@z Thu Jan 1 00:00:00 1970 Path: eternal-september.org!news.eternal-september.org!feeder2.eternal-september.org!fu-berlin.de!uni-berlin.de!individual.net!not-for-mail From: Bill Findlay Newsgroups: comp.lang.ada Subject: Re: [ANN] GCC 14.2.0-3 (aarch64, macOS) Date: Thu, 21 Nov 2024 15:30:22 +0000 Organization: none Message-ID: <0001HW.2CEF898E0005B91A30DDA538F@news.individual.net> References: Reply-To: findlaybill@blueyonder.co.uk Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit X-Trace: individual.net h2KebzKkTdZFjXjPR2C0xw9vd+arTjtx+1hegntJxi0eOJJGYV X-Orig-Path: not-for-mail Cancel-Lock: sha1:+QyVuPRUe+NrE/cih4eUWlr6aCc= sha256:ht2zgpqbWjic1rqwjQ8X1UjRJ03x1Lf53cpCVbIGQpg= User-Agent: Hogwasher/5.24 Xref: news.eternal-september.org comp.lang.ada:66455 List-Id: On 17 Nov 2024, Simon Wright wrote (in article ): > Available at [1]. Included tools at v25.0.0. > > [1] https://github.com/simonjwright/distributing-gcc/releases/tag/gcc-14.2.0-3 > -aarch64 Hi Simon, many thanks for that. I note that 14.2.0-3 has the same issue as all previous 14.2 versions: a spurious error message on a simple string concatenation, which appears only when link-time optimization is called for: gnatmake -aI../Source -aO../Build -funwind-tables -gnatl12j96 -gnatw.e -gnatwD -gnatwH -gnatwP -gnatwT -gnatw.W -gnatw.B -gnatwC -gnatw.u -gnatyO -gnatw.Y -gnatw.N -fdata-sections -ffunction-sections -O3 -flto askance -bargs -static -Sin -largs -Wl,-dead_strip -Wl,-dead_strip -largs -flto ... gnatbind -aI../Source -aO../Build -static -Sin -x askance.ali gnatlink askance.ali -funwind-tables -fdata-sections -ffunction-sections -O3 -flto -Wl,-dead_strip -Wl,-dead_strip -flto lto-wrapper: warning: using serial compilation of 4 LTRANS jobs lto-wrapper: note: see the '-flto' option documentation for more information /Users/wf/KDF9/emulation/Source/posix.adb: In function 'posix__output_line': /Users/wf/KDF9/emulation/Source/posix.adb:277:49: warning: '__builtin_memcpy' writing between 1 and 2147483647 bytes into a region of size 0 [-Wstringop-overflow=] 277 | message_line : constant String := message & NL; | ^ This is in the routine: procedure output_line (message : in String) is message_line : String := message & NL; begin output(message_line); end output_line; where: NL : constant String := OS_specifics.EOL; in the package spec., and: package body OS_specifics is function EOL return String is (1 => Character'Val(16#0A#)); ... Changing the complained-of line to: message_line : String := message & (NL & ""); makes the warning go away. -- Bill Findlay