https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68481

            Bug ID: 68481
           Summary: GNAT rejects protected procedure with aspect
                    Interrupt_Handler => True (explicitly)
           Product: gcc
           Version: 5.2.1
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: ada
          Assignee: unassigned at gcc dot gnu.org
          Reporter: georggcc at googlemail dot com
  Target Milestone: ---

The protected procedure declared in P1 makes gcc reject its body,
and only if Interrupt_Handler is given the value True explicitly.

package L1 is
   protected P1 is

      procedure On_1 with Interrupt_Handler => True;

   end P1;
end L1;

package Body L1 is
   protected body P1 is

      procedure On_1 is
      begin
         null;
      end On_1;

   end P1;
end L1;

gcc -c -gnatvwa l1.adb

GNAT 5.2.1 20151121 [gcc-5-branch revision 230708]
Copyright 1992-2015, Free Software Foundation, Inc.

Compiling: l1.adb
Source file time stamp: 2015-11-22 09:45:05
Compiled at: 2015-11-22 10:45:16

     4.       procedure On_1 is
              |
        >>> expected type "System.Interrupts.Dynamic_Interrupt_Protection"
        >>> found private type "System.Tasking.Protected_Objects.Protection"

 10 lines: 2 errors


$ gcc -v
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/Users/bauhaus/mine5/libexec/gcc/x86_64-apple-darwin13.4.0/5.2.1/lto-wrapper
Target: x86_64-apple-darwin13.4.0
Configured with: /Users/bauhaus/src/gcc/configure --prefix=/Users/bauhaus/mine5
--disable-nls --disable-multilib --disable-libstdcxx-pch
--enable-languages=c,ada,c++ CC=gcc
Thread model: posix
gcc version 5.2.1 20151121 [gcc-5-branch revision 230708] (GCC)

Reply via email to