Imported Upstream version 3.7.9 upstream/3.7.9
authorJinWang An <jinwang.an@samsung.com>
Tue, 3 Aug 2021 07:29:01 +0000 (16:29 +0900)
committerJinWang An <jinwang.an@samsung.com>
Tue, 3 Aug 2021 07:29:01 +0000 (16:29 +0900)
12 files changed:
LICENSE.html
doc/AUTHORS.adoc
doc/AUTHORS.html
doc/MANUAL.html
doc/NEWS.adoc
doc/NEWS.html
doc/ccache.1
src/ccache.c
src/language.c
src/util.c
src/version.c
test/suites/nvcc.bash

index 3959213505c97ad34c2001e5bfed2fb667ba6c65..dad2da6d1cb4fe1a7700ccb456b4dc89e199e698 100644 (file)
@@ -735,7 +735,7 @@ asciidoc.install(2);
 <body class="article">\r
 <div id="header">\r
 <h1>ccache copyright and license</h1>\r
-<span id="revnumber">version 3.7.8</span>\r
+<span id="revnumber">version 3.7.9</span>\r
 <div id="toc">
   <div id="toctitle">Table of Contents</div>
   <noscript><p><b>JavaScript must be enabled in your browser to display the table of contents.</b></p></noscript>
@@ -1235,9 +1235,9 @@ following license:</p></div>
 <div id="footnotes"><hr /></div>\r
 <div id="footer">\r
 <div id="footer-text">\r
-Version 3.7.8<br />\r
+Version 3.7.9<br />\r
 Last updated\r
- 2020-03-16 21:59:40 CET\r
+ 2020-03-29 16:11:12 CEST\r
 </div>\r
 </div>\r
 </body>\r
index e98504393ea531b0bbdfd6eae542f958d8b82927..1f1d4e2bcb020d3cacd59b21f77e26819fe0026f 100644 (file)
@@ -6,6 +6,7 @@ maintained by Joel Rosdahl.
 
 ccache is a collective work with contributions from many people, including:
 
+* Alexander Korsunsky
 * Alexey Tourbin
 * Alfred Landrum
 * Anders F Björklund
index 9f3d099f31775abea18be640c0dbc38afa85c1c2..de125d0b42531153aa5c23b392056f8b070f5e3f 100644 (file)
@@ -735,7 +735,7 @@ asciidoc.install(2);
 <body class="article">\r
 <div id="header">\r
 <h1>ccache authors</h1>\r
-<span id="revnumber">version 3.7.8</span>\r
+<span id="revnumber">version 3.7.9</span>\r
 <div id="toc">
   <div id="toctitle">Table of Contents</div>
   <noscript><p><b>JavaScript must be enabled in your browser to display the table of contents.</b></p></noscript>
@@ -750,6 +750,11 @@ maintained by Joel Rosdahl.</p></div>
 <div class="ulist"><ul>\r
 <li>\r
 <p>\r
+Alexander Korsunsky\r
+</p>\r
+</li>\r
+<li>\r
+<p>\r
 Alexey Tourbin\r
 </p>\r
 </li>\r
@@ -1266,9 +1271,9 @@ Yvan Janssens
 <div id="footnotes"><hr /></div>\r
 <div id="footer">\r
 <div id="footer-text">\r
-Version 3.7.8<br />\r
+Version 3.7.9<br />\r
 Last updated\r
- 2020-03-16 21:59:40 CET\r
+ 2020-03-29 16:11:12 CEST\r
 </div>\r
 </div>\r
 </body>\r
index 2e6a15b6620d100e5be7345fd64c23808b964dfd..6dd6f3430beb7cddcaf43e448958c91a4a2aa9ae 100644 (file)
@@ -735,7 +735,7 @@ asciidoc.install(2);
 <body class="article">\r
 <div id="header">\r
 <h1>CCACHE(1)</h1>\r
-<span id="revnumber">version 3.7.8</span>\r
+<span id="revnumber">version 3.7.9</span>\r
 <div id="toc">
   <div id="toctitle">Table of Contents</div>
   <noscript><p><b>JavaScript must be enabled in your browser to display the table of contents.</b></p></noscript>
@@ -2713,9 +2713,9 @@ maintained by Joel Rosdahl. See AUTHORS.txt or AUTHORS.html and
 <div id="footnotes"><hr /></div>\r
 <div id="footer">\r
 <div id="footer-text">\r
-Version 3.7.8<br />\r
+Version 3.7.9<br />\r
 Last updated\r
- 2020-03-16 21:59:40 CET\r
+ 2020-03-29 16:11:12 CEST\r
 </div>\r
 </div>\r
 </body>\r
index e860e6b1976eab785ffc55c4bae2aa9adbfa0367..8274f8868ae4594719c202bc16a8089a7702a822 100644 (file)
@@ -1,6 +1,28 @@
 ccache news
 ===========
 
+ccache 3.7.9
+------------
+Release date: 2020-03-29
+
+Bug fixes
+~~~~~~~~~
+
+- Fixed replacing of /dev/null when building as root with hard link mode
+  enabled and using `-o /dev/null`.
+
+- Removed incorrect assertion resulting in “ccache: error: Internal error in
+  format” when using `-fdebug-prefix-map=X=` with X equal to `$PWD`.
+
+
+Other
+~~~~~
+
+- Improved CUDA/NVCC support: Recognize `-dc` and `-x cu` options.
+
+- Improved name of temporary file used in NFS-safe unlink.
+
+
 ccache 3.7.8
 ------------
 Release date: 2020-03-16
index ea7c6b2e3ac7f4f0fb3bac72f29345fb97b081e0..009f87bb65fe69351f12efd08c6dc4d9d6d231c1 100644 (file)
@@ -735,7 +735,7 @@ asciidoc.install(2);
 <body class="article">\r
 <div id="header">\r
 <h1>ccache news</h1>\r
-<span id="revnumber">version 3.7.8</span>\r
+<span id="revnumber">version 3.7.9</span>\r
 <div id="toc">
   <div id="toctitle">Table of Contents</div>
   <noscript><p><b>JavaScript must be enabled in your browser to display the table of contents.</b></p></noscript>
@@ -743,11 +743,49 @@ asciidoc.install(2);
 </div>\r
 <div id="content">\r
 <div class="sect1">\r
+<h2 id="_ccache_3_7_9">ccache 3.7.9</h2>\r
+<div class="sectionbody">\r
+<div class="paragraph"><p>Release date: 2020-03-29</p></div>\r
+<div class="sect2">\r
+<h3 id="_bug_fixes">Bug fixes</h3>\r
+<div class="ulist"><ul>\r
+<li>\r
+<p>\r
+Fixed replacing of /dev/null when building as root with hard link mode\r
+  enabled and using <code>-o /dev/null</code>.\r
+</p>\r
+</li>\r
+<li>\r
+<p>\r
+Removed incorrect assertion resulting in “ccache: error: Internal error in\r
+  format” when using <code>-fdebug-prefix-map=X=</code> with X equal to <code>$PWD</code>.\r
+</p>\r
+</li>\r
+</ul></div>\r
+</div>\r
+<div class="sect2">\r
+<h3 id="_other">Other</h3>\r
+<div class="ulist"><ul>\r
+<li>\r
+<p>\r
+Improved CUDA/NVCC support: Recognize <code>-dc</code> and <code>-x cu</code> options.\r
+</p>\r
+</li>\r
+<li>\r
+<p>\r
+Improved name of temporary file used in NFS-safe unlink.\r
+</p>\r
+</li>\r
+</ul></div>\r
+</div>\r
+</div>\r
+</div>\r
+<div class="sect1">\r
 <h2 id="_ccache_3_7_8">ccache 3.7.8</h2>\r
 <div class="sectionbody">\r
 <div class="paragraph"><p>Release date: 2020-03-16</p></div>\r
 <div class="sect2">\r
-<h3 id="_bug_fixes">Bug fixes</h3>\r
+<h3 id="_bug_fixes_2">Bug fixes</h3>\r
 <div class="ulist"><ul>\r
 <li>\r
 <p>\r
@@ -770,7 +808,7 @@ If <code>localtime_r</code> fails the epoch time is now logged instead of garbag
 </ul></div>\r
 </div>\r
 <div class="sect2">\r
-<h3 id="_other">Other</h3>\r
+<h3 id="_other_2">Other</h3>\r
 <div class="ulist"><ul>\r
 <li>\r
 <p>\r
@@ -826,7 +864,7 @@ Clarified “include_file_ctime sloppiness” in the Performance section in the
 <div class="sectionbody">\r
 <div class="paragraph"><p>Release date: 2020-01-05</p></div>\r
 <div class="sect2">\r
-<h3 id="_bug_fixes_2">Bug fixes</h3>\r
+<h3 id="_bug_fixes_3">Bug fixes</h3>\r
 <div class="ulist"><ul>\r
 <li>\r
 <p>\r
@@ -874,7 +912,7 @@ The “cache miss” statistics counter will now be updated for read-only cache
 <div class="sectionbody">\r
 <div class="paragraph"><p>Release date: 2019-11-17</p></div>\r
 <div class="sect2">\r
-<h3 id="_bug_fixes_3">Bug fixes</h3>\r
+<h3 id="_bug_fixes_4">Bug fixes</h3>\r
 <div class="ulist"><ul>\r
 <li>\r
 <p>\r
@@ -921,7 +959,7 @@ Added support for <code>-MF=arg</code> (with an extra equal sign) as understood
 </ul></div>\r
 </div>\r
 <div class="sect2">\r
-<h3 id="_bug_fixes_4">Bug fixes</h3>\r
+<h3 id="_bug_fixes_5">Bug fixes</h3>\r
 <div class="ulist"><ul>\r
 <li>\r
 <p>\r
@@ -991,7 +1029,7 @@ Added support for converting paths like “/c/users” into relative paths on
 <div class="sectionbody">\r
 <div class="paragraph"><p>Release date: 2019-08-17</p></div>\r
 <div class="sect2">\r
-<h3 id="_bug_fixes_5">Bug fixes</h3>\r
+<h3 id="_bug_fixes_6">Bug fixes</h3>\r
 <div class="ulist"><ul>\r
 <li>\r
 <p>\r
@@ -1016,7 +1054,7 @@ Fixed a regression in 3.7.2 when using the compiler option “-Werror” and the
 <div class="sectionbody">\r
 <div class="paragraph"><p>Release date: 2019-07-19</p></div>\r
 <div class="sect2">\r
-<h3 id="_bug_fixes_6">Bug fixes</h3>\r
+<h3 id="_bug_fixes_7">Bug fixes</h3>\r
 <div class="ulist"><ul>\r
 <li>\r
 <p>\r
@@ -1473,7 +1511,7 @@ Made “./configure --without-bundled-zlib” do what’s intended.
 <div class="sectionbody">\r
 <div class="paragraph"><p>Release date: 2018-09-02</p></div>\r
 <div class="sect2">\r
-<h3 id="_bug_fixes_7">Bug fixes</h3>\r
+<h3 id="_bug_fixes_8">Bug fixes</h3>\r
 <div class="ulist"><ul>\r
 <li>\r
 <p>\r
@@ -1510,7 +1548,7 @@ Upgraded bundled zlib to version 1.2.11.
 <div class="sectionbody">\r
 <div class="paragraph"><p>Release date: 2018-03-25</p></div>\r
 <div class="sect2">\r
-<h3 id="_bug_fixes_8">Bug fixes</h3>\r
+<h3 id="_bug_fixes_9">Bug fixes</h3>\r
 <div class="ulist"><ul>\r
 <li>\r
 <p>\r
@@ -1554,7 +1592,7 @@ Made it possible to perform out-of-source builds in dev mode again.
 <div class="sectionbody">\r
 <div class="paragraph"><p>Release date: 2018-02-11</p></div>\r
 <div class="sect2">\r
-<h3 id="_bug_fixes_9">Bug fixes</h3>\r
+<h3 id="_bug_fixes_10">Bug fixes</h3>\r
 <div class="ulist"><ul>\r
 <li>\r
 <p>\r
@@ -1640,7 +1678,7 @@ Documented caveats related to colored warnings from compilers.
 </ul></div>\r
 </div>\r
 <div class="sect2">\r
-<h3 id="_bug_fixes_10">Bug fixes</h3>\r
+<h3 id="_bug_fixes_11">Bug fixes</h3>\r
 <div class="ulist"><ul>\r
 <li>\r
 <p>\r
@@ -1678,7 +1716,7 @@ Improved instructions on how to get cache hits between different working
 </ul></div>\r
 </div>\r
 <div class="sect2">\r
-<h3 id="_bug_fixes_11">Bug fixes</h3>\r
+<h3 id="_bug_fixes_12">Bug fixes</h3>\r
 <div class="ulist"><ul>\r
 <li>\r
 <p>\r
@@ -1704,7 +1742,7 @@ Documented how automatic cache cleanup works.
 </ul></div>\r
 </div>\r
 <div class="sect2">\r
-<h3 id="_bug_fixes_12">Bug fixes</h3>\r
+<h3 id="_bug_fixes_13">Bug fixes</h3>\r
 <div class="ulist"><ul>\r
 <li>\r
 <p>\r
@@ -1787,7 +1825,7 @@ Documented the different cache statistics counters.
 </ul></div>\r
 </div>\r
 <div class="sect2">\r
-<h3 id="_bug_fixes_13">Bug fixes</h3>\r
+<h3 id="_bug_fixes_14">Bug fixes</h3>\r
 <div class="ulist"><ul>\r
 <li>\r
 <p>\r
@@ -1817,7 +1855,7 @@ Fixed undefined behavior warnings in ccache found by <code>-fsanitize=undefined<
 <div class="sectionbody">\r
 <div class="paragraph"><p>Release date: 2016-10-26</p></div>\r
 <div class="sect2">\r
-<h3 id="_bug_fixes_14">Bug fixes</h3>\r
+<h3 id="_bug_fixes_15">Bug fixes</h3>\r
 <div class="ulist"><ul>\r
 <li>\r
 <p>\r
@@ -1834,7 +1872,7 @@ ccache now detects usage of <code>.incbin</code> assembler directives in the sou
 <div class="sectionbody">\r
 <div class="paragraph"><p>Release date: 2016-09-28</p></div>\r
 <div class="sect2">\r
-<h3 id="_bug_fixes_15">Bug fixes</h3>\r
+<h3 id="_bug_fixes_16">Bug fixes</h3>\r
 <div class="ulist"><ul>\r
 <li>\r
 <p>\r
@@ -1859,7 +1897,7 @@ Fixed a regression in ccache 3.3.1: ccache could get confused when using the
 <div class="sectionbody">\r
 <div class="paragraph"><p>Release date: 2016-09-07</p></div>\r
 <div class="sect2">\r
-<h3 id="_bug_fixes_16">Bug fixes</h3>\r
+<h3 id="_bug_fixes_17">Bug fixes</h3>\r
 <div class="ulist"><ul>\r
 <li>\r
 <p>\r
@@ -2041,7 +2079,7 @@ Increased buffer size used when reading file data. This improves performance
 </ul></div>\r
 </div>\r
 <div class="sect2">\r
-<h3 id="_bug_fixes_17">Bug fixes</h3>\r
+<h3 id="_bug_fixes_18">Bug fixes</h3>\r
 <div class="ulist"><ul>\r
 <li>\r
 <p>\r
@@ -2067,7 +2105,7 @@ Fixed build and test for MinGW32 and Windows.
 <div class="sectionbody">\r
 <div class="paragraph"><p>Release date: 2016-09-28</p></div>\r
 <div class="sect2">\r
-<h3 id="_bug_fixes_18">Bug fixes</h3>\r
+<h3 id="_bug_fixes_19">Bug fixes</h3>\r
 <div class="ulist"><ul>\r
 <li>\r
 <p>\r
@@ -2085,7 +2123,7 @@ Fixed a regression in ccache 3.2.8: ccache could get confused when using the
 <div class="sectionbody">\r
 <div class="paragraph"><p>Release date: 2016-09-07</p></div>\r
 <div class="sect2">\r
-<h3 id="_bug_fixes_19">Bug fixes</h3>\r
+<h3 id="_bug_fixes_20">Bug fixes</h3>\r
 <div class="ulist"><ul>\r
 <li>\r
 <p>\r
@@ -2109,7 +2147,7 @@ ccache now understands the undocumented <code>-coverage</code> (only one dash) G
 <div class="sectionbody">\r
 <div class="paragraph"><p>Release date: 2016-07-20</p></div>\r
 <div class="sect2">\r
-<h3 id="_bug_fixes_20">Bug fixes</h3>\r
+<h3 id="_bug_fixes_21">Bug fixes</h3>\r
 <div class="ulist"><ul>\r
 <li>\r
 <p>\r
@@ -2132,7 +2170,7 @@ ccache now knows how to work around a glitch in the output of GCC 6’s
 <div class="sectionbody">\r
 <div class="paragraph"><p>Release date: 2016-07-12</p></div>\r
 <div class="sect2">\r
-<h3 id="_bug_fixes_21">Bug fixes</h3>\r
+<h3 id="_bug_fixes_22">Bug fixes</h3>\r
 <div class="ulist"><ul>\r
 <li>\r
 <p>\r
@@ -2182,7 +2220,7 @@ Made it harder to misinterpret documentation of boolean environment settings’
 </ul></div>\r
 </div>\r
 <div class="sect2">\r
-<h3 id="_bug_fixes_22">Bug fixes</h3>\r
+<h3 id="_bug_fixes_23">Bug fixes</h3>\r
 <div class="ulist"><ul>\r
 <li>\r
 <p>\r
@@ -2242,7 +2280,7 @@ The man page is now built when running “make install” from Git repository
 <div class="sectionbody">\r
 <div class="paragraph"><p>Release date: 2015-10-08</p></div>\r
 <div class="sect2">\r
-<h3 id="_bug_fixes_23">Bug fixes</h3>\r
+<h3 id="_bug_fixes_24">Bug fixes</h3>\r
 <div class="ulist"><ul>\r
 <li>\r
 <p>\r
@@ -2297,7 +2335,7 @@ Added support for compiler option <code>-gsplit-dwarf</code>.
 </ul></div>\r
 </div>\r
 <div class="sect2">\r
-<h3 id="_bug_fixes_24">Bug fixes</h3>\r
+<h3 id="_bug_fixes_25">Bug fixes</h3>\r
 <div class="ulist"><ul>\r
 <li>\r
 <p>\r
@@ -2351,7 +2389,7 @@ Add support for caching code coverage results (compiling for gcov).
 </ul></div>\r
 </div>\r
 <div class="sect2">\r
-<h3 id="_bug_fixes_25">Bug fixes</h3>\r
+<h3 id="_bug_fixes_26">Bug fixes</h3>\r
 <div class="ulist"><ul>\r
 <li>\r
 <p>\r
@@ -2421,7 +2459,7 @@ Fixed build error when compiling ccache with recent Clang versions.
 <div class="sectionbody">\r
 <div class="paragraph"><p>Release date: 2014-12-10</p></div>\r
 <div class="sect2">\r
-<h3 id="_bug_fixes_26">Bug fixes</h3>\r
+<h3 id="_bug_fixes_27">Bug fixes</h3>\r
 <div class="ulist"><ul>\r
 <li>\r
 <p>\r
@@ -2653,7 +2691,7 @@ Various other improvements of the test suite.
 </ul></div>\r
 </div>\r
 <div class="sect2">\r
-<h3 id="_bug_fixes_27">Bug fixes</h3>\r
+<h3 id="_bug_fixes_28">Bug fixes</h3>\r
 <div class="ulist"><ul>\r
 <li>\r
 <p>\r
@@ -2684,7 +2722,7 @@ Fixed test suite failures when <code>CC</code> is a ccache-wrapped compiler.
 <div class="sectionbody">\r
 <div class="paragraph"><p>Release date: 2016-07-12</p></div>\r
 <div class="sect2">\r
-<h3 id="_bug_fixes_28">Bug fixes</h3>\r
+<h3 id="_bug_fixes_29">Bug fixes</h3>\r
 <div class="ulist"><ul>\r
 <li>\r
 <p>\r
@@ -2702,7 +2740,7 @@ Fixed a bug where (due to ccache rewriting paths) the compiler could choose
 <div class="sectionbody">\r
 <div class="paragraph"><p>Release date: 2015-03-07</p></div>\r
 <div class="sect2">\r
-<h3 id="_bug_fixes_29">Bug fixes</h3>\r
+<h3 id="_bug_fixes_30">Bug fixes</h3>\r
 <div class="ulist"><ul>\r
 <li>\r
 <p>\r
@@ -2784,7 +2822,7 @@ Stale files in the internal temporary directory (<code>&lt;ccache_dir&gt;/tmp</c
 </ul></div>\r
 </div>\r
 <div class="sect2">\r
-<h3 id="_bug_fixes_30">Bug fixes</h3>\r
+<h3 id="_bug_fixes_31">Bug fixes</h3>\r
 <div class="ulist"><ul>\r
 <li>\r
 <p>\r
@@ -2824,7 +2862,7 @@ Fixed problem with logging of current working directory.
 <div class="sectionbody">\r
 <div class="paragraph"><p>Release date: 2013-01-06</p></div>\r
 <div class="sect2">\r
-<h3 id="_bug_fixes_31">Bug fixes</h3>\r
+<h3 id="_bug_fixes_32">Bug fixes</h3>\r
 <div class="ulist"><ul>\r
 <li>\r
 <p>\r
@@ -2858,7 +2896,7 @@ Disappearing temporary stdout/stderr files are now handled gracefully.
 </ul></div>\r
 </div>\r
 <div class="sect2">\r
-<h3 id="_other_2">Other</h3>\r
+<h3 id="_other_3">Other</h3>\r
 <div class="ulist"><ul>\r
 <li>\r
 <p>\r
@@ -2895,7 +2933,7 @@ Clang plugins are now hashed to catch plugin upgrades.
 </ul></div>\r
 </div>\r
 <div class="sect2">\r
-<h3 id="_bug_fixes_32">Bug fixes</h3>\r
+<h3 id="_bug_fixes_33">Bug fixes</h3>\r
 <div class="ulist"><ul>\r
 <li>\r
 <p>\r
@@ -2922,7 +2960,7 @@ Paths are now correctly canonicalized when computing paths relative to the
 </ul></div>\r
 </div>\r
 <div class="sect2">\r
-<h3 id="_other_3">Other</h3>\r
+<h3 id="_other_4">Other</h3>\r
 <div class="ulist"><ul>\r
 <li>\r
 <p>\r
@@ -2943,7 +2981,7 @@ Fixed <code>static_assert</code> macro definition clash with GCC 4.7.
 <div class="sectionbody">\r
 <div class="paragraph"><p>Release date: 2012-01-08</p></div>\r
 <div class="sect2">\r
-<h3 id="_bug_fixes_33">Bug fixes</h3>\r
+<h3 id="_bug_fixes_34">Bug fixes</h3>\r
 <div class="ulist"><ul>\r
 <li>\r
 <p>\r
@@ -2995,7 +3033,7 @@ Reverted the GCC bug compatibility introduced in ccache 3.1.5 for <code>-MT</cod
 </ul></div>\r
 </div>\r
 <div class="sect2">\r
-<h3 id="_other_4">Other</h3>\r
+<h3 id="_other_5">Other</h3>\r
 <div class="ulist"><ul>\r
 <li>\r
 <p>\r
@@ -3026,7 +3064,7 @@ Rewrite argument to <code>--sysroot</code> if <code>CCACHE_BASEDIR</code> is use
 </ul></div>\r
 </div>\r
 <div class="sect2">\r
-<h3 id="_bug_fixes_34">Bug fixes</h3>\r
+<h3 id="_bug_fixes_35">Bug fixes</h3>\r
 <div class="ulist"><ul>\r
 <li>\r
 <p>\r
@@ -3079,7 +3117,7 @@ Improved order of statistics counters in <code>ccache -s</code> output.
 </ul></div>\r
 </div>\r
 <div class="sect2">\r
-<h3 id="_bug_fixes_35">Bug fixes</h3>\r
+<h3 id="_bug_fixes_36">Bug fixes</h3>\r
 <div class="ulist"><ul>\r
 <li>\r
 <p>\r
@@ -3112,7 +3150,7 @@ Systems that lack (and don’t need to be linked with) libm are now supported.
 <div class="sectionbody">\r
 <div class="paragraph"><p>Release date: 2011-01-09</p></div>\r
 <div class="sect2">\r
-<h3 id="_bug_fixes_36">Bug fixes</h3>\r
+<h3 id="_bug_fixes_37">Bug fixes</h3>\r
 <div class="ulist"><ul>\r
 <li>\r
 <p>\r
@@ -3145,7 +3183,7 @@ The file handle in now correctly closed on write error when trying to create
 <div class="sectionbody">\r
 <div class="paragraph"><p>Release date: 2010-11-28</p></div>\r
 <div class="sect2">\r
-<h3 id="_bug_fixes_37">Bug fixes</h3>\r
+<h3 id="_bug_fixes_38">Bug fixes</h3>\r
 <div class="ulist"><ul>\r
 <li>\r
 <p>\r
@@ -3156,7 +3194,7 @@ The -MFarg, -MTarg and -MQarg compiler options (i.e, without space between
 </ul></div>\r
 </div>\r
 <div class="sect2">\r
-<h3 id="_other_5">Other</h3>\r
+<h3 id="_other_6">Other</h3>\r
 <div class="ulist"><ul>\r
 <li>\r
 <p>\r
@@ -3172,7 +3210,7 @@ Portability fixes for HP-UX 11.00 and other esoteric systems.
 <div class="sectionbody">\r
 <div class="paragraph"><p>Release date: 2010-11-21</p></div>\r
 <div class="sect2">\r
-<h3 id="_bug_fixes_38">Bug fixes</h3>\r
+<h3 id="_bug_fixes_39">Bug fixes</h3>\r
 <div class="ulist"><ul>\r
 <li>\r
 <p>\r
@@ -3193,7 +3231,7 @@ Fixed issue when parsing precompiler output on AIX.
 </ul></div>\r
 </div>\r
 <div class="sect2">\r
-<h3 id="_other_6">Other</h3>\r
+<h3 id="_other_7">Other</h3>\r
 <div class="ulist"><ul>\r
 <li>\r
 <p>\r
@@ -3220,7 +3258,7 @@ The test suite now also works on systems that lack a /dev/zero.
 <div class="sectionbody">\r
 <div class="paragraph"><p>Release date: 2010-11-07</p></div>\r
 <div class="sect2">\r
-<h3 id="_bug_fixes_39">Bug fixes</h3>\r
+<h3 id="_bug_fixes_40">Bug fixes</h3>\r
 <div class="ulist"><ul>\r
 <li>\r
 <p>\r
@@ -3258,7 +3296,7 @@ ccache development version (set by dev.mk) now works with gits whose
 </ul></div>\r
 </div>\r
 <div class="sect2">\r
-<h3 id="_other_7">Other</h3>\r
+<h3 id="_other_8">Other</h3>\r
 <div class="ulist"><ul>\r
 <li>\r
 <p>\r
@@ -3342,7 +3380,7 @@ Added <code>-install_name</code> as an option known to take an argument. (This i
 </ul></div>\r
 </div>\r
 <div class="sect2">\r
-<h3 id="_bug_fixes_40">Bug fixes</h3>\r
+<h3 id="_bug_fixes_41">Bug fixes</h3>\r
 <div class="ulist"><ul>\r
 <li>\r
 <p>\r
@@ -3367,7 +3405,7 @@ EINTR is now handled correctly.
 </ul></div>\r
 </div>\r
 <div class="sect2">\r
-<h3 id="_other_8">Other</h3>\r
+<h3 id="_other_9">Other</h3>\r
 <div class="ulist"><ul>\r
 <li>\r
 <p>\r
@@ -3428,7 +3466,7 @@ New <code>HACKING.txt</code> file with some notes about ccache code conventions.
 <div class="sectionbody">\r
 <div class="paragraph"><p>Release date: 2010-07-15</p></div>\r
 <div class="sect2">\r
-<h3 id="_bug_fixes_41">Bug fixes</h3>\r
+<h3 id="_bug_fixes_42">Bug fixes</h3>\r
 <div class="ulist"><ul>\r
 <li>\r
 <p>\r
@@ -3617,7 +3655,7 @@ The following options are no longer hashed in the preprocessor mode:
 </ul></div>\r
 </div>\r
 <div class="sect2">\r
-<h3 id="_bug_fixes_42">Bug fixes</h3>\r
+<h3 id="_bug_fixes_43">Bug fixes</h3>\r
 <div class="ulist"><ul>\r
 <li>\r
 <p>\r
@@ -3762,9 +3800,9 @@ Statistics counters are now correctly updated for -E option failures and
 <div id="footnotes"><hr /></div>\r
 <div id="footer">\r
 <div id="footer-text">\r
-Version 3.7.8<br />\r
+Version 3.7.9<br />\r
 Last updated\r
- 2020-03-16 21:59:40 CET\r
+ 2020-03-29 16:11:12 CEST\r
 </div>\r
 </div>\r
 </body>\r
index d6fe85b35ed26016428e61102f816786c8800e93..92b423047209fae9354c4a9e9500133a3598046d 100644 (file)
@@ -2,12 +2,12 @@
 .\"     Title: ccache
 .\"    Author: [see the "Author" section]
 .\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\"      Date: 03/16/2020
+.\"      Date: 03/29/2020
 .\"    Manual: ccache Manual
-.\"    Source: ccache 3.7.8
+.\"    Source: ccache 3.7.9
 .\"  Language: English
 .\"
-.TH "CCACHE" "1" "03/16/2020" "ccache 3\&.7\&.8" "ccache Manual"
+.TH "CCACHE" "1" "03/29/2020" "ccache 3\&.7\&.9" "ccache Manual"
 .\" -----------------------------------------------------------------
 .\" * Define some portability stuff
 .\" -----------------------------------------------------------------
index 6e9da51c2a9700a822ed7b059ace2bd6dca85c41..0e66468f2facdabc7172dab05cab0bb037dba450 100644 (file)
@@ -1299,6 +1299,11 @@ move_file_to_cache_same_fs(const char *source, const char *dest)
 static void
 do_copy_or_link_file_from_cache(const char *source, const char *dest, bool copy)
 {
+       if (str_eq(dest, "/dev/null")) {
+               cc_log("Skipping copy from %s to %s", source, dest);
+               return;
+       }
+
        int ret;
        bool do_link = !copy && conf->hard_link && !file_is_compressed(source);
        if (do_link) {
@@ -1432,7 +1437,8 @@ to_cache(struct args *args, struct hash *depend_mode_hash)
        args_add(args, "-o");
        args_add(args, output_obj);
 
-       if (conf->hard_link) {
+       if (conf->hard_link && !str_eq(output_obj, "/dev/null")) {
+               // This is a workaround for https://bugs.llvm.org/show_bug.cgi?id=39782.
                x_unlink(output_obj);
        }
 
@@ -2167,7 +2173,7 @@ calculate_object_hash(struct args *args, struct args *preprocessor_args,
                hash_delimiter(hash, "/dev/null dependency file");
        }
 
-       if (!found_ccbin && str_eq(actual_language, "cuda")) {
+       if (!found_ccbin && str_eq(actual_language, "cu")) {
                hash_nvcc_host_compiler(hash, NULL, NULL);
        }
 
@@ -2537,6 +2543,7 @@ cc_process_args(struct args *args,
                 struct args **compiler_args)
 {
        bool found_c_opt = false;
+       bool found_dc_opt = false;
        bool found_S_opt = false;
        bool found_pch = false;
        bool found_fpch_preprocess = false;
@@ -2748,6 +2755,13 @@ cc_process_args(struct args *args,
                        continue;
                }
 
+               // when using nvcc with separable compilation, -dc implies -c
+               if ((str_eq(argv[i], "-dc") || str_eq(argv[i], "--device-c"))
+                   && guessed_compiler == GUESSED_NVCC) {
+                       found_dc_opt = true;
+                       continue;
+               }
+
                // -S changes the default extension.
                if (str_eq(argv[i], "-S")) {
                        args_add(common_args, argv[i]);
@@ -3264,7 +3278,7 @@ cc_process_args(struct args *args,
                        if (language_for_file(argv[i])) {
                                cc_log("Multiple input files: %s and %s", input_file, argv[i]);
                                stats_update(STATS_MULTIPLE);
-                       } else if (!found_c_opt) {
+                       } else if (!found_c_opt && !found_dc_opt) {
                                cc_log("Called for link with %s", argv[i]);
                                if (strstr(argv[i], "conftest.")) {
                                        stats_update(STATS_CONFTEST);
@@ -3405,7 +3419,7 @@ cc_process_args(struct args *args,
                goto out;
        }
 
-       if (!found_c_opt && !found_S_opt) {
+       if (!found_c_opt && !found_dc_opt && !found_S_opt) {
                if (output_is_precompiled_header) {
                        args_add(common_args, "-c");
                } else {
@@ -3429,7 +3443,7 @@ cc_process_args(struct args *args,
                goto out;
        }
 
-       if (!conf->run_second_cpp && str_eq(actual_language, "cuda")) {
+       if (!conf->run_second_cpp && str_eq(actual_language, "cu")) {
                cc_log("Using CUDA compiler; not compiling preprocessed code");
                conf->run_second_cpp = true;
        }
@@ -3609,6 +3623,10 @@ cc_process_args(struct args *args,
                args_add(*compiler_args, "-c");
        }
 
+       if (found_dc_opt) {
+               args_add(*compiler_args, "-dc");
+       }
+
        for (size_t i = 0; i < arch_args_size; ++i) {
                args_add(*compiler_args, "-arch");
                args_add(*compiler_args, arch_args[i]);
index cfc4398e80c6222a7acf8d1cab9a76f6719b5628..f97ca44101bd834422644a1c4b28268696c90f24 100644 (file)
@@ -1,4 +1,4 @@
-// Copyright (C) 2010-2018 Joel Rosdahl
+// Copyright (C) 2010-2019 Joel Rosdahl
 //
 // This program is free software; you can redistribute it and/or modify it
 // under the terms of the GNU General Public License as published by the Free
@@ -62,8 +62,7 @@ static const struct {
        {".HXX", "c++-header"},
        {".tcc", "c++-header"},
        {".TCC", "c++-header"},
-       {".cu",  "cuda"},
-       {".ic",  "cuda-output"},
+       {".cu",  "cu"},
        {NULL,  NULL}
 };
 
@@ -78,6 +77,7 @@ static const struct {
        {"c++",                      "c++-cpp-output"},
        {"c++-cpp-output",           "c++-cpp-output"},
        {"c++-header",               "c++-cpp-output"},
+       {"cu",                       "cpp-output"},
        {"objective-c",              "objective-c-cpp-output"},
        {"objective-c-header",       "objective-c-cpp-output"},
        {"objc-cpp-output",          "objective-c-cpp-output"},
@@ -86,7 +86,6 @@ static const struct {
        {"objc++-cpp-output",        "objective-c++-cpp-output"},
        {"objective-c++-header",     "objective-c++-cpp-output"},
        {"objective-c++-cpp-output", "objective-c++-cpp-output"},
-       {"cuda",                     "cuda-output"},
        {"assembler-with-cpp",       "assembler"},
        {"assembler",                "assembler"},
        {NULL,  NULL}
index 325a839504fcf0abefb6620839ea765cca3a7bfc..0fd3f0fe3b53eb9f9627ca8f3b7879231ca82268 100644 (file)
@@ -703,9 +703,6 @@ format(const char *format, ...)
        }
        va_end(ap);
 
-       if (!*ptr) {
-               fatal("Internal error in format");
-       }
        return ptr;
 }
 
@@ -1573,7 +1570,7 @@ do_x_unlink(const char *path, bool log_failure)
        // If path is on an NFS share, unlink isn't atomic, so we rename to a temp
        // file. We don't care if the temp file is trashed, so it's always safe to
        // unlink it first.
-       char *tmp_name = format("%s.rm.%s", path, tmp_string());
+       char *tmp_name = format("%s.ccache.rm.tmp", path);
 
        int result = 0;
        if (x_rename(path, tmp_name) == -1) {
index 7c56463c56281b8f58044f69eca9fb88871978ff..4860794f98d3e32b9ea51e870db6ee2fc8735c2f 100644 (file)
@@ -1 +1 @@
-extern const char CCACHE_VERSION[]; const char CCACHE_VERSION[] = "3.7.8";
+extern const char CCACHE_VERSION[]; const char CCACHE_VERSION[] = "3.7.9";
index 3b713c0dc402c4276d98806761fc8464b2e34637..c121a5774d3089b9cec336db30fed796079c137a 100644 (file)
@@ -53,7 +53,7 @@ nvcc_tests() {
     # instead of comparing the binary object files, we compare the dumps of
     # "cuobjdump -all -elf -symbols -ptx -sass test1.o".
     nvcc_opts_cpp="-Wno-deprecated-gpu-targets -c --x c++"
-    nvcc_opts_cuda="-Wno-deprecated-gpu-targets -c"
+    nvcc_opts_cuda="-Wno-deprecated-gpu-targets -c -x cu"
     nvcc_opts_gpu1="--generate-code arch=compute_50,code=compute_50"
     nvcc_opts_gpu2="--generate-code arch=compute_52,code=sm_52"
     ccache_nvcc_cpp="$CCACHE $REAL_NVCC $nvcc_opts_cpp"
@@ -128,6 +128,26 @@ nvcc_tests() {
     $cuobjdump test_cuda.o > test1.dump
     expect_equal_files reference_test3.dump test1.dump
 
+    # -------------------------------------------------------------------------
+    TEST "Option -dc"
+
+    $REAL_NVCC $nvcc_opts_cuda -dc -o reference_test4.o test_cuda.cu
+    $cuobjdump reference_test4.o > reference_test4.dump
+
+    $ccache_nvcc_cuda -dc -o test_cuda.o test_cuda.cu
+    expect_stat 'cache hit (preprocessed)' 0
+    expect_stat 'cache miss' 1
+    expect_stat 'files in cache' 1
+    $cuobjdump test_cuda.o > test4.dump
+    expect_equal_files test4.dump reference_test4.dump
+
+    $ccache_nvcc_cuda -dc -o test_cuda.o test_cuda.cu
+    expect_stat 'cache hit (preprocessed)' 1
+    expect_stat 'cache miss' 1
+    expect_stat 'files in cache' 1
+    $cuobjdump test_cuda.o > test4.dump
+    expect_equal_files test4.dump reference_test4.dump
+
     # -------------------------------------------------------------------------
     TEST "Different defines"