[openssl] master update
Richard Levitte
levitte at openssl.org
Wed Sep 16 16:09:18 UTC 2020
The branch master has been updated
via 5d942028845b69d761116bb6dfdbee6e095c0d17 (commit)
via fc661b50dfedfed1b067782665e0452ed964c22c (commit)
from 4343a4187d28d719006642a610afea6e186832bf (commit)
- Log -----------------------------------------------------------------
commit 5d942028845b69d761116bb6dfdbee6e095c0d17
Author: Richard Levitte <levitte at openssl.org>
Date: Tue Sep 15 17:40:38 2020 +0200
Configurations/unix-Makefile.tmpl: Don't specify headers twice
When building in the source tree, a rebuilt Makefile detected both
include/openssl/foo.h.in and include/openssl/foo.h, so promptly added
include/openssl/foo.h twice to the list of headers to parse in 'make
update'
Reviewed-by: Matt Caswell <matt at openssl.org>
Reviewed-by: Tomas Mraz <tmraz at fedoraproject.org>
(Merged from https://github.com/openssl/openssl/pull/12882)
commit fc661b50dfedfed1b067782665e0452ed964c22c
Author: Richard Levitte <levitte at openssl.org>
Date: Tue Sep 15 17:10:44 2020 +0200
OpenSSL::ParseC: recognise inline function bodies
Function bodies in headers weren't a thing when OpenSSL::ParseC was
created, at least not as clearly as they are nowadays. This module
must evolve to recognise them (and promptly ignore them).
Reviewed-by: Matt Caswell <matt at openssl.org>
Reviewed-by: Tomas Mraz <tmraz at fedoraproject.org>
(Merged from https://github.com/openssl/openssl/pull/12882)
-----------------------------------------------------------------------
Summary of changes:
Configurations/unix-Makefile.tmpl | 12 ++++++------
util/perl/OpenSSL/ParseC.pm | 9 ++++++---
2 files changed, 12 insertions(+), 9 deletions(-)
diff --git a/Configurations/unix-Makefile.tmpl b/Configurations/unix-Makefile.tmpl
index 90ec900b6a..7eb4ea76a6 100644
--- a/Configurations/unix-Makefile.tmpl
+++ b/Configurations/unix-Makefile.tmpl
@@ -1083,8 +1083,8 @@ errors:
include/openssl/ebcdic.h
include/openssl/opensslconf.h
include/openssl/symhacks.h ) );
- our @cryptoheaders = ();
- our @sslheaders = ();
+ our %cryptoheaders = ();
+ our %sslheaders = ();
foreach my $d ( qw( include/openssl include/internal ) ) {
my @header_patterns =
map { catfile($config{sourcedir}, $d, $_) } ( '*.h', '*.h.in' );
@@ -1104,20 +1104,20 @@ errors:
# file to be added must be either in the public header directory
# or one of the pre-declared internal headers, and must under no
# circumstances be one of those that must be skipped.
- push @cryptoheaders, $new_f
+ $cryptoheaders{$new_f} = 1
if (($d eq 'include/openssl'
|| ( grep { $_ eq $fn } @cryptoheaders_tmpl ))
&& !( grep { $_ eq $fn } @cryptoskipheaders ));
# The logic to add files to @sslheaders is much simpler...
- push @sslheaders, $new_f if grep { $_ eq $fn } @sslheaders_tmpl;
+ $sslheaders{$new_f} = 1 if grep { $_ eq $fn } @sslheaders_tmpl;
}
}
"";
-}
CRYPTOHEADERS={- join(" \\\n" . ' ' x 14,
- fill_lines(" ", $COLUMNS - 14, sort @cryptoheaders)) -}
+ fill_lines(" ", $COLUMNS - 14, sort keys %cryptoheaders)) -}
SSLHEADERS={- join(" \\\n" . ' ' x 11,
- fill_lines(" ", $COLUMNS - 11, sort @sslheaders)) -}
+ fill_lines(" ", $COLUMNS - 11, sort keys %sslheaders)) -}
ordinals: build_generated
$(PERL) $(SRCDIR)/util/mknum.pl --version $(VERSION) --no-warnings \
--ordinals $(SRCDIR)/util/libcrypto.num \
diff --git a/util/perl/OpenSSL/ParseC.pm b/util/perl/OpenSSL/ParseC.pm
index c5be9b8c2a..b2ac909dc1 100644
--- a/util/perl/OpenSSL/ParseC.pm
+++ b/util/perl/OpenSSL/ParseC.pm
@@ -601,6 +601,7 @@ my @chandlers = (
massager => sub { return (); }
},
# Function returning function pointer declaration
+ # This sort of declaration may have a body (inline functions, for example)
{ regexp => qr/(?:(typedef)\s?)? # Possible typedef ($1)
((?:\w|\*|\s)*?) # Return type ($2)
\s? # Possible space
@@ -609,14 +610,15 @@ my @chandlers = (
(\(.*\)) # Parameters ($4)
\)>>>
<<<(\(.*\))>>> # F.p. parameters ($5)
- ;
+ (?:<<<\{.*\}>>>|;) # Body or semicolon
/x,
massager => sub {
- return ("", $3, 'F', "", "$2(*$4)$5", all_conds())
+ return ("", $3, 'T', "", "$2(*$4)$5", all_conds())
if defined $1;
return ("", $3, 'F', "$2(*)$5", "$2(*$4)$5", all_conds()); }
},
# Function pointer declaration, or typedef thereof
+ # This sort of declaration never has a function body
{ regexp => qr/(?:(typedef)\s?)? # Possible typedef ($1)
((?:\w|\*|\s)*?) # Return type ($2)
<<<\(\*([[:alpha:]_]\w*)\)>>> # T.d. or var name ($3)
@@ -630,12 +632,13 @@ my @chandlers = (
},
},
# Function declaration, or typedef thereof
+ # This sort of declaration may have a body (inline functions, for example)
{ regexp => qr/(?:(typedef)\s?)? # Possible typedef ($1)
((?:\w|\*|\s)*?) # Return type ($2)
\s? # Possible space
([[:alpha:]_]\w*) # Function name ($3)
<<<(\(.*\))>>> # Parameters ($4)
- ;
+ (?:<<<\{.*\}>>>|;) # Body or semicolon
/x,
massager => sub {
return ("", $3, 'T', "", "$2$4", all_conds())
More information about the openssl-commits
mailing list