--- /dev/null
+ #undef INT64_MAX
+
--- /dev/null
+ #include "stdint.h"
+
--- /dev/null
+#include "Blah.h"
+ int use = INT64_MAX;
+
--- /dev/null
+module cstd { module stdint { header "stdint.h" } }
+module LLVMSupport { module Blah { header "Blah.h" export * } module AIX { header "AIX.h" } }
+module LLVMTarget { module Blah { header "TBlah.h" export * } module Foo { header "TFoo.h" } }
--- /dev/null
+#include "TFoo.h"
+#include "stdint.h"
+
+ int k = INT64_MAX; // error!
+
--- /dev/null
+ #define INT64_MAX 42
+
--- /dev/null
+// RUN: rm -rf %t
+// RUN: %clang_cc1 -I%S/Inputs/pr19692 -verify %s
+// RUN: %clang_cc1 -fmodules -fmodules-cache-path=%t -I%S/Inputs/pr19692 -verify %s
+#include "TFoo.h"
+#include "stdint.h"
+
+int k = INT64_MAX; // expected-no-diagnostics