OSDN Git Service

2011-05-13 Martin Thuresson <martint@google.com>
authormartinthuresson <martinthuresson@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 13 May 2011 15:57:20 +0000 (15:57 +0000)
committermartinthuresson <martinthuresson@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 13 May 2011 15:57:20 +0000 (15:57 +0000)
PR gcov-profile/47793
* libgcov.c (gcov_exit): Support relative profile paths.
* doc/invoke.texi (-fprofile-dir): Update for above change.

2011-05-13  Martin Thuresson  <martint@google.com>

PR gcov-profile/47793
* gcc.dg/pr47793.c: New.

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

gcc/ChangeLog
gcc/doc/invoke.texi
gcc/libgcov.c
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.dg/pr47793.c [new file with mode: 0644]

index 004440c..b8ee6d3 100644 (file)
@@ -1,3 +1,9 @@
+2011-05-13  Martin Thuresson  <martint@google.com>
+
+       PR gcov-profile/47793
+       * libgcov.c (gcov_exit): Support relative profile paths.
+       * doc/invoke.texi (-fprofile-dir): Update for above change.
+
 2011-05-13  Richard Guenther  <rguenther@suse.de>
 
        * gimple.c (gimple_canonical_types_compatible_p): Do not use
        * configure.ac: Use AS_HELP_STRING throughout.
        * configure: Regenerate.
 
+>>>>>>> .r173734
 2011-05-12  H.J. Lu  <hongjiu.lu@intel.com>
 
        * config/i386/i386.c (ix86_save_reg): Change maybe_eh_return to bool.
index ddc34de..aee1e6b 100644 (file)
@@ -7751,7 +7751,7 @@ Set the directory to search for the profile data files in to @var{path}.
 This option affects only the profile data generated by
 @option{-fprofile-generate}, @option{-ftest-coverage}, @option{-fprofile-arcs}
 and used by @option{-fprofile-use} and @option{-fbranch-probabilities}
-and its related options.
+and its related options.  Both absolute and relative paths can be used.
 By default, GCC will use the current directory as @var{path}, thus the
 profile data file will appear in the same directory as the object file.
 
index 7d1f6d0..b39ef49 100644 (file)
@@ -283,8 +283,9 @@ gcov_exit (void)
              }
         }
       /* Update complete filename with stripped original. */
-      if (!IS_DIR_SEPARATOR (*fname) && !HAS_DRIVE_SPEC(fname))
-       {
+      if (prefix_length != 0 && !IS_DIR_SEPARATOR (*fname))
+        {
+          /* If prefix is given, add directory separator.  */
          strcpy (gi_filename_up, "/");
          strcpy (gi_filename_up + 1, fname);
        }
index 9c3552a..9340d91 100644 (file)
@@ -1,3 +1,8 @@
+2011-05-13  Martin Thuresson  <martint@google.com>
+
+       PR gcov-profile/47793
+       * gcc.dg/pr47793.c: New.
+
 2011-05-12  Jakub Jelinek  <jakub@redhat.com>
 
        PR tree-optimization/48975
diff --git a/gcc/testsuite/gcc.dg/pr47793.c b/gcc/testsuite/gcc.dg/pr47793.c
new file mode 100644 (file)
index 0000000..da6b6ea
--- /dev/null
@@ -0,0 +1,12 @@
+/* Bug pr47793: Allow relative paths in profile-generate.  */
+/* { dg-do run } */
+/* { dg-options "-O -fprofile-generate=./" } */
+/* { dg-final { scan-file pr47793.gcda "."} } */
+
+int
+main(void)
+{
+  return 0;
+}
+
+/* { dg-final { cleanup-coverage-files } } */