ChuanqiXu added a comment.

When I run this locally, it emits several unexpected errors:

  While building module 'library':
  In file included from <module-includes>:2:
  
/disk2/workspace.xuchuanqi/llvm-project-for-work/build/tools/clang/test/Modules/Output/merge-var-template-spec.cpp.tmp/var2.h:4:32:
 error: redefinition of 'zero'
  template <class T> constexpr T zero = 0;
                                 ^
  
/disk2/workspace.xuchuanqi/llvm-project-for-work/build/tools/clang/test/Modules/Output/merge-var-template-spec.cpp.tmp/var1.h:4:32:
 note: previous definition is here
  template <class T> constexpr T zero = 0;
                                 ^
  While building module 'library':
  In file included from <module-includes>:2:
  
/disk2/workspace.xuchuanqi/llvm-project-for-work/build/tools/clang/test/Modules/Output/merge-var-template-spec.cpp.tmp/var2.h:5:8:
 error: redefinition of 'Int'
  struct Int {
         ^
  
/disk2/workspace.xuchuanqi/llvm-project-for-work/build/tools/clang/test/Modules/Output/merge-var-template-spec.cpp.tmp/var1.h:5:8:
 note: previous definition is here
  struct Int {
         ^
  While building module 'library':
  In file included from <module-includes>:2:
  
/disk2/workspace.xuchuanqi/llvm-project-for-work/build/tools/clang/test/Modules/Output/merge-var-template-spec.cpp.tmp/var2.h:8:27:
 error: redefinition of 'zero<Int>'
  template <> constexpr int zero<Int> = {0};
                            ^
  
/disk2/workspace.xuchuanqi/llvm-project-for-work/build/tools/clang/test/Modules/Output/merge-var-template-spec.cpp.tmp/var1.h:8:27:
 note: previous definition is here
  template <> constexpr int zero<Int> = {0};
                            ^
  While building module 'library':
  In file included from <module-includes>:2:
  
/disk2/workspace.xuchuanqi/llvm-project-for-work/build/tools/clang/test/Modules/Output/merge-var-template-spec.cpp.tmp/var2.h:9:33:
 error: redefinition of 'zero<T *>'
  template <class T> constexpr T* zero<T*> = nullptr;
                                  ^
  
/disk2/workspace.xuchuanqi/llvm-project-for-work/build/tools/clang/test/Modules/Output/merge-var-template-spec.cpp.tmp/var1.h:9:33:
 note: previous definition is here
  template <class T> constexpr T* zero<T*> = nullptr;
                                  ^
  4 errors generated.





================
Comment at: clang/test/Modules/merge-var-template-spec-cxx-modules.cpp:1
+// RUN: rm -rf %t
+// RUN: mkdir %t
----------------
Maybe it is better to rename this as `merge-var-template-spec.cppm` since we 
uses the suffix `.cppm` as a note for c++20 modules.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D131258

_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to