Error messages suggest clang not using expect lld linker?

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

Error messages suggest clang not using expect lld linker?

Boost - Build mailing list
I am trying to use the Clang 6.0.0 compiler  (with some success) on windows 10
but I am confused at this output

user-config contains

using clang
  : # Version.
    6.0.0
  : # Location of Clang compiler .exe file(s).
    "C:/LLVM/clang-600/LLVM/bin/clang++.exe"
  : # Options.
    # <include>"C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/include"
    <compileflags>-v
    <compileflags>-fmsc-version=1900
    <compileflags>--target=i686-pc-windows-msvc
    <define>_CRT_SECURE_NO_DEPRECATE
    <define>_CRT_SECURE_NO_WARNINGS
    <cxxflags>-std=c++17
    <cxxflags>-flto=thin
    <linkflags>-v
    <linkflags>--target=i686-pc-windows-msvc
    <linkflags>-fuse-ld=lld
    <linkflags>-flto=thin
    <linkflags>-lmsvcrt
   ;


I'd like to fix the linker lld (seems to be needed, and it recommend anyway) a bit like

<linker> "C:/LLVM/clang-600/LLVM/bin/llvm-ranlib.exe"  Is this sensible/possible?

but anyway is specified with this

    <linkflags>-fuse-ld=lld
    <linkflags>-flto=thin

What I see in several places is

clang-linux.link
..\..\..\bin.v2\libs\math\example\root_elliptic_finding.test\clang-gnu-linux-6.0.0\release\link-static\threadapi-win32\root_elliptic
_finding.exe
LINK : warning LNK4044: unrecognized option '/-start-group'; ignored
LINK : warning LNK4044: unrecognized option '/Bstatic'; ignored
LINK : warning LNK4044: unrecognized option '/Bdynamic'; ignored
LINK : warning LNK4044: unrecognized option '/-end-group'; ignored
root_elliptic_finding.obj : warning LNK4217: locally defined symbol __std_terminate imported in function "int `class
std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > __cdecl make_root(void)'::`1'::dtor$82"
(?dtor$82@?0??make_root@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@XZ@4HA)
libboost_timer-clang60-x64-1_66.lib(cpu_timer.obj) : warning LNK4049: locally defined symbol __std_terminate imported
root_elliptic_finding.obj : warning LNK4217: locally defined symbol _CxxThrowException imported in function "int `class
catch$41::basic_ostream<char,struct std::char_traits<char> > & __cdecl std::operator<<<struct std::char_traits<char> >(class
catch$41::std &,char const *)'::`1'::catch$41"
(?catch$41@?0???$?6U?$char_traits@D@std@@@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@PEBD@Z@4HA)
libboost_timer-clang60-x64-1_66.lib(cpu_timer.obj) : warning LNK4049: locally defined symbol _CxxThrowException imported

but the *messages* appear to come from the MSVC linker?

I see the warnings using the MSVC linker too and I am not too concerned about them, but I am concerned that I am not using the
expected linker (despite saying clang-linux).

Views?

Thanks

Paul


---
Paul A. Bristow
Prizet Farmhouse
Kendal UK LA8 8AB
+44 (0) 1539 561830





_______________________________________________
Unsubscribe & other changes: https://lists.boost.org/mailman/listinfo.cgi/boost-build