This code: typedef typeof(1.0df) decimal32_t; decimal32_t foo(decimal32_t x) { return x; } int main() { decimal32_t d; d = foo(d); return 0; } gets you: ~/ootbc/personal/ivan$ g++ foo.cc foo.cc:2: internal compiler error: in write_builtin_type, at cp/mangle.c:1852 Please submit a full bug report, with preprocessed source if appropriate. See <http://gcc.gnu.org/bugs.html> for instructions.
Most likely the same issue as PR 39131.
Probably not the same as 39131, because this ices only if the function is declared. Both the typedef and the data declaration compile OK without the function, whereas 39131 seems to ice without any use at all.
It is a duplicate, both have to do with mangling. *** This bug has been marked as a duplicate of 39131 ***