https://bugs.kde.org/show_bug.cgi?id=434016
Bug ID: 434016
Summary: Some issue with long double computations
Product: valgrind
Version: unspecified
Platform: Gentoo Packages
OS: Linux
Status: REPORTED
Severity: normal
Priority: NOR
Component: vex
Assignee: [email protected]
Reporter: [email protected]
Target Milestone: ---
/tmp > cat test-ld.c
#include <assert.h>
#include <stdint.h>
static long double max_d = 0xFFFFFFFFFFFFFFFF;
static inline long double to_double(uint64_t value) {
const long double fvalue = value;
return fvalue / max_d;
}
int main() {
long double x = to_double(0xFFFFFFFFFFFFFFFF);
assert(x >= 0);
assert(x <= 1);
return 0;
}
/tmp > gcc -o test test-ld.c
/tmp > ./test
/tmp > valgrind ./test
==999419== Memcheck, a memory error detector
==999419== Copyright (C) 2002-2017, and GNU GPL'd, by Julian Seward et al.
==999419== Using Valgrind-3.16.1 and LibVEX; rerun with -h for copyright info
==999419== Command: ./test
==999419==
test: test-ld.c:14: main: Assertion `x <= 1' failed.
==999419==
==999419== Process terminating with default action of signal 6 (SIGABRT):
dumping core
==999419== at 0x48C61A1: raise (raise.c:50)
==999419== by 0x48AF537: abort (abort.c:79)
==999419== by 0x48AF420: __assert_fail_base.cold (assert.c:92)
==999419== by 0x48BEA51: __assert_fail (assert.c:101)
==999419== by 0x1091C9: main (in /tmp/test)
==999419==
==999419== HEAP SUMMARY:
==999419== in use at exit: 0 bytes in 0 blocks
==999419== total heap usage: 2 allocs, 2 frees, 154 bytes allocated
==999419==
==999419== All heap blocks were freed -- no leaks are possible
==999419==
==999419== For lists of detected and suppressed errors, rerun with: -s
==999419== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)
zsh: abort (core dumped) valgrind ./test
/tmp > valgrind --version
valgrind-3.16.1
/tmp > uname -m
x86_64
/tmp >
--
You are receiving this mail because:
You are watching all bug changes.