diff options
author | charlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4> | 2007-06-06 10:26:28 +0000 |
---|---|---|
committer | charlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4> | 2007-06-06 10:26:28 +0000 |
commit | d6d3ae55e2724f500940d3fbd403202beec8eaf2 (patch) | |
tree | 306a618d496aad9d78dd0fdaf4349a1b15d973a2 /gcc/ada/exp_dbug.adb | |
parent | 4961db87b110ff3c1ceb8f3b3152146c58d71e78 (diff) | |
download | gcc-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.adb | 23 |
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; |