Commit Graph

23 Commits

Author SHA1 Message Date
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