https://gcc.gnu.org/g:35246c61b671aeb1f6fe92fe240545b9f956fbdc

commit 35246c61b671aeb1f6fe92fe240545b9f956fbdc
Author: James K. Lowden <jklow...@symas.com>
Date:   Mon Mar 10 16:05:54 2025 +0100

    COBOL: misc
    
    gcc/
            * Makefile.in (installdirs): Create man3 directory.
            * common.opt (static-libgcobol): New driver option.
            * dwarf2out.cc (gen_compile_unit_die): Support Cobol as
            source language.

Diff:
---
 gcc/Makefile.in  | 3 +++
 gcc/common.opt   | 4 ++++
 gcc/dwarf2out.cc | 5 +++++
 3 files changed, 12 insertions(+)

diff --git a/gcc/Makefile.in b/gcc/Makefile.in
index 10a42cb1dd7d..5477aea882ab 100644
--- a/gcc/Makefile.in
+++ b/gcc/Makefile.in
@@ -748,6 +748,7 @@ datadir = @datadir@
 localedir = $(datadir)/locale
 # Extension (if any) to put in installed man-page filename.
 man1ext = .1
+man3ext = .3
 man7ext = .7
 objext = .o
 exeext = @host_exeext@
@@ -756,6 +757,7 @@ build_exeext = @build_exeext@
 # Directory in which to put man pages.
 mandir = @mandir@
 man1dir = $(mandir)/man1
+man3dir = $(mandir)/man3
 man7dir = $(mandir)/man7
 # Dir for temp files.
 tmpdir = /tmp
@@ -4031,6 +4033,7 @@ installdirs:
        $(mkinstalldirs) $(DESTDIR)$(includedir)
        $(mkinstalldirs) $(DESTDIR)$(infodir)
        $(mkinstalldirs) $(DESTDIR)$(man1dir)
+       $(mkinstalldirs) $(DESTDIR)$(man3dir)
        $(mkinstalldirs) $(DESTDIR)$(man7dir)
 
 PLUGIN_HEADERS = $(TREE_H) $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \
diff --git a/gcc/common.opt b/gcc/common.opt
index 4c2560a0632f..c533ca331b8a 100644
--- a/gcc/common.opt
+++ b/gcc/common.opt
@@ -3892,6 +3892,10 @@ static-libgfortran
 Driver
 ; Documented for Fortran, but always accepted by driver.
 
+static-libgcobol
+Driver
+; Documented for COBOL, but always accepted by driver.
+
 static-libgm2
 Driver
 ; Documented for Modula-2, but always accepted by driver.
diff --git a/gcc/dwarf2out.cc b/gcc/dwarf2out.cc
index ed7d9402200e..42f72c1b89dd 100644
--- a/gcc/dwarf2out.cc
+++ b/gcc/dwarf2out.cc
@@ -25448,6 +25448,8 @@ gen_compile_unit_die (const char *filename)
     }
   else if (strcmp (language_string, "GNU F77") == 0)
     language = DW_LANG_Fortran77;
+  else if (strcmp (language_string, "Cobol") == 0)
+    language = DW_LANG_Cobol85;
   else if (strcmp (language_string, "GNU Modula-2") == 0)
     language = DW_LANG_Modula2;
   else if (dwarf_version >= 3 || !dwarf_strict)
@@ -25504,6 +25506,9 @@ gen_compile_unit_die (const char *filename)
         lowercases everything.  */
       add_AT_unsigned (die, DW_AT_identifier_case, DW_ID_down_case);
       break;
+    case DW_LANG_Cobol85:
+      add_AT_unsigned (die, DW_AT_identifier_case, DW_ID_case_insensitive);
+      break;
     default:
       /* The default DW_ID_case_sensitive doesn't need to be specified.  */
       break;

Reply via email to