[PATCH] D73202: Make AST reading work better with LLVM_APPEND_VC_REV=NO

Nico Weber via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Mon Jan 27 19:13:00 PST 2020


This revision was automatically updated to reflect the committed changes.
Closed by commit rG49532137d087: Make AST reading work better with LLVM_APPEND_VC_REV=NO (authored by thakis).
Herald added a project: clang.

Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D73202/new/

https://reviews.llvm.org/D73202

Files:
  clang/include/clang/Serialization/ASTBitCodes.h
  clang/lib/Frontend/CompilerInvocation.cpp
  clang/test/Modules/diagnostics.modulemap
  clang/test/Modules/exception-spec.cpp
  clang/test/Modules/merge-lifetime-extended-temporary.cpp
  clang/test/Modules/objc-method-redecl.m
  clang/test/Modules/using-decl-inheritance.cpp


Index: clang/test/Modules/using-decl-inheritance.cpp
===================================================================
--- clang/test/Modules/using-decl-inheritance.cpp
+++ clang/test/Modules/using-decl-inheritance.cpp
@@ -1,3 +1,4 @@
+// RUN: rm -rf %t
 // RUN: %clang_cc1 -x c++ -fmodules -fmodules-local-submodule-visibility -fmodules-cache-path=%t %s -verify
 // RUN: %clang_cc1 -x c++ -fmodules -fmodules-cache-path=%t %s -verify
 
Index: clang/test/Modules/objc-method-redecl.m
===================================================================
--- clang/test/Modules/objc-method-redecl.m
+++ clang/test/Modules/objc-method-redecl.m
@@ -1,3 +1,4 @@
+// RUN: rm -rf %t
 // RUN: %clang_cc1 -fmodules -fmodules-cache-path=%t -x objective-c-header -emit-pch %S/Inputs/objc-method-redecl.h -o %t.pch -Wno-objc-root-class
 // RUN: %clang_cc1 -fmodules -fmodules-cache-path=%t -x objective-c -include-pch %t.pch %s -verify -Wno-objc-root-class
 // expected-no-diagnostics
Index: clang/test/Modules/merge-lifetime-extended-temporary.cpp
===================================================================
--- clang/test/Modules/merge-lifetime-extended-temporary.cpp
+++ clang/test/Modules/merge-lifetime-extended-temporary.cpp
@@ -1,3 +1,4 @@
+// RUN: rm -rf %t
 // RUN: %clang_cc1 -fmodules -fimplicit-module-maps -fmodules-cache-path=%t -x c++ -I%S/Inputs/merge-lifetime-extended-temporary -verify -std=c++11 %s -DORDER=1
 // RUN: %clang_cc1 -fmodules -fimplicit-module-maps -fmodules-cache-path=%t -x c++ -I%S/Inputs/merge-lifetime-extended-temporary -verify -std=c++11 %s -DORDER=2
 
Index: clang/test/Modules/exception-spec.cpp
===================================================================
--- clang/test/Modules/exception-spec.cpp
+++ clang/test/Modules/exception-spec.cpp
@@ -1,3 +1,4 @@
+// RUN: rm -rf %t
 // RUN: %clang_cc1 -x c++ -std=c++17 -fmodules -fmodules-local-submodule-visibility -fmodules-cache-path=%t %s -verify
 
 // expected-no-diagnostics
Index: clang/test/Modules/diagnostics.modulemap
===================================================================
--- clang/test/Modules/diagnostics.modulemap
+++ clang/test/Modules/diagnostics.modulemap
@@ -1,3 +1,4 @@
+// RUN: rm -rf %t
 // RUN: not %clang_cc1 -fmodules -fmodules-cache-path=%t -fmodule-map-file=%S/Inputs/diagnostics-aux.modulemap -fmodule-map-file=%s -fsyntax-only -x c++ /dev/null 2>&1 | FileCheck %s --implicit-check-not error:
 
 // CHECK: In file included from {{.*}}diagnostics-aux.modulemap:3:
Index: clang/lib/Frontend/CompilerInvocation.cpp
===================================================================
--- clang/lib/Frontend/CompilerInvocation.cpp
+++ clang/lib/Frontend/CompilerInvocation.cpp
@@ -41,6 +41,7 @@
 #include "clang/Lex/HeaderSearchOptions.h"
 #include "clang/Lex/PreprocessorOptions.h"
 #include "clang/Sema/CodeCompleteOptions.h"
+#include "clang/Serialization/ASTBitCodes.h"
 #include "clang/Serialization/ModuleFileExtension.h"
 #include "clang/StaticAnalyzer/Core/AnalyzerOptions.h"
 #include "llvm/ADT/APInt.h"
@@ -3635,6 +3636,11 @@
   // CityHash, but this will do for now.
   hash_code code = hash_value(getClangFullRepositoryVersion());
 
+  // Also include the serialization version, in case LLVM_APPEND_VC_REV is off
+  // and getClangFullRepositoryVersion() doesn't include git revision.
+  code = hash_combine(code, serialization::VERSION_MAJOR,
+                      serialization::VERSION_MINOR);
+
   // Extend the signature with the language options
 #define LANGOPT(Name, Bits, Default, Description) \
    code = hash_combine(code, LangOpts->Name);
Index: clang/include/clang/Serialization/ASTBitCodes.h
===================================================================
--- clang/include/clang/Serialization/ASTBitCodes.h
+++ clang/include/clang/Serialization/ASTBitCodes.h
@@ -41,7 +41,7 @@
     /// Version 4 of AST files also requires that the version control branch and
     /// revision match exactly, since there is no backward compatibility of
     /// AST files at this time.
-    const unsigned VERSION_MAJOR = 8;
+    const unsigned VERSION_MAJOR = 9;
 
     /// AST file minor version number supported by this version of
     /// Clang.


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D73202.240754.patch
Type: text/x-patch
Size: 4192 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20200128/a1b4e707/attachment.bin>


More information about the cfe-commits mailing list