diff options
author | Pauli <paul.dale@oracle.com> | 2018-09-17 08:09:25 +1000 |
---|---|---|
committer | Pauli <paul.dale@oracle.com> | 2018-09-17 09:48:09 +1000 |
commit | 55b1542ca57537e0899e8b82d4f0363db8f1d261 (patch) | |
tree | a31e9f16f95f995af0ee585aea3eb29346578a31 | |
parent | 622fc2e051bc3c61a09d08f1fafdb45f6f8499b0 (diff) |
Add a compile time test to verify that openssl/rsa.h and complex.h can
coexist.
Reviewed-by: Tim Hudson <tjh@openssl.org>
Reviewed-by: Richard Levitte <levitte@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/7233)
(cherry picked from commit da5fac72b1cba5651b871902eea234e693cf01e5)
-rw-r--r-- | .gitignore | 1 | ||||
-rw-r--r-- | test/build.info | 5 | ||||
-rw-r--r-- | test/rsa_complex.c | 27 |
3 files changed, 32 insertions, 1 deletions
diff --git a/.gitignore b/.gitignore index 3dee3922a7..717aeb39c1 100644 --- a/.gitignore +++ b/.gitignore @@ -52,6 +52,7 @@ Makefile /test/x509aux /test/v3ext /test/versions +/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 d850b5229c..2367ab841a 100644 --- a/test/build.info +++ b/test/build.info @@ -2,7 +2,7 @@ IF[{- !$disabled{tests} -}] PROGRAMS_NO_INST=\ versions \ aborttest \ - sanitytest exdatatest bntest \ + sanitytest rsa_complex exdatatest bntest \ ectest ecdsatest gmdifftest pbelutest ideatest \ md2test md4test md5test \ hmactest wp_test \ @@ -32,6 +32,9 @@ IF[{- !$disabled{tests} -}] INCLUDE[sanitytest]=../include DEPEND[sanitytest]=../libcrypto + SOURCE[rsa_complex]=rsa_complex.c + INCLUDE[rsa_complex]=../include + SOURCE[exdatatest]=exdatatest.c INCLUDE[exdatatest]=../include DEPEND[exdatatest]=../libcrypto 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; +} |