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!
Только зарегистрированные пользователи имеют доступ к сервису!
Для получения аккаунта, обратитесь к администратору.
They are usually provided by clang's BackendUtil - which we don't use and which
has no support for incremental ("streaming") compilation but runs the passes on
the whole module the whole time, and does end-of-TU cleanup (e.g. "dead" code
removal) that we cannot use because subsequent transactions might create new
uses - think force_inline functions that must stay.
Instead BackendPass wraps what's in clang's BackendUtil into a
TransactionTransformer. It gets added to the IR transformers. In the future this
should only transform the delta of one Transaction instead of the whole Module.
This fixes the libc++ issue we worked around by
templates' symbols are not exported anymore and cause missing symbols with
XCode 5.1.
We include ObjC passes even though this blows up the list of linked libraries to
make it easier to port cling to ObjC(++).
This will make sure that the build is 'consistent' and
the source version of the cling include files is not
superseeded by the (possible stale) copy that might
be in interpreter/llvm/inst.
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
allows the generation of a product (eg one of the cling.o file) even-though
one of its dependency (eg. etc/cling/llvm/ADT/OwningPtr.h) has not been
actually built. This seems to happens if the rule to make the dependency
is a pattern rule that depend on a file (eg. interpreter/llvm/inst/include/llvm/ADT/OwningPtr.h)
that does not have a specific rule but is the byproduct of another product
create ($(LLVMLIB)). This is fixed by adding an explicit dependency of the
byproduct (eg. interpreter/llvm/inst/include/llvm/ADT/OwningPtr.h) on
the main product (eg $(LLVMLIB))
git-svn-id: http://root.cern.ch/svn/root/trunk@48804 27541ba8-7e3a-0410-8455-c3a389f83636
* The PE magic is not within the first 64 bytes (only the DOS "MK" is); need to read more to identify DLLs.
* Use Windows's EnumProcessModules() even on cygwin to enumerate the loaded libraries; needs a Windows library (psapi) to be linked in.
* Filter system libraries on Windows: ignore it if contains "/usr/bin/cyg" or the Windows install path.
* Don't export any symbols from clang and llvm, we don't need them outside libCore. Before, all symbols were exported leading to a symbol table overflow.
git-svn-id: http://root.cern.ch/svn/root/trunk@48500 27541ba8-7e3a-0410-8455-c3a389f83636
* make is needed (before make install) to copy tablegen files into install area.
* Rewrite has been split and renamed.
* Have cling/Module.mk depend on llvm-config, such that when it gets built CXXFLAGS etc gets re-read.
git-svn-id: http://root.cern.ch/svn/root/trunk@45920 27541ba8-7e3a-0410-8455-c3a389f83636