[multiple changes]
authorArnaud Charlet <charlet@gcc.gnu.org>
Fri, 28 Apr 2017 13:37:44 +0000 (15:37 +0200)
committerArnaud Charlet <charlet@gcc.gnu.org>
Fri, 28 Apr 2017 13:37:44 +0000 (15:37 +0200)
commit85be939ea97a39df3c15f2dac34da0cb1d55fc1d
treee9a6a25e4b62db2bbed549c618ac66f5348cbf9f
parent99f8abb6afb37c687776b61eedd8fd6b62c71b76
[multiple changes]

2017-04-28  Bob Duff  <duff@adacore.com>

* sem_util.ads, sem_util.adb (Might_Raise): New function
that replaces Is_Exception_Safe, but has the opposite
sense. Is_Exception_Safe was missing various cases -- calls inside
a pragma Debug, calls inside an 'if' or assignment statement,
etc. Might_Raise now walks the entire subtree looking for things
that can raise.
* exp_ch9.adb (Is_Exception_Safe): Remove.
(Build_Protected_Subprogram_Body): Replace call to
Is_Exception_Safe with "not Might_Raise". Misc cleanup (use
constants where possible).
* exp_ch7.adb: Rename Is_Protected_Body -->
Is_Protected_Subp_Body. A protected_body is something different
in the grammar.

2017-04-28  Eric Botcazou  <ebotcazou@adacore.com>

* inline.adb (Expand_Inlined_Call): Initialize Targ1 variable.
* par-ch3.adb (P_Component_Items): Initialize Decl_Node variable.
(P_Discrete_Choice_List): Initialize Expr_Node variable.
* par-ch9.adb (P_Task): Initialize Aspect_Sloc variable.
(P_Protected): Likewise.
* sem_case.adb (Check_Duplicates):
Add pragma Warnings on variable.
* sem_ch12.adb (Preanalyze_Actuals): Initialize Vis variable.
* sem_ch4.adb (List_Operand_Interps):  Add pragma Warnings on variable.
* sem_ch5.adb (Analyze_Assignment): Initialize Save_Full_Analysis.
(Analyze_Exit_Statement): Initialize Scope_Id variable.
(Analyze_Iterator_Specification): Initialize Bas variable.
* sem_ch9.adb (Allows_Lock_Free_Implementation): Initialize
Error_Count (Satisfies_Lock_Free_Requirements): Likewise.
(Analyze_Accept_Statement): Initialize Task_Nam.

2017-04-28  Hristian Kirtchev  <kirtchev@adacore.com>

* checks.adb (Install_Primitive_Elaboration_Check):
Do not generate an elaboration check if all checks have been
suppressed.

2017-04-28  Ed Schonberg  <schonberg@adacore.com>

* sem_ch13.adb (Analyze_Aspect_Specifications, case
Interrupt_Handler and Attach_Handler): Generate reference
to protected operation to prevent spurious warnings about
unreferenced entities. Previous scheme failed with style checks
enabled.

2017-04-28  Ed Schonberg  <schonberg@adacore.com>

* sem_prag.adb (Relocate_Pragmas_To_Body): A pragma Warnings
that follows an expression function must not be relocated to
the generated body, because it applies to the code that follows.

From-SVN: r247387
16 files changed:
gcc/ada/ChangeLog
gcc/ada/checks.adb
gcc/ada/exp_ch7.adb
gcc/ada/exp_ch9.adb
gcc/ada/inline.adb
gcc/ada/par-ch3.adb
gcc/ada/par-ch9.adb
gcc/ada/sem_case.adb
gcc/ada/sem_ch12.adb
gcc/ada/sem_ch13.adb
gcc/ada/sem_ch4.adb
gcc/ada/sem_ch5.adb
gcc/ada/sem_ch9.adb
gcc/ada/sem_prag.adb
gcc/ada/sem_util.adb
gcc/ada/sem_util.ads