------- Additional Comments From sgk at troutmask dot apl dot washington dot
edu 2005-03-08 23:52 -------
The gfortran frontend defines the two options -i8 and -r8 in gfortran/lang.opt.
gcc/opts.sh appears to process lang.opt without a problem, because the produced
options.h file contains OPT_i8 and OPT_r8. However, neither -i8 nor -r8 is
passed to gfc_handle_option, which is defined to LANG_HOOKS_HANDLE_OPTION
in f95-lang.c.
I have added some debugging printfs to gfc_handle_option
int
gfc_handle_option (size_t scode, const char *arg, int value)
{
int result = 1;
enum opt_code code = (enum opt_code) scode;
printf("code = %d ", code);
if (arg != NULL) printf("arg = %s ", arg);
printf("value = %d\n", value);
The execution of gfortran shows that gfc_handle_option is
never called if -i8 or -r8 is specified.
troutmask:sgk[307] gfc41 -static -o kl -d8 kl.f90
code = 138 value = 1
troutmask:sgk[308] gfc41 -static -o kl -r8 kl.f90
gfc41: unrecognized option '-r8'
troutmask:sgk[309] gfc41 -static -o kl -i8 kl.f90
Note, -d8 is OPT_d8 in options.h and it is passed to gfc_handle_option.
So, it appears that some magic parsing of command line arguments occurs
before gfc_handle_option is called. Is there someway to inhibit this
magic??
BTW, I have a patch that actually makes -d8 work.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=13464