On Wed, 28 Mar 2012, H.J. Lu wrote: > 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
As previously discussed, this use is a bug; TARGET_64BIT should be considered private to back ends and collect2.c should use better-defined target macros or hooks that aren't private to the back end. (I don't know what target macro is being used in collect2 that may be using TARGET_64BIT_DEFAULT indirectly.) > reg-stack.c: if ((flag_pic && !TARGET_64BIT) Logically part of the x86 back end. We should set things up so that architecture-specific passes can actually go in gcc/config/. > 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 Part of collect2. > xcoffout.c: if (lno > 0 && (TARGET_64BIT || lno <= (int)USHRT_MAX)) > \ Logically part of the rs6000 back end (specifically, for AIX). You can ignore it. > 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") I don't know exactly what TARGET_64BIT is intended to mean, architecture-independently, for Darwin and Solaris. -- Joseph S. Myers jos...@codesourcery.com