111
|
1 /* Contribution to the specs for the GNU Compiler Collection
|
|
2 from GNU Fortran 95 compiler.
|
131
|
3 Copyright (C) 2002-2018 Free Software Foundation, Inc.
|
111
|
4
|
|
5 This file is free software; you can redistribute it and/or modify
|
|
6 it under the terms of the GNU General Public License as published by
|
|
7 the Free Software Foundation; either version 3 of the License, or
|
|
8 (at your option) any later version.
|
|
9
|
|
10 This file is distributed in the hope that it will be useful,
|
|
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
13 GNU General Public License for more details.
|
|
14
|
|
15 You should have received a copy of the GNU General Public License
|
|
16 along with GCC; see the file COPYING3. If not see
|
|
17 <http://www.gnu.org/licenses/>. */
|
|
18
|
|
19 /* This is the contribution to the `default_compilers' array in gcc.c
|
|
20 for the f95 language. */
|
|
21
|
|
22 /* Identical to gcc.c (cpp_options), but omitting %(cpp_unique_options)
|
|
23 and -fpch-preprocess on -save-temps. */
|
|
24 #define CPP_ONLY_OPTIONS "%1 %{m*} %{f*} %{g*:%{!g0:%{g*} \
|
|
25 %{!fno-working-directory:-fworking-directory}}} \
|
|
26 %{std*&ansi&trigraphs} %{W*&pedantic*} %{w} \
|
|
27 %{O*} %{undef}"
|
|
28
|
|
29 /* Options that f951 should know about, even if not preprocessing. */
|
|
30 #define CPP_FORWARD_OPTIONS "%{i*} %{I*} %{M*}"
|
|
31
|
|
32 #define F951_CPP_OPTIONS "%{!nocpp: -cpp=%g.f90 %{E} %(cpp_unique_options) \
|
|
33 %{E|M|MM:%(cpp_debug_options) " CPP_ONLY_OPTIONS \
|
|
34 " -fsyntax-only};: " CPP_FORWARD_OPTIONS "}"
|
|
35 #define F951_OPTIONS "%(cc1_options) %{J*} \
|
|
36 %{!nostdinc:-fintrinsic-modules-path finclude%s}\
|
|
37 %{!fsyntax-only:%(invoke_as)}"
|
|
38 #define F951_SOURCE_FORM "%{!ffree-form:-ffixed-form}"
|
|
39
|
|
40
|
|
41 {".F", "@f77-cpp-input", 0, 0, 0},
|
|
42 {".FOR", "@f77-cpp-input", 0, 0, 0},
|
|
43 {".FTN", "@f77-cpp-input", 0, 0, 0},
|
|
44 {".fpp", "@f77-cpp-input", 0, 0, 0},
|
|
45 {".FPP", "@f77-cpp-input", 0, 0, 0},
|
|
46 {"@f77-cpp-input",
|
|
47 "f951 %i " F951_SOURCE_FORM " " \
|
|
48 F951_CPP_OPTIONS " %{!E:" F951_OPTIONS "}", 0, 0, 0},
|
|
49 {".f", "@f77", 0, 0, 0},
|
|
50 {".for", "@f77", 0, 0, 0},
|
|
51 {".ftn", "@f77", 0, 0, 0},
|
|
52 {"@f77",
|
|
53 "f951 %i " F951_SOURCE_FORM " \
|
|
54 %{E:%{!cpp:%egfortran does not support -E without -cpp}} \
|
|
55 %{cpp:" F951_CPP_OPTIONS ";: " CPP_FORWARD_OPTIONS "} \
|
|
56 %{!E:" F951_OPTIONS "}", 0, 0, 0},
|
|
57 {".F90", "@f95-cpp-input", 0, 0, 0},
|
|
58 {".F95", "@f95-cpp-input", 0, 0, 0},
|
|
59 {".F03", "@f95-cpp-input", 0, 0, 0},
|
|
60 {".F08", "@f95-cpp-input", 0, 0, 0},
|
|
61 {"@f95-cpp-input",
|
|
62 "f951 %i " F951_CPP_OPTIONS " %{!E:" F951_OPTIONS "}", 0, 0, 0},
|
|
63 {".f90", "@f95", 0, 0, 0},
|
|
64 {".f95", "@f95", 0, 0, 0},
|
|
65 {".f03", "@f95", 0, 0, 0},
|
|
66 {".f08", "@f95", 0, 0, 0},
|
|
67 {"@f95",
|
|
68 "f951 %i %{E:%{!cpp:%egfortran does not support -E without -cpp}}\
|
|
69 %{cpp:" F951_CPP_OPTIONS ";: " CPP_FORWARD_OPTIONS "} \
|
|
70 %{!E:" F951_OPTIONS "}", 0, 0, 0},
|
|
71
|
|
72
|
|
73 #undef CPP_ONLY_OPTIONS
|
|
74 #undef CPP_FORWARD_OPTIONS
|
|
75 #undef F951_SOURCE_FORM
|
|
76 #undef F951_CPP_OPTIONS
|
|
77 #undef F951_OPTIONS
|