Commit Graph

2335 Commits

Author SHA1 Message Date
Philippe Canal
9cd05070d7 Add missing override keywords 2016-11-16 09:14:22 +01:00
CristinaCristescu
0a895426d2 Code complete only input coming from tty as reported by Reader. 2016-11-16 09:14:22 +01:00
Axel Naumann
e43f5dbaa5 Allow "stealing" unfinished input. Enables resetting as a side-effect. 2016-11-16 09:14:22 +01:00
Bertrand Bellenot
7cffe5e49b Typo 2016-11-16 09:14:22 +01:00
Vassil Vassilev
eb8957c092 Missing includes. 2016-11-16 09:14:22 +01:00
Boris Perovic
60660df4b7 Comments and refactorings (hidden -> masked) in the TextInput. 2016-11-16 09:14:22 +01:00
Bertrand Bellenot
515944b3ac Use correct forward declaration (fix unresolved external symbol at link time) 2016-11-16 09:14:22 +01:00
Axel Naumann
b9a2361691 From martell: the proper spelling is _WIN32. 2016-11-16 09:14:22 +01:00
Axel Naumann
3468d790f1 Make tmp prune files process-unique (ROOT-6539). 2016-11-16 09:14:22 +01:00
Bertrand Bellenot
94a6f1fb8e Small fix for text color in console 2016-11-16 09:14:21 +01:00
Axel Naumann
f67f118588 Removing temporary name. 2016-11-15 16:44:33 +01:00
Axel Naumann
2e7ac15af4 Add missing optimizer libs. 2016-11-15 16:44:32 +01:00
Axel Naumann
3ad4393932 Prepare for -O2 support & dynamic change of optimizer setting.
- Set the opt level on the (temporary) PassManagerBuilder.
- Reuse single FunctionPassManager.
- Pass XYZOptions in to construct optimizer passes lazily.
- Add all passes that clang::EmitAssemblyHelper::CreatePasses() adds.
2016-11-15 16:44:32 +01:00
Axel Naumann
bad1cbc2e0 Follow interface change. 2016-11-15 16:44:32 +01:00
Axel Naumann
2e4b59990d Move BackendPasses to IncrementalExecutor.
They need the TargetMachine - and that's in the IncrementalExecutor.
2016-11-15 16:44:32 +01:00
Axel Naumann
690b7d6fac Reorder includes from derived to base. 2016-11-15 16:44:32 +01:00
Axel Naumann
fc4ea6eade Add missing include guards. 2016-11-15 16:44:32 +01:00
Philippe Canal
18cdccbc85 In AutoloadingVisitor, do not (ever) traverse definitions. 2016-11-14 03:14:37 +01:00
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
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
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