Status & Roadmap
Authors & License
Funding Ultimate++
Search on this site
Search in forums

SourceForge.net Logo
Home » Developing U++ » UppHub » Upp package binding for LLVM/Clang library (libclang)
Re: Upp package binding for LLVM/Clang library (libclang) [message #43016 is a reply to message #43015] Wed, 23 April 2014 13:18 Go to previous messageGo to next message
mirek is currently offline  mirek
Messages: 13442
Registered: November 2005
Ultimate Member

sorry to interrupt here, but recently I am playing with the idea of creating Win32 CLANG based U++ release, probably with many 3rd party stuff included, like SDL, OpenSSL etc... Simply said, single download to get everything working...

Would that be viable? How good is clang on windows nowadays?

Re: Upp package binding for LLVM/Clang library (libclang) [message #43017 is a reply to message #43016] Wed, 23 April 2014 14:44 Go to previous messageGo to next message
unodgs is currently offline  unodgs
Messages: 1363
Registered: November 2005
Location: Poland
Ultimate Contributor

It's quite good now and progressing in this area (but I don't know if the latest build parses windows headers without problems). It also accepts cl command line and can be easily used with VS. The newest builds can be found here: http://llvm.org/builds/
Re: Upp package binding for LLVM/Clang library (libclang) [message #43018 is a reply to message #43016] Wed, 23 April 2014 14:56 Go to previous message
Sender Ghost is currently offline  Sender Ghost
Messages: 301
Registered: November 2008
Senior Member
Hello Mirek.
mirek wrote on Wed, 23 April 2014 13:18
How good is clang on windows nowadays?

In my experience, it depends from particular LLVM/Clang version. Latest 3.3 and 3.4 release versions have some exception errors for started applications, while some development versions runs without errors.

For example, LLVM/Clang v3.5 devel from 43006 message is able to build U++ "Simple address book application" (download), TheIDE (download) in single-threaded optimal mode.
But TheIDE in multi-threaded optimal mode fails with following error(s):
Toggle error(s)

So, without further investigation, it's not quite possible to build multi-threaded applications on Windows operating system.

There are other issues, like compile/runtime speed, executable sizes, etc.

There is a possibility to build Clang by Clang compiler, may be even MinGW libraries by Clang compiler (but not sure, because of some unsupported GCC extensions on Clang). There are LLVM linker and "libc++" C++ Standard Library in development. I didn't test them on Windows to say about results.

Personally, I have successful experience on FreeBSD with LLVM/Clang. It's more mature here, than on Windows. But from development point of view, this all was required to adapt/patch many FreeBSD ports by developers/maintainers.

mirek wrote on Wed, 23 April 2014 13:18
Would that be viable?

The idea is interesting, but realisation is complicated, in current development stage.
You could try it out, may be even with Visual C++ compiler, as Uno said. Then it will be possible to get more affirmative answer.

I tried clang-cl.exe with MSC9 builder with following application:
Toggle source code

And got following errors:
Toggle errors

To be able change compiler name for TheIDE to "clang-cl", I changed MSC builder with following source code:
Toggle changes

This changes are not needed if you copy clang-cl.exe to cl.exe or use cl.exe from llvm\msbuild-bin path. They are the same executables, but with different names, which activates Visual C++ or GCC (in case of clang++.exe) driver mode (as shown on tools/driver/driver.cpp 218, 224 and 227 lines).

[Updated on: Fri, 25 April 2014 10:44]

Report message to a moderator

Previous Topic: PieChart: Title disable
Next Topic: LedLabel new package
Goto Forum:

Current Time: Thu Oct 21 08:28:54 CEST 2021

Total time taken to generate the page: 0.01969 seconds