From 9479ded4471394acb96ecc73c58b90e8825d2380 Mon Sep 17 00:00:00 2001 From: Arnaud Charlet Date: Thu, 4 Oct 2012 11:18:55 +0200 Subject: [multiple changes] 2012-10-04 Robert Dewar * sem_eval.adb (Fold_Str, Fold_Uint, Fold_Ureal): Reset static expression state after Resolve call. 2012-10-04 Robert Dewar * sem_prag.adb (Analyze_Pragma. case Warnngs): Don't make entry in the table for Warnings Off pragmas if within an instance. 2012-10-04 Ed Schonberg * sem_ch9.adb (Analyze_Entry_Body): Transfer Has_Pragma_Unreferenced flag from entry formal to corresponding entity in body, to prevent spurious warnings when pragma is present. 2012-10-04 Robert Dewar * s-bignum.adb (Big_Exp): Raise Storage_Error for ludicrously large results. 2012-10-04 Ed Schonberg * sem_ch3.adb (Check_Duplicate_Aspects): Diagnose properly aspects that appear in the partial and the full view of a type. 2012-10-04 Robert Dewar * sinfo.ads (N_Return_Statement): Removed. 2012-10-04 Tristan Gingold * init.c (__gl_zero_cost_exceptions): Comment it as not used anymore. * bindgen.adb (Gen_Adainit): Do not emit Zero_Cost_Exceptions anymore. 2012-10-04 Thomas Quinot * prep.adb, prepcomp.adb, gprep.adb, opt.ads: New preprocessor switch -a (all source text preserved). From-SVN: r192072 --- gcc/ada/prepcomp.adb | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) (limited to 'gcc/ada/prepcomp.adb') diff --git a/gcc/ada/prepcomp.adb b/gcc/ada/prepcomp.adb index 2da21df..dd64bcb 100644 --- a/gcc/ada/prepcomp.adb +++ b/gcc/ada/prepcomp.adb @@ -6,7 +6,7 @@ -- -- -- B o d y -- -- -- --- Copyright (C) 2003-2010, Free Software Foundation, Inc. -- +-- Copyright (C) 2003-2012, Free Software Foundation, Inc. -- -- -- -- GNAT is free software; you can redistribute it and/or modify it under -- -- terms of the GNU General Public License as published by the Free Soft- -- @@ -60,6 +60,7 @@ package body Prepcomp is Undef_False : Boolean := False; Always_Blank : Boolean := False; Comments : Boolean := False; + No_Deletion : Boolean := False; List_Symbols : Boolean := False; Processed : Boolean := False; end record; @@ -73,6 +74,7 @@ package body Prepcomp is Undef_False => False, Always_Blank => False, Comments => False, + No_Deletion => False, List_Symbols => False, Processed => False); @@ -330,6 +332,16 @@ package body Prepcomp is -- significant. case Sinput.Source (Token_Ptr) is + when 'a' => + + -- All source text preserved (also implies -u) + + if Name_Len = 1 then + Current_Data.No_Deletion := True; + Current_Data.Undef_False := True; + OK := True; + end if; + when 'u' => -- Undefined symbol are False @@ -581,15 +593,15 @@ package body Prepcomp is -- Set the preprocessing flags according to the preprocessing data - if Current_Data.Comments and then not Current_Data.Always_Blank then + if Current_Data.Comments and not Current_Data.Always_Blank then Comment_Deleted_Lines := True; Blank_Deleted_Lines := False; - else Comment_Deleted_Lines := False; Blank_Deleted_Lines := True; end if; + No_Deletion := Current_Data.No_Deletion; Undefined_Symbols_Are_False := Current_Data.Undef_False; List_Preprocessing_Symbols := Current_Data.List_Symbols; -- cgit v1.1