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