OSDN Git Service

* gcc.dg/darwin-20040809-2.c: Don't expect default debugging
[pf3gnuchains/gcc-fork.git] / gcc / libgcov.c
index 8b478a7..494759e 100644 (file)
@@ -26,8 +26,8 @@ for more details.
 
 You should have received a copy of the GNU General Public License
 along with GCC; see the file COPYING.  If not, write to the Free
-Software Foundation, 59 Temple Place - Suite 330, Boston, MA
-02111-1307, USA.  */
+Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301, USA.  */
 
 #include "tconfig.h"
 #include "tsystem.h"
@@ -91,7 +91,8 @@ static gcov_unsigned_t gcov_crc32;
 /* Size of the longest file name. */
 static size_t gcov_max_filename = 0;
 
-/* Make sure path compenent of the given FILENAME exists, create 
+#ifdef TARGET_POSIX_IO
+/* Make sure path component of the given FILENAME exists, create 
    missing directories. FILENAME must be writable. 
    Returns zero on success, or -1 if an error occurred.  */
 
@@ -122,6 +123,7 @@ create_file_directory (char *filename)
       };
   return 0;
 }
+#endif
 
 /* Check if VERSION of the info block PTR matches libgcov one.
    Return 1 on success, or zero in case of versions mismatch.
@@ -208,13 +210,15 @@ gcov_exit (void)
       
       prefix_length = strlen(gcov_prefix);
 
-      /* Remove an unneccesary trailing '/' */
+      /* Remove an unnecessary trailing '/' */
       if (IS_DIR_SEPARATOR (gcov_prefix[prefix_length - 1]))
        prefix_length--;
     }
+  else
+    prefix_length = 0;
   
   /* Allocate and initialize the filename scratch space.  */
-  gi_filename = alloca (prefix_length + gcov_max_filename + 1);
+  gi_filename = (char *) alloca (prefix_length + gcov_max_filename + 1);
   if (prefix_length)
     memcpy (gi_filename, gcov_prefix, prefix_length);
   gi_filename_up = gi_filename + prefix_length;
@@ -297,6 +301,7 @@ gcov_exit (void)
       
       if (!gcov_open (gi_filename))
        {
+#ifdef TARGET_POSIX_IO
          /* Open failed likely due to missed directory.
             Create directory and retry to open file. */
           if (create_file_directory (gi_filename))
@@ -304,6 +309,7 @@ gcov_exit (void)
              fprintf (stderr, "profiling:%s:Skip\n", gi_filename);
              continue;
            }
+#endif
          if (!gcov_open (gi_filename))
            {
               fprintf (stderr, "profiling:%s:Cannot open\n", gi_filename);
@@ -780,7 +786,7 @@ __gcov_execl (const char *path, const char *arg, ...)
     length++;
   va_end (ap);
 
-  args = alloca (length * sizeof (void *));
+  args = (char **) alloca (length * sizeof (void *));
   args[0] = (char *) arg;
   for (i = 1; i < length; i++)
     args[i] = va_arg (aq, char *);
@@ -811,7 +817,7 @@ __gcov_execlp (const char *path, const char *arg, ...)
     length++;
   va_end (ap);
 
-  args = alloca (length * sizeof (void *));
+  args = (char **) alloca (length * sizeof (void *));
   args[0] = (char *) arg;
   for (i = 1; i < length; i++)
     args[i] = va_arg (aq, char *);
@@ -843,7 +849,7 @@ __gcov_execle (const char *path, const char *arg, ...)
     length++;
   va_end (ap);
 
-  args = alloca (length * sizeof (void *));
+  args = (char **) alloca (length * sizeof (void *));
   args[0] = (char *) arg;
   for (i = 1; i < length; i++)
     args[i] = va_arg (aq, char *);