Philippe Canal
ce71bc9a5b
In AutoloadingVisitor, record and use the fact on whether we are traversing an autolading decl or not.
...
This affects whether we need to remove an inherit default or not (and vice et versa).
2016-11-14 03:14:37 +01:00
Philippe Canal
1b59773c18
In AutoloadingVisitor loop only from most recent decl to the autoloading decl.
...
I.e. only look at those that could have been affected directly by the content of the autoloading decl
2016-11-14 03:14:37 +01:00
Philippe Canal
7eb4413288
Revert 0547f09, i.e. re-extend default argument removal to more decls
2016-11-14 03:14:37 +01:00
Philippe Canal
b126607e4a
Consider a decl an autoloading decl only if the annotation is not inherited
2016-11-14 03:14:37 +01:00
Philippe Canal
d066ad6061
Add test of the case where the definition are indirectly included
2016-11-14 03:14:37 +01:00
Philippe Canal
1bd0822562
Test for ROOT-8443
...
Test clean-up of forward decl with or without template default parameter and user forward decl
also with or without template default parameter and located before or after the inclusion
of the annotated/dictionary forward decls.
2016-11-14 03:14:37 +01:00
Philippe Canal
6920d6d460
Add cling version of test for ROOT-7037
2016-11-14 03:14:37 +01:00
Pere Mato
ac05814edc
Ensure that cling-compiledata.h is not taken from sources in preference
2016-11-11 10:29:42 +01:00
Axel Naumann
c9ad1f4a41
Only skipToEOF if needed.
2016-11-10 18:14:07 +01:00
Axel Naumann
87a972e570
Improve consistency for cling -x cuda.
2016-11-09 17:59:49 +01:00
Philippe Canal
a8bce0d416
Temporarily disable the default argument removal
2016-11-09 07:44:04 +01:00
Philippe Canal
8b1afa0e6b
In AutoloadingVisitor only unload enum decl that comes from the rootmap file
2016-11-08 22:59:56 +01:00
Philippe Canal
7c9379ac93
Refactor in RequireCompleteDeclContext the 'Update the DeclContext used for lookup to point to the definition.'
...
This superseeds 4fa2f7a38e37303b3bb5a9ba01d762122e8d9814, 2b4de2603a086162f89fd5eb16aa0d5fddac8a6e and 384f6eabcd2d02512b942215d7ae52ff40954027
2016-11-08 22:59:56 +01:00
Philippe Canal
bcf5b6f182
Remove traces of the default template argument in all the decl in the decl chains.
...
Fix part 1 of ROOT-8443
2016-11-08 20:14:31 +01:00
Axel Naumann
f5fe133410
Add clangParse needed by ParserStateRAII.
2016-11-08 08:44:16 +01:00
Axel Naumann
87585f78e0
Move -ldl to Utils, now that PlatformXYZ git moved.
2016-11-08 08:44:16 +01:00
Axel Naumann
58a6a94804
In the RAII ctor, set private Parser fields to default values.
2016-11-07 15:29:52 +01:00
Axel Naumann
3847e2560d
Split ParserStateRAII into Utils/. We need it in other places.
2016-11-07 15:29:52 +01:00
David Abdurachmanov
432c91f534
Set code model to Large for PowerPC64 (aka ppc64le)
...
This is needed because TOC and text sections can be more than 2GB
apart. LLVM SectionMemoryManager is not aware of the design limits of
ppc64le while allocating memory for JIT'ed sections. DSO limit was set
to 2GB by design. While running CMSSW ROOT/Cling puts TOC and .text.func
~2.7GB apart in VA space. Usually was triggered by TFormula in CMSSW.
IBM has modified global entry function prologue. TOC is now stored in
64-bit value before global entry to allow addressing beyond 2GB.
This was merged to Clang months ago, but is only applicable to large
code model.
Later IBM propagated this further:
- binutils patches are here:
https://sourceware.org/ml/binutils/2015-11/msg00232.html
https://sourceware.org/ml/binutils/2015-11/msg00233.html
and will be available with binutils 2.26
- GCC patch is here:
https://gcc.gnu.org/ml/gcc-patches/2015-12/msg00355.html
and will be available with GCC 6.0.
- LLVM patch is here:
http://lists.llvm.org/pipermail/llvm-commits/Week-of-Mon-20160111/324454.html
and will be available with LLVM 3.8.
- Kernel patches (module loader etc.) are here:
https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=a61674bdfc7c2bf909c4010699607b62b69b7bec
https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=2e50c4bef77511b42cc226865d6bc568fa7f8769
and will be available with Linux 4.5.
Signed-off-by: David Abdurachmanov <David.Abdurachmanov@cern.ch>
2016-11-07 13:02:51 +01:00
Axel Naumann
3711cd0658
Unloaded Decls are now put back into CodeGen, no need to mark used.
2016-11-07 13:02:51 +01:00
Axel Naumann
4cec420bf1
Unloaded declarations are now put back into CodeGen; no need to mark them used.
2016-11-07 13:02:51 +01:00
Axel Naumann
6cdabe2aa1
Provide directory (and not dir+name) in _path, for $PATH comparison.
2016-11-01 18:23:45 +01:00
Axel Naumann
a3ed23c7ec
Revert "Missing realpath on compiler directory; should fix CMS."
...
This was a red herring.
This reverts commit b33080d18d605ef33013fabc59314729fd48d295.
2016-11-01 18:23:45 +01:00
Axel Naumann
4793a14f07
Missing realpath on compiler directory; should fix CMS.
...
(cherry picked from commit 812c8b6dab03b66b9b17d0c180f6da15a8810cd0)
2016-11-01 18:23:45 +01:00
erlanger
293931e1d5
Try APPLE instead of XCODE
...
Signed-off-by: Vassil Vassilev <vvasilev@cern.ch>
2016-10-26 15:10:30 +02:00
erlanger
c262858fb2
XCODE fix for unresolved symbols
...
Signed-off-by: Vassil Vassilev <vvasilev@cern.ch>
2016-10-26 15:10:30 +02:00
erlanger
84b96e5980
Include all symbols from interpreter in jupyter shared lib
...
Signed-off-by: Vassil Vassilev <vvasilev@cern.ch>
2016-10-26 15:10:30 +02:00
Axel Naumann
64100180b6
Do not crash if no executor is alife.
2016-10-20 18:22:25 +02:00
Axel Naumann
8dcf1c8b46
Revert "Implement IsMemoryValid natively on OSX. 250% faster!"
...
This reverts commit 09d1e4d4b4246e3c738379188e1780522ba70ccf.
It is actually much much slower on MacOS 10.11 and 10.12.
2016-10-20 11:52:41 +02:00
Roman Zulak
74cb06a22f
Fixes issues where symbols can be improperly aligned for llvm::PointerIntPair Use std::pair instead of llvm::PointerIntPair.
...
Signed-off-by: Vassil Vassilev <vvasilev@cern.ch>
2016-10-19 13:54:07 +02:00
Roman Zulak
3e765d8ac9
Add platform::POpen.
...
Fixes ClangInternalState::differentContent showing no differences when there
actually are, just less than 128 characters in length.
Invoking diff on Windows with --ignore-matching-lines arguments will fail because the command string is too long. Using Windows APIs to launch the process succeeds.
Signed-off-by: Vassil Vassilev <vvasilev@cern.ch>
2016-10-18 17:53:22 +02:00
Roman Zulak
182954b87f
Windows: Match UCRT Version from build environment if possible.
...
Signed-off-by: Vassil Vassilev <vvasilev@cern.ch>
2016-10-18 17:53:22 +02:00
Roman Zulak
3acc9e577d
OSX: Use MAC_OS_X_VERSION_MAX_ALLOWED to infer SDK compiled with.
...
Signed-off-by: Vassil Vassilev <vvasilev@cern.ch>
2016-10-18 17:53:22 +02:00
Roman Zulak
508039082b
OSX: Actually choose highest SDK version and fallback to lexical sort.
...
Signed-off-by: Vassil Vassilev <vvasilev@cern.ch>
2016-10-18 17:53:22 +02:00
Roman Zulak
3d83bd70df
Cleanup utils::SplitPaths.
...
Signed-off-by: Vassil Vassilev <vvasilev@cern.ch>
2016-10-18 17:53:22 +02:00
Roman Zulak
4c97ee61c6
Log progress adding environmental library paths.
...
Signed-off-by: Vassil Vassilev <vvasilev@cern.ch>
2016-10-18 17:53:22 +02:00
Roman Zulak
37f86f9a4a
Add platform::kEnvDelim to avoid having #ifdefs for calls to SplitPaths.
...
Signed-off-by: Vassil Vassilev <vvasilev@cern.ch>
2016-10-18 17:53:22 +02:00
Roman Zulak
f5633ed248
Use std::string for IncrementalJIT symbol lookup. Many callers already have a string, most functions called want them, and it's cheaper to construct an llvm::StringRef than a std::string when needed.
...
Signed-off-by: Vassil Vassilev <vvasilev@cern.ch>
2016-10-18 17:53:21 +02:00
Roman Zulak
8f44fe40c5
Remove unnecessary StringRefs and strlen calls to construct them.
...
Signed-off-by: Vassil Vassilev <vvasilev@cern.ch>
2016-10-18 17:53:21 +02:00
Roman Zulak
c3869d00cc
Windows: Fix looking up data symbols in process' libraries. Consolidate llvm::DynamicLibrary usage into IncrementalJIT.cpp. Add comments describing larger issue.
...
Signed-off-by: Vassil Vassilev <vvasilev@cern.ch>
2016-10-18 17:53:21 +02:00
Roman Zulak
2bc6a5c66b
Move windows::LookupSymbol to platform::DLSym
...
Signed-off-by: Vassil Vassilev <vvasilev@cern.ch>
2016-10-18 17:53:21 +02:00
Roman Zulak
0cf6aec6a7
Lookup Windows functions in process.
...
Signed-off-by: Vassil Vassilev <vvasilev@cern.ch>
2016-10-18 17:53:21 +02:00
Roman Zulak
b2ab0a55e0
Make GetVisualStudioVersionCompiledWith private, and error out for untested versions.
...
Signed-off-by: Vassil Vassilev <vvasilev@cern.ch>
2016-10-18 17:53:21 +02:00
Roman Zulak
71eb51a1d2
Windows: Make CheckABICompatibility check a header dependent constant.
...
Previously the check was for a standard installation of VisualStudio.
That check will have likely passed already, but the user could have
forced the include paths making the prior check somewhat meaningless.
Signed-off-by: Vassil Vassilev <vvasilev@cern.ch>
2016-10-18 17:53:21 +02:00
Roman Zulak
1dadbe2495
Refactor CheckABICompatibility into a more legible version. Standardize error message. Return whether the ABI matched or not.
...
Signed-off-by: Vassil Vassilev <vvasilev@cern.ch>
2016-10-18 17:53:21 +02:00
Roman Zulak
6c2ab5c9d2
Reformat includes and remove Windows.h dependency.
...
Signed-off-by: Vassil Vassilev <vvasilev@cern.ch>
2016-10-18 17:53:21 +02:00
Roman Zulak
2436242710
Fix windows::GetSystemRegistryString to get values of immediate children.
...
Signed-off-by: Vassil Vassilev <vvasilev@cern.ch>
2016-10-18 17:53:21 +02:00
Roman Zulak
1e3509c5c4
Implement IsMemoryValid natively on OSX. 250% faster!
...
Signed-off-by: Vassil Vassilev <vvasilev@cern.ch>
2016-10-18 17:53:21 +02:00
Roman Zulak
caa8628784
Merge pointer checking statics into one object. One thread barrier is better than two.
...
Signed-off-by: Vassil Vassilev <vvasilev@cern.ch>
2016-10-18 17:53:21 +02:00
Roman Zulak
2eae759f98
Add platform::IsMemoryValid.
...
Signed-off-by: Vassil Vassilev <vvasilev@cern.ch>
2016-10-18 17:53:21 +02:00