This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug c++/62150] New: test case g++.dg/ext/arm-fp16/fp16-mangle-1.C failed on ARM
- From: "amker.cheng at gmail dot com" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Fri, 15 Aug 2014 02:25:45 +0000
- Subject: [Bug c++/62150] New: test case g++.dg/ext/arm-fp16/fp16-mangle-1.C failed on ARM
- Auto-submitted: auto-generated
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.