[MSan] false positive from Memory Sanitizer?

In the example below, the Memory Sanitizier (from clang 3.3) reports an error:

#include <math.h>

int main() {
  double x;
  (void) modf(0, &x);
  if (x) { // Boom
    return 1;
  return 0;

I see that modf() is not implemented by compiler-rt. Is it possible
to make the Memory Sanitizer assume that all un-instrumented functions
initialize any pointers arguments?


It is not clear how to do this (that is, without instrumenting the
uninstrumented functions). Applying this logic to all functions with
external linkage would be too aggressive.

Btw, modf is handled in LLVM ToT.
You could also try MSanDR: