OVMS3/OVMS.V3/components/duktape/config/config-options/DUK_USE_PARANOID_DATE_COMPUTATION.yaml

16 lines
659 B
YAML

define: DUK_USE_PARANOID_DATE_COMPUTATION
introduced: 1.0.0
default: false # XXX: make default detect C99/C++11?
tags:
- portability
description: >
There was a curious bug where test-bi-date-canceling.js would fail e.g.
on 64-bit Ubuntu, gcc-4.8.1, -m32, and no -std=c99. Some date computations
using doubles would be optimized which then broke some corner case tests.
The problem goes away by adding 'volatile' to the datetime computations.
Not sure what the actual triggering conditions are, but using this on
non-C99 systems solves the known issues and has relatively little cost
on other platforms.
Recommended for non-C99 platforms.