-- flag also suppresses the additional messages explaining why a
-- non-static expression is non-static (see Sem_Eval.Why_Not_Static).
-- This avoids having to worry about these messages in ACATS testing.
+ -- Finally, this flag is also used for strict legality check, in
+ -- particular it will generate an error instead a warning when
+ -- encountering an unknown pragma.
-- d3 Causes Comperr to dump the contents of the node for which an abort
-- was detected (normally only the Node_Id of the node is output).
Result := True;
else
Scan; -- past identifier
- Result := Token = Tok_Arrow or else
- Token = Tok_Comma or else
- Token = Tok_Semicolon;
+ Result := Token in Tok_Arrow | Tok_Comma | Tok_Is | Tok_Semicolon;
end if;
-- If earlier than Ada 2012, check for valid aspect identifier (possibly
-- defaulted True value. Further checks when analyzing aspect
-- specification, which may include further aspects.
- elsif Token = Tok_Comma or else Token = Tok_Semicolon then
+ elsif Token in Tok_Comma | Tok_Semicolon then
Result := True;
elsif Token = Tok_Apostrophe then
-- The aspect mark is not recognized
if A_Id = No_Aspect then
- Error_Msg_N ("& is not a valid aspect identifier", Token_Node);
+ Error_Msg_Warn := not Debug_Flag_2;
+ Error_Msg_N ("<<& is not a valid aspect identifier", Token_Node);
OK := False;
-- Check bad spelling
if Is_Bad_Spelling_Of (Token_Name, Aspect_Names (J)) then
Error_Msg_Name_1 := Aspect_Names (J);
Error_Msg_N -- CODEFIX
- ("\possible misspelling of%", Token_Node);
+ ("\<<possible misspelling of%", Token_Node);
exit;
end if;
end loop;