https://gcc.gnu.org/bugzilla/show_bug.cgi?id=118329
Bug ID: 118329 Summary: avr defines __int24 but doesn't define __GLIBCXX_TYPE_INT_N_0 Product: gcc Version: 15.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: target Assignee: unassigned at gcc dot gnu.org Reporter: redi at gcc dot gnu.org CC: avr at gjlay dot de Target Milestone: --- Target: avr Targets that define integers with non-standard sizes should inform libstdc++ of the existence and bitwidth of those types. So avr should define __GLIBCXX_TYPE_INT_N_0 to __int24 and define __GLIBCXX_BITSIZE_INT_N_0 to 24. On IRC jakub said: config/avr/avr-modes.def doesn't have the INT_N (PSI, 24); line after FRACTIONAL_INT_MODE line so, from middle-end POV, it is as if __int24 doesn't exist, and then the backend probably registers it by hand most likely it has been written like that before __intNN support was generalized and maybe avr wasn't converted? avr uses FRACTIONAL_INT_MODE while e.g. msp430 uses PARTIAL_INT_MODE, don't remember the difference