aboutsummaryrefslogtreecommitdiff
path: root/gcc/ada/lib-load.adb
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/ada/lib-load.adb')
-rw-r--r--gcc/ada/lib-load.adb10
1 files changed, 9 insertions, 1 deletions
diff --git a/gcc/ada/lib-load.adb b/gcc/ada/lib-load.adb
index 59adabc..d5ea087 100644
--- a/gcc/ada/lib-load.adb
+++ b/gcc/ada/lib-load.adb
@@ -313,6 +313,7 @@ package body Lib.Load is
Is_Predefined_Renaming_File_Name (Fname);
GNAT_Name : constant Boolean :=
Is_GNAT_File_Name (Fname);
+ Saved_Error_Count : constant Nat := Total_Errors_Detected;
Version : Word := 0;
begin
@@ -336,7 +337,14 @@ package body Lib.Load is
if Main_Source_File > No_Source_File then
Version := Source_Checksum (Main_Source_File);
- else
+ -- If we get here and Saved_Error_Count /= Total_Errors_Detected,
+ -- then an error occurred during preprocessing. In this case
+ -- we have already generated an error message during preprocessing
+ -- and we do not want to emit an incorrect "file foo.adb not found"
+ -- message here.
+
+ elsif Saved_Error_Count = Total_Errors_Detected then
+
-- To avoid emitting a source location (since there is no file),
-- we write a custom error message instead of using the machinery
-- in errout.adb.