Skip to content

Floating point macros cause SIGSEGV on Windows Server 2012 R2 using MiNGW #101

@brarcher

Description

@brarcher

When attempting to setup Check to build and test in AppVeyor for MinGW and Cygwin it was found that at least MinGW fails to run check_check_export. When run it will raise a SIGSEGV. Attaching a debugger, the failure was found here:

#0 strlen
#1 vsnprintf
#2 _ck_assert_failed  check_check_sub.c:959
#3 test_ck_assert_double_eq

Namely, the vsnprintf(buf, BUFSIZ, msg, ap) call was leading to the failure, where the msg was Assertion ‘%s’ failed: %s == %.*lg, %s == %.*lg.

Removing the double and ldouble tests (floating tests) allows check_check_export to pass.

Note that the same tests pass on a Windows 7 64 bit machine but fail on AppVeyor.
Notes about MinGW and the AppVeyor Windows VM:

  • MinGW compiles for 32 bit, not 64 bit.
  • The Windows VM runs Windows Server 2012 R2, 64 bit.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions