https://gcc.gnu.org/g:aacaa3b13bca508cb6cb803d11cb942b2de8c0db

commit r16-463-gaacaa3b13bca508cb6cb803d11cb942b2de8c0db
Author: Rainer Orth <r...@cebitec.uni-bielefeld.de>
Date:   Thu May 8 09:21:45 2025 +0200

    cobol: Don't require GLOB_BRACE etc. [PR119217]
    
    cdf-copy.cc doesn't compile on Solaris:
    
    /vol/gcc/src/hg/master/local/gcc/cobol/cdf-copy.cc: In member function ‘int
    copybook_elem_t::open_file(const char*, bool)’:
    /vol/gcc/src/hg/master/local/gcc/cobol/cdf-copy.cc:317:34: error:
    ‘GLOB_BRACE’ was not declared in this scope; did you mean ‘GLOB_ERR’?
      317 |   static int flags = GLOB_MARK | GLOB_BRACE | GLOB_TILDE;
          |                                  ^~~~~~~~~~
          |                                  GLOB_ERR
    /vol/gcc/src/hg/master/local/gcc/cobol/cdf-copy.cc:317:47: error:
    ‘GLOB_TILDE’ was not declared in this scope
      317 |   static int flags = GLOB_MARK | GLOB_BRACE | GLOB_TILDE;
          |                                               ^~~~~~~~~~
    
    GLOB_BRACE and GLOB_TILDE are BSD extensions not in POSIX.1, thus
    missing on Solaris probably due to its System V heritage.
    
    This patch introduces fallback definitions to avoid this.
    
    Bootstrapped without regressions on amd64-pc-solaris2.11,
    sparcv9-sun-solaris2.11, and x86_64-pc-linux-gnu.
    
    2025-04-08  Rainer Orth  <r...@cebitec.uni-bielefeld.de>
    
            gcc/cobol:
            PR cobol/119217
            * cdf-copy.cc (GLOB_BRACE): Define fallback.
            (GLOB_TILDE): Likewise.

Diff:
---
 gcc/cobol/cdf-copy.cc | 10 ++++++++++
 1 file changed, 10 insertions(+)

diff --git a/gcc/cobol/cdf-copy.cc b/gcc/cobol/cdf-copy.cc
index 2e4bfb623d1e..059596c08f41 100644
--- a/gcc/cobol/cdf-copy.cc
+++ b/gcc/cobol/cdf-copy.cc
@@ -42,6 +42,16 @@
 #include "util.h"
 #include "copybook.h"
 
+// GLOB_BRACE and GLOB_TILDE are BSD extensions.  Provide fallback definitions
+// if necessary.
+#ifndef GLOB_BRACE
+#define GLOB_BRACE 0
+#endif
+
+#ifndef GLOB_TILDE
+#define GLOB_TILDE 0
+#endif
+
 #define COUNT_OF(X) (sizeof(X) / sizeof(X[0]))
 
 /*

Reply via email to