Given:

typedef short vSInt16 __attribute__ (( __vector_size__ (16) ));
void f(vSInt16 a) { }

typedef short vSInt8 __attribute__ (( __vector_size__ (8) ));
void f(vSInt8 a) {}

we need to decide what to do with it, what mangling should be used on so on.

The expected result was that the file would compile and assemble, producing an
object file.  The two versions of function f would have different names because
their arguments are of different types.

instead we get the following diagnostic from the assembler:
  /var/rmp//ccmrZpNN.s:18:FATAL:Symbol __Z1fu8__vectors already defined


-- 
           Summary: vector abi decision
           Product: gcc
           Version: 4.2.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c++
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: mrs at apple dot com


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=25963

Reply via email to