https://gcc.gnu.org/g:96613a6e3e9b93c4b304e47c3b788292eeda5920

commit r16-2751-g96613a6e3e9b93c4b304e47c3b788292eeda5920
Author: Steve Baird <ba...@adacore.com>
Date:   Mon Jul 21 16:23:20 2025 -0700

    ada: Avoid generating incorrect warning
    
    Do not generate a warning stating that the size of a formal parameter
    is 8 bits unless the size of the formal parameter is 8 bits.
    
    gcc/ada/ChangeLog:
    
            * freeze.adb (Freeze_Profile): Do not emit a warning stating that
            a formal parameter's size is 8 if the parameter's size is not 8.

Diff:
---
 gcc/ada/freeze.adb | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/gcc/ada/freeze.adb b/gcc/ada/freeze.adb
index dbd7cf425a29..afe0fda0671c 100644
--- a/gcc/ada/freeze.adb
+++ b/gcc/ada/freeze.adb
@@ -4813,6 +4813,8 @@ package body Freeze is
                  and then Convention (F_Type) = Convention_Ada
                  and then not Has_Warnings_Off (F_Type)
                  and then not Has_Size_Clause (F_Type)
+                 and then Present (Esize (F_Type))
+                 and then Esize (F_Type) = 8
                then
                   Error_Msg_N
                     ("& is an 8-bit Ada Boolean?x?", Formal);

Reply via email to