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

--- Comment #37 from GCC Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Jonathan Yong <[email protected]>:

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

commit r17-441-ge06a4a3bedb86b6866da851f256ecf1f072ecf2c
Author: LIU Hao <[email protected]>
Date:   Fri May 8 21:02:23 2026 +0800

    mingw: Ensure symbols are quoted in Intel syntax

    Previously, this code

       extern int shl;
       int get_shl(void) { return shl; }

    gave errors like

       $ x86_64-w64-mingw32-gcc -masm=intel test.c
       ccUSyr0f.s: Assembler messages:
       ccUSyr0f.s:24: Error: invalid use of operator "shl"

    because it contained

       .refptr.shl:
           .quad   shl

    This `shl` should have referenced the symbol, but it appeared in an
expression
    context, where, in Intel syntax, it got interpreted as the shift-left
operator.

    This commit fixes the issue by emitting the target symbol with
    `ASM_OUTPUT_LABELREF`, which will quote it properly with regard to the
output
    assembler syntax.

            PR target/53929

    gcc/ChangeLog:

            * config/mingw/winnt.cc (mingw_pe_file_end): Use
`ASM_OUTPUT_LABELREF`
            to emit `name`.

    Signed-off-by: LIU Hao <[email protected]>
    Signed-off-by: Jonathan Yong <[email protected]>

Reply via email to