Commit Graph

75 Commits

Author SHA1 Message Date
Vassil Vassilev
6cf3f346bb Use markdown 2014-02-27 12:49:09 +01:00
Vassil Vassilev
2cbe319c77 Use Consistent naming. 2014-02-21 10:41:03 +01:00
Axel Naumann
484f30fe50 Move from patches to git repo. 2014-01-07 11:51:04 +01:00
Vassil Vassilev
8247202478 Update the clang PP diff. 2013-12-06 12:09:59 +01:00
Vassil Vassilev
99e19e1399 Add the change in the PreProcessor as a patch. 2013-11-25 16:15:57 +01:00
Vassil Vassilev
c8d2952d2b Add a standalone patch. 2013-10-29 20:19:26 +01:00
Vassil Vassilev
369cbcc891 From Peter Kummel and me: Update the diff to use the new llvm infrastructure. 2013-10-21 16:59:05 +02:00
Vassil Vassilev
96a013d91a Reduce/update patches. 2013-10-20 15:22:03 +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
Axel Naumann
be70c52ce7 This patch affects files in llvm, not clang. 2013-08-26 12:07:52 +02:00
Axel Naumann
1e2f3a7a23 Adjust patch paths. 2013-08-26 12:07:52 +02:00
Axel Naumann
cd85c7e8d3 Get the file patch right. 2013-08-21 16:43:33 +02:00
Axel Naumann
955c7befdf Remove non-llvm patch parts; fix paths 2013-08-21 15:28:52 +02:00
Axel Naumann
0fe9a71e36 Add interface for creating a DyLib from an existing handle. 2013-08-21 14:06:56 +02:00
Axel Naumann
072f5eeb9d Patch not needed anymore; we only open one DynamicLibrary (0, the process). 2013-08-21 14:06:56 +02:00
Vassil Vassilev
6b26c3a415 Add the new diagnostic as a patch. 2013-07-27 20:43:00 +02:00
Axel Naumann
1fb7213ca6 Add targets cling-only; install-cling - reduces build-time for cling. ROOT-4868 2013-05-17 10:40:47 +02:00
Axel Naumann
0d017b11bc Instead of changing -I to pick up the new location of RAIIObjectsForParser.h use a forwarding #include in the old file.
Prevents issues with -I order (i.e. finding the file that was emptied by patch before the one in the new location).
2013-04-26 18:02:44 +02:00
Axel Naumann
05d4e8f8d9 Improve patch paths.
git-svn-id: http://root.cern.ch/svn/root/trunk@49365 27541ba8-7e3a-0410-8455-c3a389f83636
2013-04-26 12:11:20 +00:00
Axel Naumann
f2386d9e23 Fix patch paths.
git-svn-id: http://root.cern.ch/svn/root/trunk@49364 27541ba8-7e3a-0410-8455-c3a389f83636
2013-04-26 12:09:54 +00:00
Axel Naumann
14c6595959 Update cling's patches to be relative to its LastKnownGood.
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
2013-04-26 11:45:17 +00:00
Vassil Vassilev
896a4b3f76 From Axel and me: Add new patch which we will apply to our vendor drop.
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
2013-04-25 16:42:12 +00:00
Axel Naumann
036345c5c4 Add forgotten part of the patch.
git-svn-id: http://root.cern.ch/svn/root/trunk@49212 27541ba8-7e3a-0410-8455-c3a389f83636
2013-04-11 06:55:07 +00:00
Axel Naumann
5ce1193a62 Revert type_loweing patch, remove it.
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
2013-04-10 11:52:26 +00:00
Axel Naumann
a3efe6ce54 Append clang_CodeGen_staticInit.diff to type_lowering.diff to enforce patch order: first move CodeGenModule.h, then patch.
git-svn-id: http://root.cern.ch/svn/root/trunk@49075 27541ba8-7e3a-0410-8455-c3a389f83636
2013-04-04 12:59:01 +00:00
Axel Naumann
8ce98b6610 Should be relative to llvm/src/
git-svn-id: http://root.cern.ch/svn/root/trunk@48978 27541ba8-7e3a-0410-8455-c3a389f83636
2013-03-28 14:06:11 +00:00
Axel Naumann
5c82a5d7bd Merge from PCH dev branch: patch for clang.
git-svn-id: http://root.cern.ch/svn/root/trunk@48977 27541ba8-7e3a-0410-8455-c3a389f83636
2013-03-28 14:04:37 +00:00
Vassil Vassilev
300466790f Add correspoding patch ready to go in clang's mainline.
git-svn-id: http://root.cern.ch/svn/root/trunk@47820 27541ba8-7e3a-0410-8455-c3a389f83636
2012-12-04 15:21:06 +00:00
Vassil Vassilev
e02c6a1da8 Update the patch corresponding to the latest change in the vendor drop.
git-svn-id: http://root.cern.ch/svn/root/trunk@47561 27541ba8-7e3a-0410-8455-c3a389f83636
2012-11-21 20:25:46 +00:00
Fons Rademakers
c77d19d969 patch to turn off the -fvisibility-inlines-hidden option.
git-svn-id: http://root.cern.ch/svn/root/trunk@47373 27541ba8-7e3a-0410-8455-c3a389f83636
2012-11-16 17:09:37 +00:00
Vassil Vassilev
4761e31353 The patch has to be relative to llvm/src.
git-svn-id: http://root.cern.ch/svn/root/trunk@47368 27541ba8-7e3a-0410-8455-c3a389f83636
2012-11-16 16:24:09 +00:00
Vassil Vassilev
3c768be374 Patch adding the support for the case of TFile::Open(...);
git-svn-id: http://root.cern.ch/svn/root/trunk@47360 27541ba8-7e3a-0410-8455-c3a389f83636
2012-11-16 15:38:19 +00:00
Paul Russo
f8b1205d19 Use the DestroyTemplateIdAnnotationsRAIIObj to cleanup
template ids after a parse.


git-svn-id: http://root.cern.ch/svn/root/trunk@47335 27541ba8-7e3a-0410-8455-c3a389f83636
2012-11-15 20:19:21 +00:00
Axel Naumann
6379c2a21d Use the proper extention and you will be applied.
git-svn-id: http://root.cern.ch/svn/root/trunk@47328 27541ba8-7e3a-0410-8455-c3a389f83636
2012-11-15 18:11:08 +00:00
Axel Naumann
956567cf9e Make DynamicLibrary sortable.
git-svn-id: http://root.cern.ch/svn/root/trunk@47322 27541ba8-7e3a-0410-8455-c3a389f83636
2012-11-15 16:39:23 +00:00
Vassil Vassilev
b7beb7fabe That part of the patch is in separate patch now.
git-svn-id: http://root.cern.ch/svn/root/trunk@47317 27541ba8-7e3a-0410-8455-c3a389f83636
2012-11-15 14:25:02 +00:00
Vassil Vassilev
e57bbc6e10 Patch allowing if the found decl is fwd declare it asks the autoloader to try to find full one.
git-svn-id: http://root.cern.ch/svn/root/trunk@47301 27541ba8-7e3a-0410-8455-c3a389f83636
2012-11-15 01:42:17 +00:00
Vassil Vassilev
8c3ce66b05 Patch allowing clang to interact with multiple parsers recursively.
git-svn-id: http://root.cern.ch/svn/root/trunk@47296 27541ba8-7e3a-0410-8455-c3a389f83636
2012-11-15 00:08:23 +00:00
Vassil Vassilev
d83f3a9bec Needed changes in clang to support *almost* autoloading.
git-svn-id: http://root.cern.ch/svn/root/trunk@47294 27541ba8-7e3a-0410-8455-c3a389f83636
2012-11-15 00:05:43 +00:00
Paul Russo
ecbd7d40af Sigh, fix revision v47289, it should have been
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
2012-11-14 23:08:01 +00:00
Paul Russo
418d601061 Change this to a diff of only interpreter/llvm/src
to make EC happy.


git-svn-id: http://root.cern.ch/svn/root/trunk@47289 27541ba8-7e3a-0410-8455-c3a389f83636
2012-11-14 21:39:10 +00:00
Paul Russo
afe62b76cb Use CodeGen to lower an AST type to a LLVM type.
git-svn-id: http://root.cern.ch/svn/root/trunk@47285 27541ba8-7e3a-0410-8455-c3a389f83636
2012-11-14 21:23:31 +00:00
Axel Naumann
b288115cb2 Forgot Unix/DynamicLibrary.inc again...
git-svn-id: http://root.cern.ch/svn/root/trunk@47275 27541ba8-7e3a-0410-8455-c3a389f83636
2012-11-14 16:02:59 +00:00
Axel Naumann
5fb988d5bc Fix check for "had been loaded"; Windows.
git-svn-id: http://root.cern.ch/svn/root/trunk@47271 27541ba8-7e3a-0410-8455-c3a389f83636
2012-11-14 15:33:26 +00:00
Axel Naumann
785d0248b6 Test step one of patch series.
git-svn-id: http://root.cern.ch/svn/root/trunk@47269 27541ba8-7e3a-0410-8455-c3a389f83636
2012-11-14 15:03:52 +00:00
Axel Naumann
6ed50f2718 Forgot Unix/DynamicLibrary.inc
git-svn-id: http://root.cern.ch/svn/root/trunk@47264 27541ba8-7e3a-0410-8455-c3a389f83636
2012-11-14 14:39:48 +00:00
Axel Naumann
4cc0b70524 Fix Windows, hopefully.
git-svn-id: http://root.cern.ch/svn/root/trunk@47261 27541ba8-7e3a-0410-8455-c3a389f83636
2012-11-14 13:49:01 +00:00
Axel Naumann
deec25c0aa Add unload; test on Windows.
git-svn-id: http://root.cern.ch/svn/root/trunk@47260 27541ba8-7e3a-0410-8455-c3a389f83636
2012-11-14 13:05:10 +00:00
Axel Naumann
0ab4535b91 Windows: almost there.
git-svn-id: http://root.cern.ch/svn/root/trunk@47244 27541ba8-7e3a-0410-8455-c3a389f83636
2012-11-13 21:21:17 +00:00
Axel Naumann
7c5a1820ae Fix Windows, third try, grr.
git-svn-id: http://root.cern.ch/svn/root/trunk@47243 27541ba8-7e3a-0410-8455-c3a389f83636
2012-11-13 20:49:01 +00:00