]> git.ipfire.org Git - thirdparty/gcc.git/commit
ada: Specialize syntax error on malformed Abstract_State contract
authorPiotr Trojanek <trojanek@adacore.com>
Thu, 6 Mar 2025 09:01:35 +0000 (10:01 +0100)
committerMarc Poulhiès <dkm@gcc.gnu.org>
Mon, 9 Jun 2025 06:32:08 +0000 (08:32 +0200)
commitfd98d3b9b1cb3109a36957a401ba7bc7097ca267
treee74bf679752db6f5f39b51913dda035d8038fa6d
parent31b7b7518e5842509e8fdbef6dc38e6a4ce28396
ada: Specialize syntax error on malformed Abstract_State contract

Syntax for the Abstract_State contract is the same as for extended aggregates,
but conceptually they are completely different. This patch specializes error
messages emitted on syntax errors for these constructs.

gcc/ada/ChangeLog:

* par-ch13.adb (Get_Aspect_Specifications): Save and restore flag while
parsing aspect Abstract_State.
* par-ch2.adb (P_Pragma): Same while parsing pragma Abstract_State.
* par-ch4.adb (P_Aggregate_Or_Paren_Expr): Specialize error message
for contract Abstract_State and extended aggregate.
* par.adb (Inside_Abstract_State): Add new context flag.
gcc/ada/par-ch13.adb
gcc/ada/par-ch2.adb
gcc/ada/par-ch4.adb
gcc/ada/par.adb