[llvm-dev] [compiler-rt] Undefined negation in float emulation functions
Matthew Fernandez via llvm-dev
llvm-dev at lists.llvm.org
Mon Nov 2 03:42:12 PST 2015
On 24/10/15 13:43, Matthew Fernandez wrote:
> ... My intended approach is (1) propose a patch that avoids the signed negation in __floatsidf
> and __floatsisf as you suggested, (2) leave test__absv.i2 as-is as INT_MIN as an input is
> documented to be undefined, and (3) propose a patch that rephrases the left shifts in __absv.i2
> to avoid UB there.
I've posted a version of (1) to llvm-commits and CCed the participants of this thread. If all goes well, I'll send
another patch for (3).
On 30/10/15 11:46, Matthew Fernandez wrote:
>
> I started an attempt at this today, but the current revision, r251669,
> doesn't seem to build for me. I don't recall having problems building
> Clang in the past and this time I just followed the standard getting
> started instructions [0] without any odd flags in my environment. The
> actual error is pages long, but is essentially a link failure when
> forming libc++.so caused by failing to find vtables for things like
> `__cxxabiv1::__si_class_type_info`. Is this a known issue? If the
> solution is not straightforward, perhaps I should move this over to
> Bugzilla.
>
> [0]: http://clang.llvm.org/get_started.html
It turned out my confusion here was because I had cloned libcxx but not libcxxabi into llvm/projects. The LLVM getting
started docs [1] give you this pointer, but the above Clang getting started docs only reference libcxx. Is this an
omission on the Clang site or did I somehow manage to select a feature I shouldn't have? This was on an x86_64 Linux box
where I followed the Clang instructions exactly as written, so I'd be surprised if this was the case.
[1]: http://llvm.org/docs/GettingStarted.html
More information about the llvm-dev
mailing list