diff -Naurp gcc/config/avr/avr.c gcc/config/avr/avr.c --- gcc/config/avr/avr.c 2011-02-07 16:17:20.000000000 -0600 +++ gcc/config/avr/avr.c 2011-02-07 16:12:53.000000000 -0600 @@ -202,6 +202,9 @@ static const struct attribute_spec avr_a #undef TARGET_SCALAR_MODE_SUPPORTED_P #define TARGET_SCALAR_MODE_SUPPORTED_P avr_scalar_mode_supported_p +#undef TARGET_FIXED_POINT_SUPPORTED_P +#define TARGET_FIXED_POINT_SUPPORTED_P avr_fixed_point_supported_p + #undef TARGET_INIT_BUILTINS #define TARGET_INIT_BUILTINS avr_init_builtins @@ -219,6 +222,17 @@ static const struct attribute_spec avr_a return default_scalar_mode_supported_p (mode); } + /* Implement TARGET_FIXED_POINT_SUPPORTED_P. */ + static bool + avr_fixed_point_supported_p () + { + if (AVR_TINY) + return false; + + return default_fixed_point_supported_p (); + } + + struct gcc_target targetm = TARGET_INITIALIZER; void diff -Naurp gcc/config/fixed-bit.c gcc/config/fixed-bit.c --- gcc/config/fixed-bit.c 2009-04-09 10:00:19.000000000 -0500 +++ gcc/config/fixed-bit.c 2011-02-07 16:12:53.000000000 -0600 @@ -41,7 +41,7 @@ see the files COPYING3 and COPYING.RUNTI Floating-point: SF, DF Ex: If we define FROM_QQ and TO_SI, the conversion from QQ to SI is generated. */ - +#if !defined (__AVR_TINY__) #include "tconfig.h" #include "tsystem.h" #include "coretypes.h" @@ -1213,4 +1213,4 @@ SATFRACT (FROM_FLOAT_C_TYPE a) return c; } #endif /* defined(SATFRACT) && FROM_TYPE == 3 && TO_TYPE == 4 */ - +#endif /* __AVR_TINY__ */