summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.gitignore1
-rw-r--r--test/build.info5
-rw-r--r--test/rsa_complex.c27
3 files changed, 32 insertions, 1 deletions
diff --git a/.gitignore b/.gitignore
index d618cd692b..1b0f25cc81 100644
--- a/.gitignore
+++ b/.gitignore
@@ -59,6 +59,7 @@ Makefile
/test/v3ext
/test/versions
/test/ossl_shim/ossl_shim
+/test/rsa_complex
# Certain files that get created by tests on the fly
/test/test-runs
diff --git a/test/build.info b/test/build.info
index fa154f07ee..c0b8ecee20 100644
--- a/test/build.info
+++ b/test/build.info
@@ -26,7 +26,7 @@ INCLUDE_MAIN___test_libtestutil_OLB = /INCLUDE=main
PROGRAMS_NO_INST=\
versions \
aborttest test_test \
- sanitytest exdatatest bntest \
+ sanitytest rsa_complex exdatatest bntest \
ectest ecstresstest ecdsatest gmdifftest pbelutest ideatest \
md2test \
hmactest \
@@ -64,6 +64,9 @@ INCLUDE_MAIN___test_libtestutil_OLB = /INCLUDE=main
INCLUDE[sanitytest]=../include
DEPEND[sanitytest]=../libcrypto libtestutil.a
+ SOURCE[rsa_complex]=rsa_complex.c
+ INCLUDE[rsa_complex]=../include
+
SOURCE[test_test]=test_test.c
INCLUDE[test_test]=../include
DEPEND[test_test]=../libcrypto libtestutil.a
diff --git a/test/rsa_complex.c b/test/rsa_complex.c
new file mode 100644
index 0000000000..fac581254a
--- /dev/null
+++ b/test/rsa_complex.c
@@ -0,0 +1,27 @@
+/*
+ * Copyright 2018 The OpenSSL Project Authors. All Rights Reserved.
+ *
+ * Licensed under the OpenSSL license (the "License"). You may not use
+ * this file except in compliance with the License. You can obtain a copy
+ * in the file LICENSE in the source distribution or at
+ * https://www.openssl.org/source/license.html
+ */
+
+/*
+ * Check to see if there is a conflict between complex.h and openssl/rsa.h.
+ * The former defines "I" as a macro and earlier versions of the latter use
+ * for function arguments.
+ */
+#if defined(__STDC_VERSION__)
+# if __STDC_VERSION__ >= 199901L
+# include <complex.h>
+# endif
+#endif
+#include <openssl/rsa.h>
+#include <stdlib.h>
+
+int main(int argc, char *argv[])
+{
+ /* There are explicitly no run time checks for this one */
+ return EXIT_SUCCESS;
+}