Philippe Canal
576ca3ca96
Remove trailing spaces
2014-08-13 16:08:36 +02:00
Timur Pocheptsov
035f23752b
Clean up.
2014-04-14 09:08:59 +02:00
Timur Pocheptsov
cc6ae43942
.namespace command.
2014-04-14 08:55:03 +02:00
Timur Pocheptsov
3115300308
Protect against recursive definitions (for example,
...
data members of a type we're already priting - either static data member or "cross-references").
2014-03-21 11:24:58 +01:00
Axel Naumann
a7c08683ae
Decl iteration can trigger deserialization; use PushTransactionRAII.
2014-02-20 17:12:58 +01:00
Axel Naumann
789648df2d
Add switch for lookup diags; enable it for gDebug>5 (ROOT-6070, ROOT-6044).
...
Use enum to avoid ambiguities between consecutive bollean args.
Use less default args to avoid Type* -> bool conversion.
2014-02-19 08:39:58 +01:00
Axel Naumann
44481ace1e
Fix license; remove $Id$ version.
2014-01-07 11:14:04 +01:00
Axel Naumann
0c59578ed3
Header renamed.
2013-09-26 17:54:17 +02:00
Philippe Canal
26a63ae38f
Add missing transaction (fix .class)
2013-09-04 18:32:55 +02:00
Vassil Vassilev
b202f00c12
We now keep track of the deserialized declarations in the transaction, because ROOT needs the callbacks to be fired on deserialized bunch of declarations.
...
Track down (almost) all places that might trigger deserialization of declarations
and wrap it with cling::PushTransactionRAII. I could solve it much more elegantly
by putting that RAII in the callback of the ExternalASTSource, but I wanted to be
verbose and denote all the places that trigger deserializations in ROOT. This
will help us in future optimize this code, because we want to deserialize as
rare as possible.
This should make roottest a bit happier.
2013-08-04 18:44:55 +02:00
Axel Naumann
70695fe2be
Update to clang/llvm r179269 (llvm vendor branch r49215):
...
Parser::Scope versus Sema::DeclContext are now checked for cross-vailidity.
Emit the TU-transaction explicitly instead of relying on a first transaction.
The typename extraction now takes a stream instead of a string to write to.
The llvm::Linker has much reduced functionality; use llvm::sys::Path instead to find dynamic libraries.
git-svn-id: http://root.cern.ch/svn/root/trunk@49325 27541ba8-7e3a-0410-8455-c3a389f83636
2013-04-24 16:28:08 +00:00
Philippe Canal
84e8217b0c
Add forward declared class to the list of classes and mark them with 'fwd'
...
git-svn-id: http://root.cern.ch/svn/root/trunk@48455 27541ba8-7e3a-0410-8455-c3a389f83636
2013-02-01 20:58:10 +00:00
Philippe Canal
9b52eb38da
Extent .class to print the class template instantiation (and specialization) which are often (always?) stored in the class template decl
...
git-svn-id: http://root.cern.ch/svn/root/trunk@48436 27541ba8-7e3a-0410-8455-c3a389f83636
2013-01-29 22:39:00 +00:00
Vassil Vassilev
1ae610b211
Fix savannah #99234 .
...
The issue we experienced is that we couldn't pipe the output in the terminal.
The reason is that we were using llvm::outs() which closes explicitly the file
descriptor (thanks Axel for the help debugging).
We introduce our custom stream, which keeps the file descriptor open so that
we can use it in pipes. For debugging purposes, however we use/should use llvm::errs()
The lesson learned:
DONT USE LLVM::OUTS() ANYMORE!
git-svn-id: http://root.cern.ch/svn/root/trunk@48316 27541ba8-7e3a-0410-8455-c3a389f83636
2013-01-17 15:27:14 +00:00
Philippe Canal
b5ccfdfe18
Fully desugar the typedef underlying type
...
git-svn-id: http://root.cern.ch/svn/root/trunk@47895 27541ba8-7e3a-0410-8455-c3a389f83636
2012-12-06 17:08:19 +00:00
Philippe Canal
8b517ca71f
We need to the typedef type printed fully qualified which typdefDecl::print does not seem to be able to do. Add a couple of missing header lines
...
git-svn-id: http://root.cern.ch/svn/root/trunk@47871 27541ba8-7e3a-0410-8455-c3a389f83636
2012-12-06 06:57:39 +00:00
Philippe Canal
6bc1db9883
Add error message in case the decl is not a class or does not have definition
...
git-svn-id: http://root.cern.ch/svn/root/trunk@47870 27541ba8-7e3a-0410-8455-c3a389f83636
2012-12-06 05:15:07 +00:00
Timur Pocheptsov
6a649ea5f4
'Class-name' can contain spaces, like in 'std::vector<int, std::allocator<int> >'
...
git-svn-id: http://root.cern.ch/svn/root/trunk@47862 27541ba8-7e3a-0410-8455-c3a389f83636
2012-12-05 16:36:42 +00:00
Timur Pocheptsov
964bde36f1
Print diagnostic, if class was not found.
...
git-svn-id: http://root.cern.ch/svn/root/trunk@47859 27541ba8-7e3a-0410-8455-c3a389f83636
2012-12-05 16:09:15 +00:00
Timur Pocheptsov
76e614c8ee
Initial version of '.typedef' command.
...
git-svn-id: http://root.cern.ch/svn/root/trunk@47856 27541ba8-7e3a-0410-8455-c3a389f83636
2012-12-05 15:44:04 +00:00
Timur Pocheptsov
77e5b37f8c
Oops, remove an assert.
...
git-svn-id: http://root.cern.ch/svn/root/trunk@47852 27541ba8-7e3a-0410-8455-c3a389f83636
2012-12-05 13:23:12 +00:00
Timur Pocheptsov
4bae258b78
Support for 'typedef' command.
...
git-svn-id: http://root.cern.ch/svn/root/trunk@47851 27541ba8-7e3a-0410-8455-c3a389f83636
2012-12-05 13:20:58 +00:00
Axel Naumann
7fa822b411
Remove unused var.
...
Make const string static.
git-svn-id: http://root.cern.ch/svn/root/trunk@47809 27541ba8-7e3a-0410-8455-c3a389f83636
2012-12-04 09:37:11 +00:00
Vassil Vassilev
a189526360
Cling/LLVM style Include order.
...
git-svn-id: http://root.cern.ch/svn/root/trunk@47761 27541ba8-7e3a-0410-8455-c3a389f83636
2012-12-01 14:04:29 +00:00
Vassil Vassilev
d5d88ab9df
Timur.
...
git-svn-id: http://root.cern.ch/svn/root/trunk@47760 27541ba8-7e3a-0410-8455-c3a389f83636
2012-12-01 14:00:22 +00:00
Timur Pocheptsov
c49a19a255
Though I can not always follow 80-chars-in-a-line rule, I still can avoid too wide lines
...
(except the cases I want the code to be in one physical line).
Say hello to my Samsung VGA 14 inches and my glasses -7 :)
git-svn-id: http://root.cern.ch/svn/root/trunk@47718 27541ba8-7e3a-0410-8455-c3a389f83636
2012-11-29 20:40:53 +00:00
Timur Pocheptsov
c03019ab27
Remove undef hack and change inclusion quard.
...
git-svn-id: http://root.cern.ch/svn/root/trunk@47717 27541ba8-7e3a-0410-8455-c3a389f83636
2012-11-29 20:12:47 +00:00
Timur Pocheptsov
ba38abf955
Follow the code convention with * and & declarators.
...
git-svn-id: http://root.cern.ch/svn/root/trunk@47716 27541ba8-7e3a-0410-8455-c3a389f83636
2012-11-29 20:09:41 +00:00
Timur Pocheptsov
a187d773b9
Remove llvm:: qualified name where possible, relying on the name lookup.
...
git-svn-id: http://root.cern.ch/svn/root/trunk@47715 27541ba8-7e3a-0410-8455-c3a389f83636
2012-11-29 19:48:39 +00:00
Timur Pocheptsov
dc65a8f2c4
Remove explicit name qualification and replace it with "nice" using directive at the beginning of implementation file.
...
git-svn-id: http://root.cern.ch/svn/root/trunk@47714 27541ba8-7e3a-0410-8455-c3a389f83636
2012-11-29 19:42:43 +00:00
Timur Pocheptsov
46a3404e6f
2 spaces instead of 3 in indents.
...
git-svn-id: http://root.cern.ch/svn/root/trunk@47713 27541ba8-7e3a-0410-8455-c3a389f83636
2012-11-29 19:35:33 +00:00
Timur Pocheptsov
7af5326d79
Do not attempt to calculate the size for a partial template specialization class.
...
git-svn-id: http://root.cern.ch/svn/root/trunk@47687 27541ba8-7e3a-0410-8455-c3a389f83636
2012-11-28 19:50:50 +00:00
Timur Pocheptsov
d61e44e47d
Clang dies in EmptySubobjectMap::ComputeEmptySubobjectSizes(), one of bases for some weird class is not of
...
RecordType.
git-svn-id: http://root.cern.ch/svn/root/trunk@47685 27541ba8-7e3a-0410-8455-c3a389f83636
2012-11-28 19:15:10 +00:00
Timur Pocheptsov
10b8039f2f
Replace hand-made BaseName with llvm::sys::path::filename.
...
git-svn-id: http://root.cern.ch/svn/root/trunk@47679 27541ba8-7e3a-0410-8455-c3a389f83636
2012-11-28 17:13:31 +00:00
Timur Pocheptsov
f474053b85
1. Remove all ROOT specific code from the TCintDisplayXXX and move this "display" into the MetaProcessor.
...
2. Mods in CommandLexer to support .! .g .class in a MetaProcessor.
git-svn-id: http://root.cern.ch/svn/root/trunk@47674 27541ba8-7e3a-0410-8455-c3a389f83636
2012-11-28 16:38:02 +00:00