dblaikie added inline comments.

================
Comment at: clang/test/PCH/codegen-extern-template.cpp:1-9
+// Build the PCH with extern template.
+// RUN: %clang -x c++-header %S/codegen-extern-template.h -o %t.pch -Xclang 
-building-pch-with-obj -Xclang -fmodules-codegen
+// Build the PCH's object file.
+// RUN: %clang -c %s -include-pch %t.pch -Xclang -building-pch-with-obj 
-Xclang -fmodules-codegen -o %t.1.o
+// Build source with explicit template instantiation.
+// RUN: %clang -c %s -DMAIN -include-pch %t.pch -o %t.2.o
+// There should be no unresolved symbol.
----------------
Please reduce the test to not rely on linking - it should check for the IR 
output of clang (not object output) for the symbols that should/shouldn't be 
present.

Specifically the main function is probably unneeded - and only the explicit 
template specialization definition is needed. The test would then verify that 
the required function definition is present in the IR output.

Also - to simplify this, could you change this to use an inline function 
template - rather than a member function? It'd make it more clear that it's the 
function template with 'inline' (rather than relying on the implicit inline 
from member functions).


================
Comment at: clang/test/PCH/codegen-extern-template.h:1-16
+// header for codegen-extern-template.cpp
+#pragma once
+
+template< typename T >
+struct A
+{
+   T foo() { return 10;}
----------------
Please run this (& the .cpp file) through clang-format, and change the #pragma 
once to standard header include guards (#define/etc).


Repository:
  rC Clang

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

https://reviews.llvm.org/D69779



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

Reply via email to