OSDN Git Service

2012-06-01 Tobias Burnus <burnus@net-b.de>
authorburnus <burnus@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 1 Jun 2012 05:53:31 +0000 (05:53 +0000)
committerburnus <burnus@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 1 Jun 2012 05:53:31 +0000 (05:53 +0000)
        * intrinsics/chmod.c (chmod_func): On MinGW, don't set is_dir
        * and
        fix octal-mode handling.
        * io/unit.c (get_internal_unit): Add cast.
        * io/unix.c (min): Undef "min" before defining it.
        * runtime/backtrace.c (show_backtrace): Move label into
        ifndef __MINGW__ block.

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

libgfortran/ChangeLog
libgfortran/intrinsics/chmod.c
libgfortran/io/unit.c
libgfortran/io/unix.c
libgfortran/runtime/backtrace.c

index b629d30..fc464a1 100644 (file)
@@ -1,8 +1,17 @@
+2012-06-01  Tobias Burnus  <burnus@net-b.de>
+
+       * intrinsics/chmod.c (chmod_func): On MinGW, don't set is_dir and
+       fix octal-mode handling.
+       * io/unit.c (get_internal_unit): Add cast.
+       * io/unix.c (min): Undef "min" before defining it.
+       * runtime/backtrace.c (show_backtrace): Move label into
+       ifndef __MINGW__ block.
+
 2012-05-31  Benjamin Kosnik  <bkoz@redhat.com>
 
-        PR libstdc++/51007
-        * configure.ac: Allow gnu, gnu* variants for --enable-symvers argument.
-        * configure: Regenerated.
+       PR libstdc++/51007
+       * configure.ac: Allow gnu, gnu* variants for --enable-symvers argument.
+       * configure: Regenerated.
 
 2012-05-31  Tobias Burnus  <burnus@net-b.de>
 
index e8a81d5..43b8de2 100644 (file)
@@ -74,7 +74,10 @@ chmod_func (char *name, char *mode, gfc_charlen_type name_len,
   bool ugo[3];
   bool rwxXstugo[9];
   int set_mode, part;
-  bool is_dir, honor_umask, continue_clause = false;
+  bool honor_umask, continue_clause = false;
+#ifndef __MINGW32__
+  bool is_dir;
+#endif
   mode_t mode_mask, file_mode, new_mode;
   struct stat stat_buf;
 
@@ -93,10 +96,10 @@ chmod_func (char *name, char *mode, gfc_charlen_type name_len,
   if (mode[0] >= '0' && mode[0] <= '9')
     {
 #ifdef __MINGW32__
-      unsigned mode;
-      if (sscanf (mode, "%o", &mode) != 1)
+      unsigned fmode;
+      if (sscanf (mode, "%o", &fmode) != 1)
        return 1;
-      file_mode = (mode_t) mode;
+      file_mode = (mode_t) fmode;
 #else
       if (sscanf (mode, "%o", &file_mode) != 1)
        return 1;
@@ -109,7 +112,9 @@ chmod_func (char *name, char *mode, gfc_charlen_type name_len,
     return 1;
 
   file_mode = stat_buf.st_mode & ~S_IFMT;
+#ifndef __MINGW32__
   is_dir = stat_buf.st_mode & S_IFDIR;
+#endif
 
 #ifdef HAVE_UMASK
   /* Obtain the umask without distroying the setting.  */
index 911521d..8b0926d 100644 (file)
@@ -430,7 +430,8 @@ get_internal_unit (st_parameter_dt *dtp)
          else
            {
              dtp->internal_unit_len =
-               string_len_trim_char4 (dtp->internal_unit_len, dtp->internal_unit);
+               string_len_trim_char4 (dtp->internal_unit_len,
+                                      (const gfc_char4_t*) dtp->internal_unit);
              iunit->recl = dtp->internal_unit_len;
            }
        }
index c81163f..1a9faea 100644 (file)
@@ -41,13 +41,6 @@ see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
 #include <errno.h>
 
 
-/* min macro that evaluates its arguments only once.  */
-#define min(a,b)               \
-  ({ typeof (a) _a = (a);      \
-    typeof (b) _b = (b);       \
-    _a < _b ? _a : _b; })
-
-
 /* For mingw, we don't identify files by their inode number, but by a
    64-bit identifier created from a BY_HANDLE_FILE_INFORMATION. */
 #ifdef __MINGW32__
@@ -106,8 +99,19 @@ id_from_fd (const int fd)
   return id_from_handle ((HANDLE) _get_osfhandle (fd));
 }
 
+#endif /* HAVE_WORKING_STAT */
+#endif /* __MINGW32__ */
+
+
+/* min macro that evaluates its arguments only once.  */
+#ifdef min
+#undef min
 #endif
-#endif
+
+#define min(a,b)               \
+  ({ typeof (a) _a = (a);      \
+    typeof (b) _b = (b);       \
+    _a < _b ? _a : _b; })
 
 #ifndef PATH_MAX
 #define PATH_MAX 1024
index 6bfc560..9d88d13 100644 (file)
@@ -270,9 +270,9 @@ fallback:
   }
   while (0);
 
+fallback_noerr:
 #endif /* CAN_PIPE */
 
-fallback_noerr:
   /* Fallback to the simple backtrace without addr2line.  */
   state.direct_output = 1;
   _Unwind_Backtrace (trace_function, &state);