* gfortran.h (gfc_add_intrinsic_modules_path, gfc_open_intrinsic_module): New prototypes. (gfc_add_include_path, gfc_open_included_file): Update prototypes. * lang.opt: Add -fintrinsic-modules-path option. * module.c (gfc_match_use): Match the Fortran 2003 form of USE statement. (gfc_use_module): Also handle intrinsic modules. * scanner.c (gfc_directorylist): Add use_for_modules for field. (intrinsic_modules_dirs): New static variable. (add_path_to_list, gfc_add_intrinsic_modules_path): New functions. (gfc_add_include_path): Use the new add_path_to_list helper function. (gfc_release_include_path): Free memory for intrinsic_modules_dirs. (open_included_file, gfc_open_intrinsic_module): New functions. (gfc_open_included_file): Use the new open_included_file helper function. * lang-specs.h: Use the new -fintrinsic-modules-path option. * parse.c (decode_statement): Do not match the required space after USE here. * options.c (gfc_handle_option): Handle the new option. Use new prototype for gfc_add_include_path. (gfc_post_options): Use new prototype for gfc_add_include_path. * gfortran.dg/use_1.f90: New test. * gfortran.dg/use_1.f90: New test. * gfortran.dg/use_1.f90: New test. From-SVN: r118930
36 lines
1.6 KiB
C
36 lines
1.6 KiB
C
/* Contribution to the specs for the GNU Compiler Collection
|
|
from GNU Fortran 95 compiler.
|
|
Copyright (C) 2002, 2003, 2004, 2006 Free Software Foundation, Inc.
|
|
|
|
This file is licensed under the GPL. */
|
|
|
|
/* This is the contribution to the `default_compilers' array in gcc.c
|
|
for the f95 language. */
|
|
|
|
{".F", "@f77-cpp-input", 0, 0, 0},
|
|
{".fpp", "@f77-cpp-input", 0, 0, 0},
|
|
{".FPP", "@f77-cpp-input", 0, 0, 0},
|
|
{"@f77-cpp-input",
|
|
"cc1 -E -lang-fortran -traditional-cpp -D_LANGUAGE_FORTRAN %(cpp_options) \
|
|
%{E|M|MM:%(cpp_debug_options)}\
|
|
%{!M:%{!MM:%{!E: -o %|.f |\n\
|
|
f951 %|.f %{!ffree-form:-ffixed-form} %(cc1_options) %{J*} %{I*}\
|
|
-fpreprocessed %{!nostdinc:-fintrinsic-modules-path finclude%s} %{!fsyntax-only:%(invoke_as)}}}}", 0, 0, 0},
|
|
{".F90", "@f95-cpp-input", 0, 0, 0},
|
|
{".F95", "@f95-cpp-input", 0, 0, 0},
|
|
{"@f95-cpp-input",
|
|
"cc1 -E -lang-fortran -traditional-cpp -D_LANGUAGE_FORTRAN %(cpp_options) \
|
|
%{E|M|MM:%(cpp_debug_options)}\
|
|
%{!M:%{!MM:%{!E: -o %|.f95 |\n\
|
|
f951 %|.f95 %{!ffixed-form:-ffree-form} %(cc1_options) %{J*} %{I*}\
|
|
-fpreprocessed %{!nostdinc:-fintrinsic-modules-path finclude%s} %{!fsyntax-only:%(invoke_as)}}}}", 0, 0, 0},
|
|
{".f90", "@f95", 0, 0, 0},
|
|
{".f95", "@f95", 0, 0, 0},
|
|
{"@f95", "%{!E:f951 %i %(cc1_options) %{J*} %{I*}\
|
|
%{!nostdinc:-fintrinsic-modules-path finclude%s} %{!fsyntax-only:%(invoke_as)}}", 0, 0, 0},
|
|
{".f", "@f77", 0, 0, 0},
|
|
{".for", "@f77", 0, 0, 0},
|
|
{".FOR", "@f77", 0, 0, 0},
|
|
{"@f77", "%{!E:f951 %i %{!ffree-form:-ffixed-form} %(cc1_options) %{J*} %{I*}\
|
|
%{!nostdinc:-fintrinsic-modules-path finclude%s} %{!fsyntax-only:%(invoke_as)}}", 0, 0, 0},
|