-- Start of processing for Prescan_Message
begin
- -- Nothing to do for continuation line, unless -gnatdF is set
+ -- Continuation lines need to check only for insertion sequences.
+ -- Other attributes should be inherited from the main message.
+
+ if Msg (Msg'First) = '\' then
+ Has_Insertion_Line := False;
+
+ J := Msg'First;
+
+ -- If we have a quote, don't look at following character
+
+ while J <= Msg'Last loop
+ if Msg (J) = ''' then
+ J := J + 2;
+
+ -- Insertion line (# insertion)
+
+ elsif Msg (J) = '#' then
+ Has_Insertion_Line := True;
+ J := J + 1;
+ else
+ J := J + 1;
+ end if;
+ end loop;
- if not Debug_Flag_FF and then Msg (Msg'First) = '\' then
return;
-- Some global variables are not set for continuation messages, as they
-- only make sense for the initial message.
- elsif Msg (Msg'First) /= '\' then
+ else
-- Set initial values of globals (may be changed during scan)
-- test these values before doing the full error scan.
--
-- Note that the call has no effect for continuation messages (those whose
- -- first character is '\'), and all variables are left unchanged, unless
- -- -gnatdF is set.
+ -- first character is '\') except for the Has_Insertion_Line setting.
procedure Purge_Messages (From : Source_Ptr; To : Source_Ptr);
-- All error messages whose location is in the range From .. To (not