Commit 7366d29a by Piotr Trojanek Committed by Pierre-Marie de Rodat

[Ada] Set Etype on rewriteen Max_Queue_Length expressions

Rewriting of Max_Queue_Length expression into N_Integer_Literal should probably
be done in expansion and not in analysis, but anyway it should not strip the
expression from its Etype because backends (e.g. GNATprove) expect that Etype
to be present.

No frontend test is provided, because GNAT doesn't care about the missing
Etype decoration. This patch allows to simplify AST processing in GNATprove.

2018-05-31  Piotr Trojanek  <trojanek@adacore.com>

gcc/ada/

	* sem_prag.adb (Analyze_Pragma): Set Etype on the rewritten
	Max_Queue_Length expression.

From-SVN: r261002
parent 81a95941
2018-05-31 Piotr Trojanek <trojanek@adacore.com>
* sem_prag.adb (Analyze_Pragma): Set Etype on the rewritten
Max_Queue_Length expression.
2018-05-31 Sergey Rybin <rybin@adacore.com>
* doc/gnat_ugn/gnat_and_program_execution.rst: gnatelim does not need
......
......@@ -18833,6 +18833,7 @@ package body Sem_Prag is
if Nkind (Arg) /= N_Integer_Literal then
Rewrite (Arg, Make_Integer_Literal (Sloc (Arg), Val));
Set_Etype (Arg, Etype (Original_Node (Arg)));
end if;
Record_Rep_Item (Entry_Id, N);
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment