Package Details: templight Jan14-2

Package Base: templight
Description: C++ Template Debugger/Profiler patch for clang 3.5 (rev199501)
Upstream URL: http://plc.inf.elte.hu/templight/
Category: devel
Licenses: UIUC
Submitter: schulmar
Maintainer: schulmar
Last Packager: None
Votes: 1
First Submitted: 2013-12-13 10:48
Last Updated: 2014-03-31 12:12

Latest Comments

Comment by schulmar

2014-03-31 12:16

@felipemalmeida: I could reproduce the error and use the patched diff file (as you described it) to produce the given compiler error. After some fiddling around it turned out that the error should not occur and it only does so when building with make (i.e. when I run the exact same command as make to build the SemaTemplateInstatiate.cpp it runs fine). Since I did not want to sink too much time into an error that is no error, I have reverted to using the 3.5 trunk revision 199501 with the original patch, which works as advertised (at least at my place).

Comment by felipemalmeida

2014-03-30 23:08

I'm also getting this error:

llvm[4]: Compiling SemaTemplateInstantiate.cpp for Release build
In file included from SemaTemplateInstantiate.cpp:29:
In file included from /home/felipe/tecgraf/templight/src/llvm/include/llvm/Object/YAML.h:18:
/home/felipe/tecgraf/templight/src/llvm/include/llvm/Support/YAMLTraits.h:497:36: error: implicit instantiation of
undefined template 'llvm::yaml::MissingTrait<std::basic_string<char> >'
char missing_yaml_trait_for_type[sizeof(MissingTrait<T>)];
^
/home/felipe/tecgraf/templight/src/llvm/include/llvm/Support/YAMLTraits.h:433:7: note: in instantiation of function
template specialization 'llvm::yaml::yamlize<std::basic_string<char> >' requested here
yamlize(*this, Val, Required);
^
/home/felipe/tecgraf/templight/src/llvm/include/llvm/Support/YAMLTraits.h:387:11: note: in instantiation of function
template specialization 'llvm::yaml::IO::processKey<std::basic_string<char> >' requested here
this->processKey(Key, Val, true);
^
SemaTemplateInstantiate.cpp:79:8: note: in instantiation of function template specialization
'llvm::yaml::IO::mapRequired<std::basic_string<char> >' requested here
io.mapRequired("Kind", Entry.InstantiationKind);
^
/home/felipe/tecgraf/templight/src/llvm/include/llvm/Support/YAMLTraits.h:157:8: note: template is declared here
struct MissingTrait;
^
1 error generated.
/home/felipe/tecgraf/templight/src/llvm/Makefile.rules:1473: recipe for target '/home/felipe/tecgraf/templight/src/llvm/tools/clang/lib/Sema/Release/SemaTemplateInstantiate.o' failed
make[4]: *** [/home/felipe/tecgraf/templight/src/llvm/tools/clang/lib/Sema/Release/SemaTemplateInstantiate.o] Error 1
make[4]: Leaving directory '/home/felipe/tecgraf/templight/src/llvm/tools/clang/lib/Sema'
/home/felipe/tecgraf/templight/src/llvm/Makefile.rules:900: recipe for target 'Sema/.makeall' failed
make[3]: *** [Sema/.makeall] Error 2
make[3]: Leaving directory '/home/felipe/tecgraf/templight/src/llvm/tools/clang/lib'
/home/felipe/tecgraf/templight/src/llvm/Makefile.rules:851: recipe for target 'all' failed
make[2]: *** [all] Error 1
make[2]: Leaving directory '/home/felipe/tecgraf/templight/src/llvm/tools/clang'
/home/felipe/tecgraf/templight/src/llvm/Makefile.rules:900: recipe for target 'clang/.makeall' failed
make[1]: *** [clang/.makeall] Error 2
make[1]: Leaving directory '/home/felipe/tecgraf/templight/src/llvm/tools'
/home/felipe/tecgraf/templight/src/llvm/Makefile.rules:851: recipe for target 'all' failed
make: *** [all] Error 1

Comment by felipemalmeida

2014-03-30 23:05

Hello,

Patching is failing with the upstream templight patch. I've managed to apply this for SemaType.cpp (the rest is OK).

Index: lib/Sema/SemaType.cpp
===================================================================
--- lib/Sema/SemaType.cpp (revision 199752)
+++ lib/Sema/SemaType.cpp (working copy)
@@ -5131,6 +5131,11 @@
createImplicitModuleImport(Loc, Owner);
}
}
+ // BEGIN TEMPLIGHT
+ else if (Def) {
+ traceMemoization(Def, Loc);
+ }
+ // END TEMPLIGHT

return false;
}