C++ testcase (compile with -maltivec): struct SubData { inline const Float Clamp(Float f, Float f0, Float f1) } inline const void SinCos(Float angle, Float& sine, Float& cosine) { C0 = __builtin_vec_splat(_simdCosEstCoefficients, 0); C1 = __builtin_vec_splat(_simdCosEstCoefficients, 1);
------------------- cable.ii:3: error: 'Float' does not name a type cable.ii:5: error: 'Float' has not been declared cable.ii:5: error: 'Float' has not been declared cable.ii:5: error: 'Float' has not been declared cable.ii:8: error: expected `}' at end of input cable.ii: In member function 'const void SubData::SinCos(int, int&, int&)': cable.ii:7: error: 'C0' was not declared in this scope cable.ii:7: error: '_simdCosEstCoefficients' was not declared in this scope cable.ii:8: error: 'C1' was not declared in this scope cable.ii:8: internal compiler error: tree check: expected class 'type', have 'exceptional' (error_mark) in cxx_types_compatible_p, at cp/cp-objcp-common.c:173 Please submit a full bug report, with preprocessed source if appropriate. See <URL:http://gcc.gnu.org/bugs.html> for instructions. -- Summary: ICE with __builtin_vec_splat Product: gcc Version: 4.3.0 Status: UNCONFIRMED Keywords: ice-on-valid-code, error-recovery Severity: minor Priority: P3 Component: target AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: pinskia at gcc dot gnu dot org GCC target triplet: powerpc64-linux-gnu http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31558