sem_prag.adb (Analyze_Pragma): Pragma Volatile_Function should not apply to a functio...
authorHristian Kirtchev <kirtchev@adacore.com>
Fri, 23 Oct 2015 12:19:35 +0000 (12:19 +0000)
committerArnaud Charlet <charlet@gcc.gnu.org>
Fri, 23 Oct 2015 12:19:35 +0000 (14:19 +0200)
commit576da1ea413f42fceb2294db6bc38ab38f952e1b
treee0a7e50503fba5672f4b7d39a36b225374738a8d
parent3e5bb7eeceab11d8c3167ee03c179660c48a83dc
sem_prag.adb (Analyze_Pragma): Pragma Volatile_Function should not apply to a function instantiation.

2015-10-23  Hristian Kirtchev  <kirtchev@adacore.com>

* sem_prag.adb (Analyze_Pragma): Pragma Volatile_Function should
not apply to a function instantiation.
* sem_util.adb (Has_Effectively_Volatile_Profile): New routine.
(Is_Volatile_Function): An instance of Ada.Unchecked_Conversion
is a volatile function when its profile contains an effectively
volatile type.
* sem_util.ads (Has_Effectively_Volatile_Profile): New routine.

From-SVN: r229238
gcc/ada/ChangeLog
gcc/ada/sem_prag.adb
gcc/ada/sem_util.adb
gcc/ada/sem_util.ads