]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
re PR fortran/31917 ([4.1 only] GFORTRAN_CONVERT_UNIT is ignored)
authorTobias Burnus <burnus@net-b.de>
Thu, 17 May 2007 08:39:32 +0000 (10:39 +0200)
committerTobias Burnus <burnus@gcc.gnu.org>
Thu, 17 May 2007 08:39:32 +0000 (10:39 +0200)
2007-05-14  Tobias Burnus <burnus@net-b.de>

        PR fortran/31917
        * runtime/environ.c (mark_range): Fix setting default convert unit.

From-SVN: r124787

libgfortran/ChangeLog
libgfortran/runtime/environ.c

index 531787f32896ff83577cf2137d650e0a3f9ab50a..6d3e78e360f1099664cb6d82ba5e544a5b27cdf2 100644 (file)
@@ -1,3 +1,8 @@
+2007-05-17  Tobias Burnus <burnus@net-b.de>
+
+       PR fortran/31917
+       * runtime/environ.c (mark_range): Fix setting default convert unit.
+
 2007-05-15  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
 
        PR libfortran/31922
index c9c1e27f3a27d85e7991e3f76ff8ab1428d7a7a1..388383c9a81680b4bb196403785235f406dc0cb3 100644 (file)
@@ -868,14 +868,13 @@ mark_range (int unit1, int unit2)
 static int
 do_parse (void)
 {
-  int tok, def;
+  int tok;
   int unit1;
   int continue_ulist;
   char *start;
 
   unit_count = 0;
 
-  def = 0;
   start = p;
 
   /* Parse the string.  First, let's look for a default.  */
@@ -930,6 +929,7 @@ do_parse (void)
       break;
 
     case END:
+      def = endian;
       goto end;
       break;
 
@@ -946,6 +946,18 @@ do_parse (void)
       tok = next_token ();
       switch (tok)
        {
+       case NATIVE:
+         if (next_token () != ':')
+           goto error;
+         endian = CONVERT_NATIVE;
+         break;
+
+       case SWAP:
+         if (next_token () != ':')
+           goto error;
+         endian = CONVERT_SWAP;
+         break;
+
        case LITTLE:
          if (next_token () != ':')
            goto error;