https://gcc.gnu.org/bugzilla/show_bug.cgi?id=126854

            Bug ID: 126854
           Summary: CALL ... USING "literal" should be passed by CONTENT
                    -> is this implied with -Wno-call-literal?
           Product: gcc
           Version: 17.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: cobol
          Assignee: unassigned at gcc dot gnu.org
          Reporter: simonsobisch at gnu dot org
  Target Milestone: ---

That's very likely an extension, just not supported by gcobol (also not with
dialect gnu - while GnuCOBOL supports that)


           call "SYSTEM" using "ls * > ls.out"

GCC15 had a parsing error, GCC16 changed that to 

<source>:11:32: error: cannot pass 'ls * > ls.out' BY REFERENCE
[-Wcall-literal]
   11 |            call "SYSTEM" using "ls * > ls.out"
      |                                ^~~~~~~~~~~~~~~ 

and compiles with -Wno-call-literal (which may should be "included" in -dialect
gnu).

But ... is the literal actually copied to a local variable of that size and
then this data-copy passed BY REFERENCE under the hood (which is what BY
CONTENT does)?

Reply via email to