Workaround for VisualStudio 2015 bug
VisualStudio 2015 has a bug where an internal compiler error was occurring. By reordering the DEFINE_STACK_OF declarations for SSL_CIPHER and SSL_COMP until after the ssl3.h include everything seems ok again. Reviewed-by: Viktor Dukhovni <viktor@openssl.org>
This commit is contained in:
parent
0421c00e56
commit
b32166b4fa
@ -326,8 +326,8 @@ typedef struct tls_sigalgs_st TLS_SIGALGS;
|
|||||||
typedef struct ssl_conf_ctx_st SSL_CONF_CTX;
|
typedef struct ssl_conf_ctx_st SSL_CONF_CTX;
|
||||||
typedef struct ssl_comp_st SSL_COMP;
|
typedef struct ssl_comp_st SSL_COMP;
|
||||||
|
|
||||||
DEFINE_STACK_OF_CONST(SSL_CIPHER)
|
STACK_OF(SSL_CIPHER);
|
||||||
DEFINE_STACK_OF(SSL_COMP)
|
STACK_OF(SSL_COMP);
|
||||||
|
|
||||||
/* SRTP protection profiles for use with the use_srtp extension (RFC 5764)*/
|
/* SRTP protection profiles for use with the use_srtp extension (RFC 5764)*/
|
||||||
typedef struct srtp_protection_profile_st {
|
typedef struct srtp_protection_profile_st {
|
||||||
@ -907,6 +907,13 @@ __owur int SSL_extension_supported(unsigned int ext_type);
|
|||||||
extern "C" {
|
extern "C" {
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
/*
|
||||||
|
* These need to be after the above set of includes due to a compiler bug
|
||||||
|
* in VisualStudio 2015
|
||||||
|
*/
|
||||||
|
DEFINE_STACK_OF_CONST(SSL_CIPHER)
|
||||||
|
DEFINE_STACK_OF(SSL_COMP)
|
||||||
|
|
||||||
/* compatibility */
|
/* compatibility */
|
||||||
# define SSL_set_app_data(s,arg) (SSL_set_ex_data(s,0,(char *)arg))
|
# define SSL_set_app_data(s,arg) (SSL_set_ex_data(s,0,(char *)arg))
|
||||||
# define SSL_get_app_data(s) (SSL_get_ex_data(s,0))
|
# define SSL_get_app_data(s) (SSL_get_ex_data(s,0))
|
||||||
|
@ -641,7 +641,8 @@ sub do_defs
|
|||||||
next;
|
next;
|
||||||
}
|
}
|
||||||
if ($tag{'TRUE'} != -1) {
|
if ($tag{'TRUE'} != -1) {
|
||||||
if (/^\s*DECLARE_STACK_OF\s*\(\s*(\w*)\s*\)/) {
|
if (/^\s*DEFINE_STACK_OF\s*\(\s*(\w*)\s*\)/
|
||||||
|
|| /^\s*DEFINE_STACK_OF_CONST\s*\(\s*(\w*)\s*\)/) {
|
||||||
next;
|
next;
|
||||||
} elsif (/^\s*DECLARE_ASN1_ENCODE_FUNCTIONS\s*\(\s*(\w*)\s*,\s*(\w*)\s*,\s*(\w*)\s*\)/) {
|
} elsif (/^\s*DECLARE_ASN1_ENCODE_FUNCTIONS\s*\(\s*(\w*)\s*,\s*(\w*)\s*,\s*(\w*)\s*\)/) {
|
||||||
$def .= "int d2i_$3(void);";
|
$def .= "int d2i_$3(void);";
|
||||||
|
Loading…
x
Reference in New Issue
Block a user