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