IF YOU WOULD LIKE TO GET AN ACCOUNT, please write an
email to Administrator. User accounts are meant only to access repo
and report issues and/or generate pull requests.
This is a purpose-specific Git hosting for
BaseALT
projects. Thank you for your understanding!
Только зарегистрированные пользователи имеют доступ к сервису!
Для получения аккаунта, обратитесь к администратору.
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)
Simplify some of the patches by reverting some of the changed llvm / clang files to the original ones.
git-svn-id: http://root.cern.ch/svn/root/trunk@49363 27541ba8-7e3a-0410-8455-c3a389f83636
The ROOT autoloading works at two different levels:
L1 - on missing declaration that Sema expects.
L2 - on missing library symbol.
If there is a missing library function it the LLVM JIT will inform us through
its lazy function creator. However, for the purpose of the autoloading we need to
react not only to missing functions but to missing any symbols. Thus we need to
enhance the non-function symbol search to fire the lazy function creator callback.
Note this is a gross hack, we should come up with a more elegant way of solving
this.
git-svn-id: http://root.cern.ch/svn/root/trunk@49355 27541ba8-7e3a-0410-8455-c3a389f83636
Instead publish the single interface we actually need: ConvertType().
Add the corresponding patch.
This brings cling's clang much closer to the original, making the update a lot easier.
git-svn-id: http://root.cern.ch/svn/root/trunk@49192 27541ba8-7e3a-0410-8455-c3a389f83636
the type lowering fix, but instead it was the
template id cleanup fix.
git-svn-id: http://root.cern.ch/svn/root/trunk@47292 27541ba8-7e3a-0410-8455-c3a389f83636