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.