home *** CD-ROM | disk | FTP | other *** search
/ OpenStep 4.2J (Developer) / os42jdev.iso / NextDeveloper / Source / GNU / gcc / config / m68k / m68kemb.h < prev    next >
Text File  |  1995-12-11  |  2KB  |  44 lines

  1. /* Definitions of target machine for GNU compiler.  "embedded" 68XXX.
  2.    This is meant to be included after m68k.h.
  3.    Copyright (C) 1994, 1995 Free Software Foundation, Inc.  */
  4.  
  5. #define PTRDIFF_TYPE "long int"
  6. #define SIZE_TYPE "long unsigned int"
  7.  
  8. /* In order for bitfields to work on a 68000, or with -mnobitfield, we must
  9.    define either PCC_BITFIELD_TYPE_MATTERS or STRUCTURE_SIZE_BOUNDARY.
  10.    Defining STRUCTURE_SIZE_BOUNDARY results in structure packing problems,
  11.    so we define PCC_BITFIELD_TYPE_MATTERS.  */
  12. #define PCC_BITFIELD_TYPE_MATTERS 1
  13.  
  14. /* Undef PCC_STATIC_STRUCT_RETURN so that we get a re-entrant calling
  15.    convention.  */
  16. #undef PCC_STATIC_STRUCT_RETURN
  17.  
  18. /* Don't default to pcc-struct-return, so that we can return small structures
  19.    and unions in registers, which is slightly more efficient.  */
  20. #define DEFAULT_PCC_STRUCT_RETURN 0
  21.  
  22. /* Return floating point values in a fp register.  This make fp code a
  23.    little bit faster.  It also makes -msoft-float code incompatible with
  24.    -m68881 code, so people have to be careful not to mix the two.  */
  25. #undef FUNCTION_VALUE
  26. #define FUNCTION_VALUE(VALTYPE,FUNC) LIBCALL_VALUE (TYPE_MODE (VALTYPE))
  27.  
  28. #undef LIBCALL_VALUE
  29. #define LIBCALL_VALUE(MODE)                                                \
  30.  gen_rtx (REG, (MODE),                                                     \
  31.           ((TARGET_68881                                                   \
  32.             && ((MODE) == SFmode || (MODE) == DFmode || (MODE) == XFmode)) \
  33.            ? 16 : 0))
  34.  
  35. #undef FUNCTION_VALUE_REGNO_P
  36. #define FUNCTION_VALUE_REGNO_P(N) ((N) == 0 || (TARGET_68881 && (N) == 16))
  37.  
  38. #undef NEEDS_UNTYPED_CALL
  39. #define NEEDS_UNTYPED_CALL 1
  40.  
  41. /* crt0.o should be specified in the linker script.  */
  42. #undef STARTFILE_SPEC
  43. #define STARTFILE_SPEC ""
  44.