This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug c++/62150] New: test case g++.dg/ext/arm-fp16/fp16-mangle-1.C failed on ARM


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

            Bug ID: 62150
           Summary: test case g++.dg/ext/arm-fp16/fp16-mangle-1.C failed
                    on ARM
           Product: gcc
           Version: 5.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c++
          Assignee: unassigned at gcc dot gnu.org
          Reporter: amker.cheng at gmail dot com

Hi,
The test case is like below.
/* { dg-do compile { target arm*-*-* } } */
/* { dg-options "-mfp16-format=ieee" } */

/* Test mangling */

/* { dg-final { scan-assembler "\t.global\t_Z1fPDh" } } */
void f (__fp16 *x) { }

/* { dg-final { scan-assembler "\t.global\t_Z1gPDhS_" } } */
void g (__fp16 *x, __fp16 *y) { }

/* { dg-final { scan-assembler "\t.global\t_ZN1SIDhDhE1iE" } } */
template <typename T, typename U> struct S { static int i; }; 
template <> int S<__fp16, __fp16>::i = 3;

But the generated assembly code is like.

    .weak    _ZN1SIDhDhE1iE
    .section    .data._ZN1SIDhDhE1iE,"awG",%progbits,_ZN1SIDhDhE1iE,comdat
    .align    2
    .type    _ZN1SIDhDhE1iE, %object
    .size    _ZN1SIDhDhE1iE, 4
_ZN1SIDhDhE1iE:
    .word    3
    .ident    "GCC: (GNU) 4.10.0 20140811 (experimental)"

In which _ZN1SIDhDhE1iE is weak, rather than global.

This starts from r213307 and as stated by Jason at
https://gcc.gnu.org/ml/gcc-patches/2014-08/msg01483.html.  It is a bug?

I know little about c++, so better leave it to an expert.

Thanks very much.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]