96 Commits

Author SHA1 Message Date
Axel Naumann
d7b99d80fc Disable module validation: it takes ages. 2014-03-28 15:51:03 +01:00
Axel Naumann
3aea38dd3d CXXExceptions are C++, not Exceptions. 2014-03-25 10:25:01 +01:00
Axel Naumann
c65443727d Only turn on C++11 (and other C++ LangOpts) if C++ is enabled. 2014-03-24 16:25:00 +01:00
Axel Naumann
931608551b Enforce that cling uses clang with our patches, not a user-provided clang. 2014-03-18 09:18:07 +01:00
Vassil Vassilev
62318fcbc7 80 cols 2014-03-14 10:52:28 +01:00
Axel Naumann
ab0e63a547 Only use native target, avoids --enable-targets=host. 2014-03-08 18:47:08 +01:00
Axel Naumann
e0bc9916ab Use LC_ALL to unfrenchify (ROOT-6017). 2014-02-05 16:51:51 +01:00
Axel Naumann
db215325b9 Report if we cannot extract the stdlib -I. 2014-02-05 11:27:53 +01:00
Axel Naumann
c5d8345125 Force non-French; ROOT-6017. 2014-02-04 14:32:57 +01:00
Axel Naumann
287423d065 Be more verbose when unable to detect the stdlib version. 2014-02-03 19:00:55 +01:00
Axel Naumann
73da3a41bd Make ABI mismatch a warning (ROOT-5961). 2014-01-17 17:25:50 +01:00
Axel Naumann
4d577a9bf2 Generate cling/lib/Interpreter/cling-compiledata.h. 2014-01-14 16:20:14 +01:00
Axel Naumann
44481ace1e Fix license; remove $Id$ version. 2014-01-07 11:14:04 +01:00
Bertrand Bellenot
c5e6d0d0ed Fix compilation error on Windows (popen and pclose are called _popen and _pclose on Windows) 2013-12-20 13:55:55 +01:00
Axel Naumann
822b9363ef Move std lib check / -I to cling; use __GLIBCXX__ for libstdc++. Fixes cling on MacOS 10.9 2013-12-18 16:25:53 +01:00
Vassil Vassilev
41b685f2f1 Add clarification comment. 2013-11-25 13:56:02 +01:00
Vassil Vassilev
b2da538302 When non default memory buffer is provided add a common include file.
When a CI is created with a custom membory buffer, we can just set it as the
main memory buffer, becuase when clang tries to compare the include chains it
won't find common predecessor and either will infinite-loop or crash.
2013-11-25 13:56:02 +01:00
Vassil Vassilev
47df4b334b Comment 2013-11-25 13:56:02 +01:00
Vassil Vassilev
a0912520ee Reduce the hacky-ness of the state collector setup.
The second compilerInstance doesn't need to collect anything, thus we don't
need to attach it to the PP.
2013-11-25 13:56:02 +01:00
CristinaCristescu
1d06b2725b Workaround multiple DeclCollector instances. 2013-11-25 13:56:02 +01:00
CristinaCristescu
d6e2f85d1c Fix and improve macro error recovery. 2013-11-25 13:56:02 +01:00
CristinaCristescu
0490caaa99 Macro recovery 2013-11-25 13:56:00 +01:00
Axel Naumann
c31806dbbf SmallString needs 0 termination. 2013-09-26 17:54:19 +02:00
Axel Naumann
1873ced2f9 Better include. 2013-09-26 17:54:18 +02:00
Axel Naumann
2a8bc0226b Options moved to llvm; CI->createDiagnostics; Path 2013-09-26 17:54:17 +02:00
Vassil Vassilev
71910784b3 Instead of removing the FileEntry 'just' invalidate its cache.
When there is an error introduced by #include-ing a file we should be able to
hit the disk (in cling's context) the next time. The user could fix it in the
meanwhile.

Newer clang supports a flag which can be used to mark the user files as volatile.
This means that the file stat will be invalidated, causing clang to hit the
disk and fetch the new content of the FileEntry.

The complication comes from the fact that when the file size of the file entry
is invalidated the cache in the SourceManager is not syncronized, thus clang
issued an error. The patch in clang checks if the file size == 0 and the
modification time == 0 this means that we are in cling's context and have to sync
the cache and continue with no errors.

This fixes an issue exposed by Jerome's implementation. Before we removed the
entire FileEntry to achieve the same behavior, however the SourceManager kept
the reference to it. This leads to seg faults when iterating over the included
files (eg. .files or .storeState)
2013-09-18 20:33:04 +02:00
Vassil Vassilev
65f672f802 Add clarification comment. 2013-06-25 09:30:33 +02:00
Axel Naumann
09bf261456 Fix for __float128 / c++11; define __CLING__CXX11 for c++11 2013-06-13 14:03:03 +02:00
Vassil Vassilev
e74e7655d0 Revert "Progress on the llvm multi-module support."
This reverts commit 9d78faef6a45cb16c05fe7a96d9e2eb9fb2c1298.
2013-06-05 16:26:51 +02:00
Vassil Vassilev
b1d11c2987 Progress on the llvm multi-module support.
Now we build a llvm::Module per cling::Transaction and link them in on commit.
2013-06-05 16:26:51 +02:00
Philippe Canal
24ebb4d011 Remove debug sillyness 2013-05-06 14:11:28 -05:00
Philippe Canal
28d1af630f In cpp-land X<=value is true if X is undefined. This fixes the C++03 builds. 2013-05-06 13:00:44 -05:00
Axel Naumann
15ca40c1a2 Automatically and centrally detect C++11-mode based on how CIFactory.cpp is compiled; turn on cling's LangOpt.CPlusPlus11 accordingly.
No need to rely on ROOT's config flag anymore.
2013-05-06 17:22:16 +02:00
Axel Naumann
e66fc22305 No color if not a terminal; see clang/lib/Driver/Tools.cpp:3200
git-svn-id: http://root.cern.ch/svn/root/trunk@49329 27541ba8-7e3a-0410-8455-c3a389f83636
2013-04-24 19:49:12 +00: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
Vassil Vassilev
e380ed68ba Move the #include ctime along with the use of time().
git-svn-id: http://root.cern.ch/svn/root/trunk@49126 27541ba8-7e3a-0410-8455-c3a389f83636
2013-04-08 15:40:32 +00:00
Axel Naumann
8389c5b1e1 Merge development from branches/dev/root6-pch into the trunk: enable PCH for ROOT.
git-svn-id: http://root.cern.ch/svn/root/trunk@48958 27541ba8-7e3a-0410-8455-c3a389f83636
2013-03-27 18:07:03 +00:00
Axel Naumann
77ba6929b0 v5 of patches.
Remaining:
* callfunc issues finding functions
* vtable issues (likely related)
* in stressHistogram: Test  3: Projection with Range for Histograms and Profiles................OK
  Error in <TStreamerInfo::Build>: TProfile, unknown type: EErrorType fErrorMode


git-svn-id: http://root.cern.ch/svn/root/branches/dev/root6-pch@48858 27541ba8-7e3a-0410-8455-c3a389f83636
2013-03-11 13:11:15 +00:00
Axel Naumann
94a345f528 Modules can be enabled through flags into Interpreter()
git-svn-id: http://root.cern.ch/svn/root/trunk@48716 27541ba8-7e3a-0410-8455-c3a389f83636
2013-02-26 14:41:08 +00:00
Axel Naumann
0a703cc12c Move target-specific -D after the definition of the target!
git-svn-id: http://root.cern.ch/svn/root/trunk@48223 27541ba8-7e3a-0410-8455-c3a389f83636
2013-01-08 08:23:09 +00:00
Axel Naumann
34e7fa0f67 Add missing cygwin arch defines as reported by Angelo Gaziosi. Will report to clang later, once we know that this works.
git-svn-id: http://root.cern.ch/svn/root/trunk@48222 27541ba8-7e3a-0410-8455-c3a389f83636
2013-01-08 08:12:33 +00:00
Paul Russo
b5ec57da5b Turn off the codegen option CXXCtorDtorAliases for the
jit.  This prevents codegen from implementing a complete
constructor by using a linker alias to the base constructor,
instead it emits the function itself.  This prevents the
jit from crashing on simple code.


git-svn-id: http://root.cern.ch/svn/root/trunk@48053 27541ba8-7e3a-0410-8455-c3a389f83636
2012-12-14 22:23:19 +00:00
Vassil Vassilev
ed96f22a74 Make use of the new patch in the vendor branch. Setting the TU to TU_Complete
will force generation of the vtables of referenced classes.


git-svn-id: http://root.cern.ch/svn/root/trunk@47821 27541ba8-7e3a-0410-8455-c3a389f83636
2012-12-04 15:22:10 +00:00
Vassil Vassilev
df045c6cf4 It doesn't leak, it is refcounted by the compiler instance.
git-svn-id: http://root.cern.ch/svn/root/trunk@46560 27541ba8-7e3a-0410-8455-c3a389f83636
2012-10-16 09:58:08 +00:00
Axel Naumann
adcf034af3 Enable Modules by default for cling.
git-svn-id: http://root.cern.ch/svn/root/trunk@46140 27541ba8-7e3a-0410-8455-c3a389f83636
2012-09-24 13:52:26 +00:00
Axel Naumann
05ba8a3a07 Move cling from cint/ to interpreter/ (Will add a "we have moved" readme to cint/cling.)
git-svn-id: http://root.cern.ch/svn/root/trunk@45844 27541ba8-7e3a-0410-8455-c3a389f83636
2012-09-05 09:37:39 +00:00