5

I'm porting an application from using char* for everything and everywhere to using UCS4 as it's internal Unicode representation. I use C11's U"unicode literals" for defining strings, which expand to arrays of char32_t, which are uint32_t essentially.

Problem is with properly annotating printf-like functions. As "format" is no longer char*, compiler refuses to compile it further, as well it won't be happy with char32_t * instead of char * for %s format, I suppose.

I don't depend on stdlib *printf family at all, so formatting is done purely by mine implementation.

What is correct solution for this, other than just disable this attribute altogether?

4

1 回答 1

1

目前在 GCC 中没有办法做到这一点。这是一个已知错误,请参阅GCC 错误 64862

于 2015-02-17T15:21:49.603 回答