Commit 55b1542c authored by Pauli's avatar Pauli
Browse files

Add a compile time test to verify that openssl/rsa.h and complex.h can


coexist.

Reviewed-by: default avatarTim Hudson <tjh@openssl.org>
Reviewed-by: default avatarRichard Levitte <levitte@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/7233)

(cherry picked from commit da5fac72)
parent 622fc2e0
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -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
+4 −1
Original line number Diff line number Diff line
@@ -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

test/rsa_complex.c

0 → 100644
+27 −0
Original line number Diff line number Diff line
/*
 * 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;
}