summaryrefslogtreecommitdiff
path: root/gcc/ada/exp_dbug.adb
diff options
context:
space:
mode:
authorcharlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4>2007-06-06 10:26:28 +0000
committercharlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4>2007-06-06 10:26:28 +0000
commitd6d3ae55e2724f500940d3fbd403202beec8eaf2 (patch)
tree306a618d496aad9d78dd0fdaf4349a1b15d973a2 /gcc/ada/exp_dbug.adb
parent4961db87b110ff3c1ceb8f3b3152146c58d71e78 (diff)
downloadgcc-d6d3ae55e2724f500940d3fbd403202beec8eaf2.tar.gz
2007-04-20 Javier Miranda <miranda@adacore.com>
Nicolas Setton <setton@adacore.com> * exp_dbug.adb (Get_Encoded_Name): Modified to continue providing its functionality when the backend is generating code. Otherwise any serious error reported by the backend calling the frontend routine Error_Msg changes the Compilation_Mode to Check_Semantics, disables the functionality of this routine and causes the generation of spureous additional errors. * exp_dbug.ads (Pointers to Unconstrained Arrays): Document the debugging information now generated by the compiler for fat-pointer types. Document the contents of DW_AT_producer in the GNAT Vendor extensions to DWARF2/3. Document GNAT Vendor extensions to DWARF 2/3 and the "-gdwarf+" switch. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@125402 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/ada/exp_dbug.adb')
-rw-r--r--gcc/ada/exp_dbug.adb23
1 files changed, 16 insertions, 7 deletions
diff --git a/gcc/ada/exp_dbug.adb b/gcc/ada/exp_dbug.adb
index babdef20daf..367ed2d6775 100644
--- a/gcc/ada/exp_dbug.adb
+++ b/gcc/ada/exp_dbug.adb
@@ -6,7 +6,7 @@
-- --
-- B o d y --
-- --
--- Copyright (C) 1996-2006, Free Software Foundation, Inc. --
+-- Copyright (C) 1996-2007, 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- --
@@ -28,7 +28,6 @@ with Alloc; use Alloc;
with Atree; use Atree;
with Debug; use Debug;
with Einfo; use Einfo;
-with Namet; use Namet;
with Nlists; use Nlists;
with Nmake; use Nmake;
with Opt; use Opt;
@@ -492,12 +491,22 @@ package body Exp_Dbug is
Has_Suffix : Boolean;
begin
- -- If not generating code, there is no need to create encoded
- -- names, and problems when the back-end is called to annotate
- -- types without full code generation. See comments at beginning
- -- of Get_External_Name_With_Suffix for additional details.
+ -- If not generating code, there is no need to create encoded names, and
+ -- problems when the back-end is called to annotate types without full
+ -- code generation. See comments in Get_External_Name_With_Suffix for
+ -- additional details.
- if Operating_Mode /= Generate_Code then
+ -- However we do create encoded names if the back end is active, even
+ -- if Operating_Mode got reset. Otherwise any serious error reported
+ -- by the backend calling Error_Msg changes the Compilation_Mode to
+ -- Check_Semantics, which disables the functionality of this routine,
+ -- causing the generation of spurious additional errors.
+
+ -- Couldn't we just test Original_Operating_Mode here? ???
+
+ if Operating_Mode /= Generate_Code
+ and then not Generating_Code
+ then
return;
end if;