diff options
author | Olivier Hainque <hainque@adacore.com> | 2018-06-11 09:42:54 +0000 |
---|---|---|
committer | Olivier Hainque <hainque@gcc.gnu.org> | 2018-06-11 09:42:54 +0000 |
commit | 5cfcd771472e8e99f69e11e601d9adb740a762de (patch) | |
tree | 42ef47589c217b8693df3d8ee58130d4b5627f09 | |
parent | 259cc9a7e0b0feae750601ace489f2cb1fbb8f80 (diff) | |
download | gcc-5cfcd771472e8e99f69e11e601d9adb740a762de.zip gcc-5cfcd771472e8e99f69e11e601d9adb740a762de.tar.gz gcc-5cfcd771472e8e99f69e11e601d9adb740a762de.tar.bz2 |
dwarf2out.c (gen_compile_unit_die): Fallout to DW_LANG_Ada83 for Ada with strict dwarf2.
2018-06-11 Olivier Hainque <hainque@adacore.com>
* dwarf2out.c (gen_compile_unit_die): Fallout to DW_LANG_Ada83
for Ada with strict dwarf2.
testsuite/
* gnat.dg/lang-dw2.adb: New test.
* gnat.dg/lang-dw3.adb: New test.
From-SVN: r261432
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/dwarf2out.c | 3 | ||||
-rw-r--r-- | gcc/testsuite/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/testsuite/gnat.dg/langdw2.adb | 9 | ||||
-rw-r--r-- | gcc/testsuite/gnat.dg/langdw3.adb | 10 |
5 files changed, 32 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 367e91f..2f745a5 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2018-06-11 Olivier Hainque <hainque@adacore.com> + + * dwarf2out.c (gen_compile_unit_die): Fallout to DW_LANG_Ada83 + for Ada with strict dwarf2. + 2018-06-08 Peter Bergner <bergner@vnet.ibm.com> PR target/85755 diff --git a/gcc/dwarf2out.c b/gcc/dwarf2out.c index a6b20b4..8032364 100644 --- a/gcc/dwarf2out.c +++ b/gcc/dwarf2out.c @@ -24460,6 +24460,9 @@ gen_compile_unit_die (const char *filename) /* Use a degraded Fortran setting in strict DWARF2 so is_fortran works. */ else if (strncmp (language_string, "GNU Fortran", 11) == 0) language = DW_LANG_Fortran90; + /* Likewise for Ada. */ + else if (strcmp (language_string, "GNU Ada") == 0) + language = DW_LANG_Ada83; add_AT_unsigned (die, DW_AT_language, language); diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index b18759b..0bdd3aa 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2018-06-11 Olivier Hainque <hainque@adacore.com> + + * gnat.dg/lang-dw2.adb: New test. + * gnat.dg/lang-dw3.adb: New test. + 2018-06-11 Hristian Kirtchev <kirtchev@adacore.com> * gnat.dg/assertion_policy1.adb, gnat.dg/assertion_policy1_pkg.adb, diff --git a/gcc/testsuite/gnat.dg/langdw2.adb b/gcc/testsuite/gnat.dg/langdw2.adb new file mode 100644 index 0000000..5e61ca2 --- /dev/null +++ b/gcc/testsuite/gnat.dg/langdw2.adb @@ -0,0 +1,9 @@ +-- with strict dwarf2, we should produce DW_LANG_Ada83 (0x3) as AT_language + +-- { dg-do compile } +-- { dg-skip-if "No dwarf-2 support" { hppa*-*-hpux* } } +-- { dg-options "-cargs -gdwarf-2 -gstrict-dwarf -dA -margs" } +-- { dg-final { scan-assembler "0x3\[^\n\r\]*AT_language" } } + +procedure Langdw2 is begin null; end; + diff --git a/gcc/testsuite/gnat.dg/langdw3.adb b/gcc/testsuite/gnat.dg/langdw3.adb new file mode 100644 index 0000000..985df2b --- /dev/null +++ b/gcc/testsuite/gnat.dg/langdw3.adb @@ -0,0 +1,10 @@ +-- with dwarf3+ or !strict-dwarf, we should produce DW_LANG_Ada95 (0xd) +-- as AT_language + +-- { dg-do compile } +-- { dg-skip-if "No dwarf-2 support" { hppa*-*-hpux* } } +-- { dg-options "-cargs -gdwarf-3 -dA -margs" } +-- { dg-final { scan-assembler "0xd\[^\n\r\]*AT_language" } } + +procedure Langdw3 is begin null; end; + |