-- { dg-do compile } -- { dg-options "-fdump-tree-gimple" } with Interfaces; procedure Atomic9 is Register : Interfaces.Unsigned_32; type Interrupt_ID is range 0 .. 44; procedure Trigger_Interrupt (IRQ : Interrupt_ID) is NVIC_STIR : Interrupt_ID with Import, Atomic, Size => 32, Address => Register'Address; begin NVIC_STIR := IRQ; end Trigger_Interrupt; begin Register := 16#ffff_ffff#; Trigger_Interrupt (1); end; -- { dg-final { scan-tree-dump "atomic_store_4" "gimple" } }