On Wed, Mar 28, 2012 at 9:33 PM, H.J. Lu <hjl.to...@gmail.com> wrote:

> What do we do with TARGET_64BIT and TARGET_64BIT_DEFAULT?  They
> are used to indicate 64bit ISA like:
>
> collect2.c:/* TARGET_64BIT may be defined to use driver specific
> functionality. */
> collect2.c:#undef TARGET_64BIT
> collect2.c:#define TARGET_64BIT TARGET_64BIT_DEFAULT
> reg-stack.c:  if ((flag_pic && !TARGET_64BIT)
> tlink.c:/* TARGET_64BIT may be defined to use driver specific functionality. 
> */
> tlink.c:#undef TARGET_64BIT
> tlink.c:#define TARGET_64BIT TARGET_64BIT_DEFAULT
> xcoffout.c:       if (lno > 0 && (TARGET_64BIT || lno <= (int)USHRT_MAX))     
>      \
> config/darwin.c:               && TARGET_64BIT
> config/darwin.c:           && TARGET_64BIT
> config/darwin.c:                : (TARGET_64BIT ? 2
> config/darwin.c:      if (TARGET_64BIT && global_options.x_flag_objc_abi < 2)
> config/darwin.c:      if (!TARGET_64BIT && global_options.x_flag_objc_abi >= 
> 2)
> config/darwin.c:      && !TARGET_64BIT)
> config/darwin.c:  if (!TARGET_64BIT)                            \
> config/darwin.c:  if (!TARGET_64BIT                                           
>     \
> config/darwin.h:                                flag_next_runtime && 
> !TARGET_64BIT;     \
> config/sol2-bi.h:#define WCHAR_TYPE (TARGET_64BIT ? "int" : "long int")
> config/sol2-bi.h:#define WINT_TYPE (TARGET_64BIT ? "int" : "long int")
>
> Should we keep them? Right now I have
>
> #define TARGET_64BIT    OPTION_ARCH_X86_64
>
> and
>
> #define TARGET_64BIT_DEFAULT (OPTION_MASK_ARCH_X86_64 | OPTION_MASK_ISA_64)
>
> Should we go with
>
> OPTION_MASK_ISA_64BIT -> stays the same
> OPTION_MASK_ISA_X86_64 -> OPTION_MASK_ABI_64
> OPTION_MASK_ISA_X32 ->  OPTION_MASK_ABI_X32

Yes, the above is IMO much better. We have to separate ABI and ISA
defines in some meaningful way.

Uros.

Reply via email to