This revision was landed with ongoing or failed builds. This revision was automatically updated to reflect the committed changes. Closed by commit rG5cff68fca0bc: [Module] Respect `-fno-pch-timestamps` when building modules (authored by steven_wu).
Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D141632/new/ https://reviews.llvm.org/D141632 Files: clang/lib/Frontend/FrontendActions.cpp clang/test/Modules/timestamps.c Index: clang/test/Modules/timestamps.c =================================================================== --- /dev/null +++ clang/test/Modules/timestamps.c @@ -0,0 +1,30 @@ +/// Verify timestamps that gets embedded in the module +#include <c-header.h> + +// RUN: rm -rf %t +// RUN: %clang_cc1 -fmodules -fimplicit-module-maps -fdisable-module-hash \ +// RUN: -fmodules-cache-path=%t -I %S/Inputs %s +// RUN: cp %t/c_library.pcm %t1.pcm +// RUN: llvm-bcanalyzer --dump --disable-histogram %t1.pcm > %t1.dump +// RUN: FileCheck %s --check-prefix=CHECK --check-prefix=TIMESTAMP --input-file %t1.dump +// RUN: rm -rf %t +// RUN: %clang_cc1 -fmodules -fimplicit-module-maps -fdisable-module-hash \ +// RUN: -fmodules-cache-path=%t -I %S/Inputs -fno-pch-timestamp %s +// RUN: cp %t/c_library.pcm %t2.pcm +// RUN: llvm-bcanalyzer --dump --disable-histogram %t2.pcm > %t2.dump +// RUN: FileCheck %s --check-prefix=CHECK --check-prefix=NOTIMESTAMP --input-file %t2.dump +// RUN: not diff %t1.dump %t2.dump + + +// CHECK: <INPUT_FILES_BLOCK NumWords=[[#]] BlockCodeSize=[[#]]> +// CHECK-NEXT: <INPUT_FILE abbrevid=4 op0=1 op1=[[#]] +// TIMESTAMP-NOT: op2=0 +// NOTIMESTAMP: op2=0 +// CHECK-SAME: blob data = 'module.map' +// CHECK-NEXT: <INPUT_FILE_HASH abbrevid=[[#]] op0=[[#]] op1=[[#]]/> +// CHECK-NEXT: <INPUT_FILE abbrevid=4 op0=2 op1=[[#]] +// TIMESTAMP-NOT: op2=0 +// NOTIMESTAMP: op2=0 +// CHECK-SAME: blob data = 'c-header.h' +// CHECK-NEXT: <INPUT_FILE_HASH abbrevid=[[#]] op0=[[#]] op1=[[#]]/> +// CHECK-NEXT: </INPUT_FILES_BLOCK> Index: clang/lib/Frontend/FrontendActions.cpp =================================================================== --- clang/lib/Frontend/FrontendActions.cpp +++ clang/lib/Frontend/FrontendActions.cpp @@ -202,7 +202,8 @@ /*AllowASTWithErrors=*/ +CI.getFrontendOpts().AllowPCMWithCompilerErrors, /*IncludeTimestamps=*/ - +CI.getFrontendOpts().BuildingImplicitModule, + +CI.getFrontendOpts().BuildingImplicitModule && + +CI.getFrontendOpts().IncludeTimestamps, /*ShouldCacheASTInMemory=*/ +CI.getFrontendOpts().BuildingImplicitModule)); Consumers.push_back(CI.getPCHContainerWriter().CreatePCHContainerGenerator(
Index: clang/test/Modules/timestamps.c =================================================================== --- /dev/null +++ clang/test/Modules/timestamps.c @@ -0,0 +1,30 @@ +/// Verify timestamps that gets embedded in the module +#include <c-header.h> + +// RUN: rm -rf %t +// RUN: %clang_cc1 -fmodules -fimplicit-module-maps -fdisable-module-hash \ +// RUN: -fmodules-cache-path=%t -I %S/Inputs %s +// RUN: cp %t/c_library.pcm %t1.pcm +// RUN: llvm-bcanalyzer --dump --disable-histogram %t1.pcm > %t1.dump +// RUN: FileCheck %s --check-prefix=CHECK --check-prefix=TIMESTAMP --input-file %t1.dump +// RUN: rm -rf %t +// RUN: %clang_cc1 -fmodules -fimplicit-module-maps -fdisable-module-hash \ +// RUN: -fmodules-cache-path=%t -I %S/Inputs -fno-pch-timestamp %s +// RUN: cp %t/c_library.pcm %t2.pcm +// RUN: llvm-bcanalyzer --dump --disable-histogram %t2.pcm > %t2.dump +// RUN: FileCheck %s --check-prefix=CHECK --check-prefix=NOTIMESTAMP --input-file %t2.dump +// RUN: not diff %t1.dump %t2.dump + + +// CHECK: <INPUT_FILES_BLOCK NumWords=[[#]] BlockCodeSize=[[#]]> +// CHECK-NEXT: <INPUT_FILE abbrevid=4 op0=1 op1=[[#]] +// TIMESTAMP-NOT: op2=0 +// NOTIMESTAMP: op2=0 +// CHECK-SAME: blob data = 'module.map' +// CHECK-NEXT: <INPUT_FILE_HASH abbrevid=[[#]] op0=[[#]] op1=[[#]]/> +// CHECK-NEXT: <INPUT_FILE abbrevid=4 op0=2 op1=[[#]] +// TIMESTAMP-NOT: op2=0 +// NOTIMESTAMP: op2=0 +// CHECK-SAME: blob data = 'c-header.h' +// CHECK-NEXT: <INPUT_FILE_HASH abbrevid=[[#]] op0=[[#]] op1=[[#]]/> +// CHECK-NEXT: </INPUT_FILES_BLOCK> Index: clang/lib/Frontend/FrontendActions.cpp =================================================================== --- clang/lib/Frontend/FrontendActions.cpp +++ clang/lib/Frontend/FrontendActions.cpp @@ -202,7 +202,8 @@ /*AllowASTWithErrors=*/ +CI.getFrontendOpts().AllowPCMWithCompilerErrors, /*IncludeTimestamps=*/ - +CI.getFrontendOpts().BuildingImplicitModule, + +CI.getFrontendOpts().BuildingImplicitModule && + +CI.getFrontendOpts().IncludeTimestamps, /*ShouldCacheASTInMemory=*/ +CI.getFrontendOpts().BuildingImplicitModule)); Consumers.push_back(CI.getPCHContainerWriter().CreatePCHContainerGenerator(
_______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits