Commit Graph

925 Commits

Author SHA1 Message Date
Axel Naumann
0782d4d515 Make CompilationException public, (also) use new cling runtime exception as base. 2013-09-09 18:02:53 +02:00
Axel Naumann
0a9be4bfd1 Install fatal error handler throwing an exception. Yes that is dangerous. 2013-09-09 18:02:53 +02:00
Vassil Vassilev
5873981203 File was renamed. 2013-09-09 17:31:53 +02:00
Vassil Vassilev
7875d921f6 Update the Module.mk. (Sorry for the mess). 2013-09-09 16:10:59 +02:00
Baozeng Ding
a46498e831 Adapt the test suite to the new warnings produced.
Disable the indirect calls. We don't support them yet on AST level.
2013-09-09 15:38:51 +02:00
Baozeng Ding
2fe19f6639 Reduce the dependence from the IR. It will be soon replaced by the AST one. 2013-09-09 15:38:51 +02:00
Vassil Vassilev
bffd16ea1d RuntimeExceptions got renamed. 2013-09-09 15:24:51 +02:00
Vassil Vassilev
8e9970d472 Rename filename. We don't use plural in the names... 2013-09-09 15:04:51 +02:00
Baozeng Ding
04d71f9f82 Pass in the Expr* instead of the SourceLocation. 2013-09-09 14:45:51 +02:00
Vassil Vassilev
fe753e0bb2 Spell it syntactically correct. 2013-09-09 14:33:56 +02:00
Vassil Vassilev
6cb325d52a Try silence an warning. 2013-09-09 14:04:50 +02:00
Vassil Vassilev
aa1cd1d208 Fix doxygen warning. 2013-09-09 13:14:55 +02:00
Vassil Vassilev
1a2a7862c5 Propagate the new callback to our InterpreterCallbacks interface. 2013-09-09 13:14:55 +02:00
Vassil Vassilev
a779afdcc1 Don't use local type as template argument. 2013-09-07 12:26:52 +02:00
Vassil Vassilev
0c4a39f10f Handle better the exceptions. 2013-09-07 10:46:54 +02:00
Vassil Vassilev
89d47f66d1 Improve the look&feel of the exception classes. 2013-09-07 10:46:54 +02:00
Baozeng Ding
905c97724b Remove the unused code. 2013-09-07 10:41:01 +02:00
Jerome Beclin
afcd8a7cca Commit of storeState/compareState that now print lookup table and included files
Implementation of .files moved in the Interpreter.cpp

storeState now calls three functions: dumpAST(), dumpLookup(), printIncludedFiles().
compareState now calls three functions: compareAST(), compareLookup(), compareIncludedFiles().
It's working for the included files and the AST, and it needs a new patch for
being able to dump the lookup tables (we cannot use dumpLookups() for the moment).
2013-09-07 10:41:01 +02:00
Jerome Beclin
624354cfb4 Commit Interpreter.cpp with dumpLookupTable() function not working yet.
This will be fully operational after the LLVM/Clang update.
2013-09-07 10:41:00 +02:00
Vassil Vassilev
34d2c33c18 Handle the default interpreter's runtime exception. 2013-09-06 23:47:55 +02:00
Vassil Vassilev
7c6324d79b Add base class for the interpreter's runtime exceptions. 2013-09-06 23:47:55 +02:00
Vassil Vassilev
683a11e9e9 Use default cling style for naming classes. 2013-09-06 23:47:55 +02:00
Vassil Vassilev
eff9830b09 Add missing header method declarations. 2013-09-06 23:47:54 +02:00
Baozeng Ding
fc01cf6743 Add forgotten to commit file. 2013-09-06 23:47:54 +02:00
Baozeng Ding
2224bba3a7 Synthesize throwing of exception to handle the null deref. 2013-09-06 23:47:54 +02:00
Philippe Canal
aa29aa9eb9 Remove dead code (coverity 52208) 2013-09-06 06:25:54 +02:00
Vassil Vassilev
8618646281 Copy the RuntimeExceptions.h over. Should fix the build. 2013-09-05 21:04:53 +02:00
Vassil Vassilev
342918a4b9 Adapt to _Bool -> bool Use reg expr, because when building cling standalone we should still get _Bool. 2013-09-05 19:08:56 +02:00
Baozeng Ding
927ecd4c53 If we know at compile time that something is wrong - throw without checks. 2013-09-05 19:08:56 +02:00
Vassil Vassilev
f282a9a7b9 Add proper handling of the runtime exception. 2013-09-05 19:08:56 +02:00
Vassil Vassilev
7e7951185b Add special exception type for the null deref exceptions. 2013-09-05 19:08:55 +02:00
Baozeng Ding
6b560aadba Implement the null deref checker on AST level.
We need to throw an exception if null deref is done. If we continued to do that
generating IR it would be too difficult to get the exception semantics and
cleanups right. Thus we decided to do it on AST level and delegate to codegen
generate the concrete IR that we need.
2013-09-05 19:08:55 +02:00
Philippe Canal
44891a9b46 Update doxygen doc 2013-09-05 13:52:52 +02:00
Philippe Canal
7f50f375ab In ParseProto register the addresses after the array is completely resized 2013-09-04 23:01:54 +02:00
Philippe Canal
26a63ae38f Add missing transaction (fix .class) 2013-09-04 18:32:55 +02:00
Axel Naumann
5e68396609 Fix constness. 2013-09-04 15:51:54 +02:00
Axel Naumann
88077c7e68 Add getter for dylib handle (against unused warning); remove unused kBitcode 2013-09-04 15:51:53 +02:00
Philippe Canal
7b7e237d81 adapt to new interface 2013-09-03 15:26:56 +02:00
Philippe Canal
5572e076ac Do not desugar typedef pointing to compiler 'details'.
Rather than skipping the desugaring of typedef pointing to anything in std, we
skip the desugaring of typedef pointing to a type starting with an underscore.
2013-09-03 13:18:55 +02:00
Philippe Canal
53bf555194 In GetPartiallyDesugaredType add ability to replace a type by a typedef.
Add struct cling::utils::Transform::Config to hold both the list of typedef to
avoid desugaring (m_toSkip) and the list of type to replace by a nicer typedef
(m_toReplace).

This is used to replace basic_string<...> by std::string.
2013-09-03 13:18:55 +02:00
Philippe Canal
3777a7194e Try without 'blocking' desugaring of typedef to std entities 2013-09-03 13:18:55 +02:00
Vassil Vassilev
92ffc7afd7 Check if there were errors and only if there were not - run. 2013-09-01 16:52:53 +02:00
Philippe Canal
f13c81470a We must have a function implementation to take its address 2013-08-31 20:49:07 +02:00
Philippe Canal
fc90db23ba In ReturnSynthesizer add better support for RecordType.
When we dectect that the last expression is a record type and is not
a temporary, we now return it by reference, hence avoiding an unnecessary
and sometimes impossible (cout) copy.   If it is a temporary we still
return a 'copy'.
2013-08-31 20:49:07 +02:00
Paul Russo
d96e4132f7 Support function to function pointer decay in return value. 2013-08-31 00:42:52 +02:00
Axel Naumann
1a69f792c4 Add newline; (some?) fwd decls do not have one. 2013-08-30 18:08:55 +02:00
Vassil Vassilev
431a716ac3 Remove unused variable. 2013-08-29 11:50:53 +02:00
Philippe Canal
52da28145b Fix ROOT-5442, wrong normalization of std::vector<myNamespace::myClass1*>::const_iterator
GetPartiallyDesugaredType was 'forgetting' to add full qualification of the
template parameters in some case (where the template paramter in the
QualType was not yet an elaborated type).  Extend the internal interface to
distinguish when we need to add full qualification to the type itself or its
template parameters.
2013-08-29 08:59:59 +02:00
Philippe Canal
f127f8797f Add missing operators in ParseWithShortcuts. 2013-08-28 17:48:53 +02:00
Vassil Vassilev
a6f245a8b4 Don't play smart* use proper empty str as default arg. 2013-08-28 16:44:01 +02:00