2008-12-09 Daniel Franke <franke.daniel@gmail.com>
authordfranke <dfranke@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 9 Dec 2008 19:25:55 +0000 (19:25 +0000)
committerdfranke <dfranke@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 9 Dec 2008 19:25:55 +0000 (19:25 +0000)
        PR fortran/36457
        * lang.opt: Added option idirafter.
        * cpp.h (gfc_cpp_add_include_path_after): New prototype.
* cpp.c (gfc_cpp_handle_option): Recognize and handle OPT_dirafter.
        (gfc_cpp_add_include_path_after): New, adds user-defined search path
        after any other paths.
        * invoke.texi (idirafter): New.
        (no-range-check): Fixed entry in option-index.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@142607 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/fortran/ChangeLog
gcc/fortran/cpp.c
gcc/fortran/cpp.h
gcc/fortran/invoke.texi
gcc/fortran/lang.opt

index 5c71e8f..9b4bce7 100644 (file)
@@ -1,3 +1,14 @@
+2008-12-09  Daniel Franke  <franke.daniel@gmail.com>
+
+       PR fortran/36457
+       * lang.opt: Added option idirafter.
+       * cpp.h (gfc_cpp_add_include_path_after): New prototype.
+       * cpp.c (gfc_cpp_handle_option): Recognize and handle OPT_dirafter.
+       (gfc_cpp_add_include_path_after): New, adds user-defined search path
+       after any other paths.
+       * invoke.texi (idirafter): New.
+       (no-range-check): Fixed entry in option-index.
+
 2008-12-09  Mikael Morin  <mikael.morin@tele2.fr>
 
        PR fortran/37469
index 51c8e85..d45d0c1 100644 (file)
@@ -346,6 +346,10 @@ gfc_cpp_handle_option (size_t scode, const char *arg, int value ATTRIBUTE_UNUSED
       gfc_cpp_option.working_directory = value;
       break;
 
+    case OPT_idirafter:
+      gfc_cpp_add_include_path_after (xstrdup(arg), true);
+      break;
+
     case OPT_imultilib:
       gfc_cpp_option.multilib = arg;
       break;
@@ -634,6 +638,13 @@ gfc_cpp_add_include_path (char *path, bool user_supplied)
 }
 
 void
+gfc_cpp_add_include_path_after (char *path, bool user_supplied)
+{
+  int cxx_aware = 0;
+  add_path (path, AFTER, cxx_aware, user_supplied);
+}
+
+void
 gfc_cpp_register_include_paths (void)
 {
   int cxx_stdinc = 0;
index db24502..54a899f 100644 (file)
@@ -41,6 +41,7 @@ gfc_try gfc_cpp_preprocess (const char *source_file);
 void gfc_cpp_done (void);
 
 void gfc_cpp_add_include_path (char *path, bool user_supplied);
+void gfc_cpp_add_include_path_after (char *path, bool user_supplied);
 
 void gfc_cpp_register_include_paths (void);
 
index 8e47df4..675413c 100644 (file)
@@ -446,6 +446,15 @@ but this can be inhibited with the negated form
 in the command line, this option has no effect, since no @code{#line}
 directives are emitted whatsoever.
 
+@item -idirafter @var{dir}
+@opindex @code{idirafter @var{dir}}
+@cindex preprocessing, include path
+Search @var{dir} for include files, but do it after all directories
+specified with @option{-I} and the standard system directories have
+been exhausted. @var{dir} is treated as a system include directory.
+If dir begins with @code{=}, then the @code{=} will be replaced by
+the sysroot prefix; see @option{--sysroot} and @option{-isysroot}.
+
 @item -imultilib @var{dir}
 @opindex @code{imultilib @var{dir}}
 @cindex preprocessing, include path
@@ -977,7 +986,7 @@ variable override the default specified by @option{-fconvert}.}
 
 
 @item -fno-range-check
-@opindex @code{-fno-range-check}
+@opindex @code{fno-range-check}
 Disable range checking of input values during integer @code{READ} operations.
 For example, GNU Fortran will give an error if an input value is
 outside of the relevant range of [@code{-HUGE()}:@code{HUGE()}]. In other words,
index 04682c1..e49ff76 100644 (file)
@@ -360,6 +360,10 @@ fworking-directory
 Fortran
 ; Documented in C
 
+idirafter
+Fortran Joined Separate
+; Documented in C
+
 imultilib
 Fortran Joined Separate
 ; Documented in C