[Bug c++/56025] New: ARM NEON polynomial types have broken overload resolution
Tim.Northover at arm dot com
gcc-bugzilla@gcc.gnu.org
Fri Jan 18 09:39:00 GMT 2013
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56025
Bug #: 56025
Summary: ARM NEON polynomial types have broken overload
resolution
Classification: Unclassified
Product: gcc
Version: 4.8.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: c++
AssignedTo: unassigned@gcc.gnu.org
ReportedBy: Tim.Northover@arm.com
While investigating bug #56024, we discovered this problem in the same area.
Essentially, GCC has semi-special builtin types to cover poly8_t and poly16_t
defined in arm_neon.h.
These types are used by G++ when calculating the overload resolution. The
following two functions can both be defined with no issues in the front-end:
#include <arm_neon.h>
void foo(short s) {}
void foo(__builtin_neon_poly16 s) {}
However, in the resulting assembly they are both mangled as _Z3foos, which
causes a conflict.
This mangling area is likely to be affected by any change fixing 56024, so a
sensible combined solution might be a good idea.
More information about the Gcc-bugs
mailing list