typeof_unqual does not remove qualifiers from qualified array types (original) (raw)
Clang does not remove qualifiers from qualified array types, i.e. array types with qualified element types with typeof_unqual in some situations. See GCC bug 112841 which has the following example:
const char* const animals[] = { "aardvark", "bluejay", "catte", }; int main (int argc, char* argv[]) { const char* animals2_array1[3]; typeof_unqual(animals) animals2_array; animals2_array1[0] = 0; animals2_array[0] = 0; return 0; }
Clang has typeof_unqual(animals) result in a const qualified type which results in the assignment animals2_array[0] = 0; failing.