Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package capnproto for openSUSE:Factory 
checked in at 2021-09-26 21:48:46
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/capnproto (Old)
 and      /work/SRC/openSUSE:Factory/.capnproto.new.1899 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "capnproto"

Sun Sep 26 21:48:46 2021 rev:5 rq:921501 version:0.9.1

Changes:
--------
--- /work/SRC/openSUSE:Factory/capnproto/capnproto.changes      2021-08-16 
10:18:02.534617706 +0200
+++ /work/SRC/openSUSE:Factory/.capnproto.new.1899/capnproto.changes    
2021-09-26 21:49:35.742843129 +0200
@@ -1,0 +2,10 @@
+Sun Sep 26 11:50:17 UTC 2021 - Luigi Baldoni <aloi...@gmx.com>
+
+- Update to version 0.9.1
+  * only import fiber related headers when fibers are enabled
+  * use more accurate names for tests
+  * Fix copy-pasto resulting in uninitialized use of kind
+  * Fix capnp/capnpc --version when built using CMake
+  * Fix feed.xml
+
+-------------------------------------------------------------------

Old:
----
  capnproto-c++-0.9.0.tar.gz

New:
----
  capnproto-c++-0.9.1.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ capnproto.spec ++++++
--- /var/tmp/diff_new_pack.ldgRpX/_old  2021-09-26 21:49:36.222843722 +0200
+++ /var/tmp/diff_new_pack.ldgRpX/_new  2021-09-26 21:49:36.226843727 +0200
@@ -1,7 +1,7 @@
 #
 # spec file for package capnproto
 #
-# Copyright (c) 2020 SUSE LLC
+# Copyright (c) 2021 SUSE LLC
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -18,7 +18,7 @@
 
 %define _libver 0_9
 Name:           capnproto
-Version:        0.9.0
+Version:        0.9.1
 Release:        0
 Summary:        A Data Serialization Format
 License:        MIT

++++++ capnproto-c++-0.9.0.tar.gz -> capnproto-c++-0.9.1.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/capnproto-c++-0.9.0/CMakeLists.txt 
new/capnproto-c++-0.9.1/CMakeLists.txt
--- old/capnproto-c++-0.9.0/CMakeLists.txt      2021-08-15 01:27:30.000000000 
+0200
+++ new/capnproto-c++-0.9.1/CMakeLists.txt      2021-09-22 17:46:46.000000000 
+0200
@@ -1,6 +1,6 @@
 cmake_minimum_required(VERSION 3.4)
 project("Cap'n Proto" CXX)
-set(VERSION 0.9.0)
+set(VERSION 0.9.1)
 
 list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake")
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/capnproto-c++-0.9.0/Makefile.am 
new/capnproto-c++-0.9.1/Makefile.am
--- old/capnproto-c++-0.9.0/Makefile.am 2021-08-08 19:08:05.000000000 +0200
+++ new/capnproto-c++-0.9.1/Makefile.am 2021-09-19 00:26:15.000000000 +0200
@@ -421,10 +421,15 @@
 # Also attempt to run ldconfig, because otherwise users get confused.  If
 # it fails (e.g. because the platform doesn't have it, or because the
 # user doesn't have root privileges), don't worry about it.
+#
+# We need to specify the path for OpenBSD.
 install-exec-hook:
        ln -sf capnp $(DESTDIR)$(bindir)/capnpc
-       ldconfig < /dev/null > /dev/null 2>&1 || true
-
+       if [ `uname` == 'OpenBSD' ]; then \
+               (ldconfig /usr/local/lib /usr/lib /usr/X11R6/lib > /dev/null 
2>&1 || true); \
+       else \
+               ldconfig < /dev/null > /dev/null 2>&1 || true; \
+       fi
 uninstall-hook:
        rm -f $(DESTDIR)$(bindir)/capnpc
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/capnproto-c++-0.9.0/Makefile.in 
new/capnproto-c++-0.9.1/Makefile.in
--- old/capnproto-c++-0.9.0/Makefile.in 2021-08-15 01:27:36.000000000 +0200
+++ new/capnproto-c++-0.9.1/Makefile.in 2021-09-22 17:46:52.000000000 +0200
@@ -4390,10 +4390,15 @@
 # Also attempt to run ldconfig, because otherwise users get confused.  If
 # it fails (e.g. because the platform doesn't have it, or because the
 # user doesn't have root privileges), don't worry about it.
+#
+# We need to specify the path for OpenBSD.
 @LITE_MODE_FALSE@install-exec-hook:
 @LITE_MODE_FALSE@      ln -sf capnp $(DESTDIR)$(bindir)/capnpc
-@LITE_MODE_FALSE@      ldconfig < /dev/null > /dev/null 2>&1 || true
-
+@LITE_MODE_FALSE@      if [ `uname` == 'OpenBSD' ]; then \
+@LITE_MODE_FALSE@              (ldconfig /usr/local/lib /usr/lib 
/usr/X11R6/lib > /dev/null 2>&1 || true); \
+@LITE_MODE_FALSE@      else \
+@LITE_MODE_FALSE@              ldconfig < /dev/null > /dev/null 2>&1 || true; \
+@LITE_MODE_FALSE@      fi
 @LITE_MODE_FALSE@uninstall-hook:
 @LITE_MODE_FALSE@      rm -f $(DESTDIR)$(bindir)/capnpc
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/capnproto-c++-0.9.0/configure 
new/capnproto-c++-0.9.1/configure
--- old/capnproto-c++-0.9.0/configure   2021-08-15 01:27:35.000000000 +0200
+++ new/capnproto-c++-0.9.1/configure   2021-09-22 17:46:51.000000000 +0200
@@ -1,6 +1,6 @@
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.69 for Capn Proto 0.9.0.
+# Generated by GNU Autoconf 2.69 for Capn Proto 0.9.1.
 #
 # Report bugs to <capnpr...@googlegroups.com>.
 #
@@ -590,8 +590,8 @@
 # Identity of this package.
 PACKAGE_NAME='Capn Proto'
 PACKAGE_TARNAME='capnproto-c++'
-PACKAGE_VERSION='0.9.0'
-PACKAGE_STRING='Capn Proto 0.9.0'
+PACKAGE_VERSION='0.9.1'
+PACKAGE_STRING='Capn Proto 0.9.1'
 PACKAGE_BUGREPORT='capnpr...@googlegroups.com'
 PACKAGE_URL=''
 
@@ -1365,7 +1365,7 @@
   # Omit some internal or obsolete options to make the list less imposing.
   # This message is too long to be a string in the A/UX 3.1 sh.
   cat <<_ACEOF
-\`configure' configures Capn Proto 0.9.0 to adapt to many kinds of systems.
+\`configure' configures Capn Proto 0.9.1 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1436,7 +1436,7 @@
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of Capn Proto 0.9.0:";;
+     short | recursive ) echo "Configuration of Capn Proto 0.9.1:";;
    esac
   cat <<\_ACEOF
 
@@ -1566,7 +1566,7 @@
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-Capn Proto configure 0.9.0
+Capn Proto configure 0.9.1
 generated by GNU Autoconf 2.69
 
 Copyright (C) 2012 Free Software Foundation, Inc.
@@ -2281,7 +2281,7 @@
 This file contains any messages produced by compilers while
 running configure, to aid debugging if configure makes a mistake.
 
-It was created by Capn Proto $as_me 0.9.0, which was
+It was created by Capn Proto $as_me 0.9.1, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   $ $0 $@
@@ -3154,7 +3154,7 @@
 
 # Define the identity of the package.
  PACKAGE='capnproto-c++'
- VERSION='0.9.0'
+ VERSION='0.9.1'
 
 
 cat >>confdefs.h <<_ACEOF
@@ -18169,7 +18169,7 @@
 # report actual input values of CONFIG_FILES etc. instead of their
 # values after options handling.
 ac_log="
-This file was extended by Capn Proto $as_me 0.9.0, which was
+This file was extended by Capn Proto $as_me 0.9.1, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -18235,7 +18235,7 @@
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; 
s/[\\""\`\$]/\\\\&/g'`"
 ac_cs_version="\\
-Capn Proto config.status 0.9.0
+Capn Proto config.status 0.9.1
 configured by $0, generated by GNU Autoconf 2.69,
   with options \\"\$ac_cs_config\\"
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/capnproto-c++-0.9.0/configure.ac 
new/capnproto-c++-0.9.1/configure.ac
--- old/capnproto-c++-0.9.0/configure.ac        2021-08-15 01:27:30.000000000 
+0200
+++ new/capnproto-c++-0.9.1/configure.ac        2021-09-22 17:46:46.000000000 
+0200
@@ -1,6 +1,6 @@
 ## Process this file with autoconf to produce configure.
 
-AC_INIT([Capn Proto],[0.9.0],[capnpr...@googlegroups.com],[capnproto-c++])
+AC_INIT([Capn Proto],[0.9.1],[capnpr...@googlegroups.com],[capnproto-c++])
 
 AC_CONFIG_SRCDIR([src/capnp/layout.c++])
 AC_CONFIG_AUX_DIR([build-aux])
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/capnproto-c++-0.9.0/src/capnp/CMakeLists.txt 
new/capnproto-c++-0.9.1/src/capnp/CMakeLists.txt
--- old/capnproto-c++-0.9.0/src/capnp/CMakeLists.txt    2021-08-08 
19:08:05.000000000 +0200
+++ new/capnproto-c++-0.9.1/src/capnp/CMakeLists.txt    2021-09-19 
00:26:15.000000000 +0200
@@ -187,8 +187,9 @@
   set_target_properties(capnp_tool PROPERTIES CAPNP_INCLUDE_DIRECTORY
     
$<JOIN:$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/..>,$<INSTALL_INTERFACE:${CMAKE_INSTALL_BINDIR}/..>>
   )
-  set_target_properties(capnp_tool PROPERTIES
-    COMPILE_DEFINITIONS CAPNP_INCLUDE_DIR=\"${CMAKE_INSTALL_FULL_INCLUDEDIR}\"
+  target_compile_definitions(capnp_tool PRIVATE
+    "CAPNP_INCLUDE_DIR=\"${CMAKE_INSTALL_FULL_INCLUDEDIR}\""
+    "VERSION=\"${VERSION}\""
   )
 
   add_executable(capnpc_cpp
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/capnproto-c++-0.9.0/src/capnp/c++.capnp.h 
new/capnproto-c++-0.9.1/src/capnp/c++.capnp.h
--- old/capnproto-c++-0.9.0/src/capnp/c++.capnp.h       2021-08-15 
01:27:30.000000000 +0200
+++ new/capnproto-c++-0.9.1/src/capnp/c++.capnp.h       2021-09-22 
17:46:46.000000000 +0200
@@ -6,7 +6,7 @@
 #include <capnp/generated-header-support.h>
 #include <kj/windows-sanity.h>
 
-#if CAPNP_VERSION != 9000
+#if CAPNP_VERSION != 9001
 #error "Version mismatch between generated code and library headers.  You must 
use the same version of the Cap'n Proto compiler and library."
 #endif
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/capnproto-c++-0.9.0/src/capnp/common.h 
new/capnproto-c++-0.9.1/src/capnp/common.h
--- old/capnproto-c++-0.9.0/src/capnp/common.h  2021-08-15 01:27:30.000000000 
+0200
+++ new/capnproto-c++-0.9.1/src/capnp/common.h  2021-09-22 17:46:46.000000000 
+0200
@@ -48,7 +48,7 @@
 
 #define CAPNP_VERSION_MAJOR 0
 #define CAPNP_VERSION_MINOR 9
-#define CAPNP_VERSION_MICRO 0
+#define CAPNP_VERSION_MICRO 1
 
 #define CAPNP_VERSION \
   (CAPNP_VERSION_MAJOR * 1000000 + CAPNP_VERSION_MINOR * 1000 + 
CAPNP_VERSION_MICRO)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/capnproto-c++-0.9.0/src/capnp/compat/json.capnp.h 
new/capnproto-c++-0.9.1/src/capnp/compat/json.capnp.h
--- old/capnproto-c++-0.9.0/src/capnp/compat/json.capnp.h       2021-08-15 
01:27:30.000000000 +0200
+++ new/capnproto-c++-0.9.1/src/capnp/compat/json.capnp.h       2021-09-22 
17:46:46.000000000 +0200
@@ -9,7 +9,7 @@
 #include <capnp/capability.h>
 #endif  // !CAPNP_LITE
 
-#if CAPNP_VERSION != 9000
+#if CAPNP_VERSION != 9001
 #error "Version mismatch between generated code and library headers.  You must 
use the same version of the Cap'n Proto compiler and library."
 #endif
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/capnproto-c++-0.9.0/src/capnp/compiler/capnp-test.sh 
new/capnproto-c++-0.9.1/src/capnp/compiler/capnp-test.sh
--- old/capnproto-c++-0.9.0/src/capnp/compiler/capnp-test.sh    2021-03-20 
19:47:34.000000000 +0100
+++ new/capnproto-c++-0.9.1/src/capnp/compiler/capnp-test.sh    2021-09-19 
00:26:15.000000000 +0200
@@ -76,8 +76,8 @@
 $CAPNP convert json:binary $SCHEMA TestAllTypes < $TESTDATA/pretty.json | cmp 
$TESTDATA/binary - || fail json to binary
 $CAPNP convert json:binary $SCHEMA TestAllTypes < $TESTDATA/short.json | cmp 
$TESTDATA/binary - || fail short json to binary
 
-$CAPNP convert json:binary $JSON_SCHEMA TestJsonAnnotations -I"$SRCDIR" < 
$TESTDATA/annotated.json | cmp $TESTDATA/annotated-json.binary || fail 
annotated json to binary
-$CAPNP convert binary:json $JSON_SCHEMA TestJsonAnnotations -I"$SRCDIR" < 
$TESTDATA/annotated-json.binary | cmp $TESTDATA/annotated.json || fail 
annotated json to binary
+$CAPNP convert json:binary $JSON_SCHEMA TestJsonAnnotations -I"$SRCDIR" < 
$TESTDATA/annotated.json | cmp $TESTDATA/annotated-json.binary - || fail 
annotated json to binary
+$CAPNP convert binary:json $JSON_SCHEMA TestJsonAnnotations -I"$SRCDIR" < 
$TESTDATA/annotated-json.binary | cmp $TESTDATA/annotated.json - || fail 
annotated binary to json
 
 [ "$(echo '(foo = (text = "abc"))' | $CAPNP convert text:text 
"$SRCDIR/capnp/test.capnp" BrandedAlias)" = '(foo = (text = "abc"), uv = void)' 
]  || fail branded alias
 [ "$(echo '(foo = (text = "abc"))' | $CAPNP convert text:text 
"$SRCDIR/capnp/test.capnp" BrandedAlias.Inner)" = '(foo = (text = "abc"))' ]  
|| fail branded alias
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/capnproto-c++-0.9.0/src/capnp/compiler/grammar.capnp.h 
new/capnproto-c++-0.9.1/src/capnp/compiler/grammar.capnp.h
--- old/capnproto-c++-0.9.0/src/capnp/compiler/grammar.capnp.h  2021-08-15 
01:27:30.000000000 +0200
+++ new/capnproto-c++-0.9.1/src/capnp/compiler/grammar.capnp.h  2021-09-22 
17:46:46.000000000 +0200
@@ -6,7 +6,7 @@
 #include <capnp/generated-header-support.h>
 #include <kj/windows-sanity.h>
 
-#if CAPNP_VERSION != 9000
+#if CAPNP_VERSION != 9001
 #error "Version mismatch between generated code and library headers.  You must 
use the same version of the Cap'n Proto compiler and library."
 #endif
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/capnproto-c++-0.9.0/src/capnp/compiler/lexer.capnp.h 
new/capnproto-c++-0.9.1/src/capnp/compiler/lexer.capnp.h
--- old/capnproto-c++-0.9.0/src/capnp/compiler/lexer.capnp.h    2021-08-15 
01:27:30.000000000 +0200
+++ new/capnproto-c++-0.9.1/src/capnp/compiler/lexer.capnp.h    2021-09-22 
17:46:46.000000000 +0200
@@ -6,7 +6,7 @@
 #include <capnp/generated-header-support.h>
 #include <kj/windows-sanity.h>
 
-#if CAPNP_VERSION != 9000
+#if CAPNP_VERSION != 9001
 #error "Version mismatch between generated code and library headers.  You must 
use the same version of the Cap'n Proto compiler and library."
 #endif
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/capnproto-c++-0.9.0/src/capnp/compiler/node-translator.c++ 
new/capnproto-c++-0.9.1/src/capnp/compiler/node-translator.c++
--- old/capnproto-c++-0.9.0/src/capnp/compiler/node-translator.c++      
2021-08-08 19:08:05.000000000 +0200
+++ new/capnproto-c++-0.9.1/src/capnp/compiler/node-translator.c++      
2021-09-19 00:26:15.000000000 +0200
@@ -2395,7 +2395,7 @@
             }
           }
         }
-      } else if (*kind != Declaration::ANNOTATION) {
+      } else {
         errorReporter.addErrorOn(name, kj::str(
             "'", expressionString(name), "' is not an annotation."));
       }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/capnproto-c++-0.9.0/src/capnp/persistent.capnp.h 
new/capnproto-c++-0.9.1/src/capnp/persistent.capnp.h
--- old/capnproto-c++-0.9.0/src/capnp/persistent.capnp.h        2021-08-15 
01:27:30.000000000 +0200
+++ new/capnproto-c++-0.9.1/src/capnp/persistent.capnp.h        2021-09-22 
17:46:46.000000000 +0200
@@ -9,7 +9,7 @@
 #include <capnp/capability.h>
 #endif  // !CAPNP_LITE
 
-#if CAPNP_VERSION != 9000
+#if CAPNP_VERSION != 9001
 #error "Version mismatch between generated code and library headers.  You must 
use the same version of the Cap'n Proto compiler and library."
 #endif
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/capnproto-c++-0.9.0/src/capnp/rpc-twoparty.capnp.h 
new/capnproto-c++-0.9.1/src/capnp/rpc-twoparty.capnp.h
--- old/capnproto-c++-0.9.0/src/capnp/rpc-twoparty.capnp.h      2021-08-15 
01:27:30.000000000 +0200
+++ new/capnproto-c++-0.9.1/src/capnp/rpc-twoparty.capnp.h      2021-09-22 
17:46:46.000000000 +0200
@@ -6,7 +6,7 @@
 #include <capnp/generated-header-support.h>
 #include <kj/windows-sanity.h>
 
-#if CAPNP_VERSION != 9000
+#if CAPNP_VERSION != 9001
 #error "Version mismatch between generated code and library headers.  You must 
use the same version of the Cap'n Proto compiler and library."
 #endif
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/capnproto-c++-0.9.0/src/capnp/rpc.capnp.h 
new/capnproto-c++-0.9.1/src/capnp/rpc.capnp.h
--- old/capnproto-c++-0.9.0/src/capnp/rpc.capnp.h       2021-08-15 
01:27:30.000000000 +0200
+++ new/capnproto-c++-0.9.1/src/capnp/rpc.capnp.h       2021-09-22 
17:46:46.000000000 +0200
@@ -6,7 +6,7 @@
 #include <capnp/generated-header-support.h>
 #include <kj/windows-sanity.h>
 
-#if CAPNP_VERSION != 9000
+#if CAPNP_VERSION != 9001
 #error "Version mismatch between generated code and library headers.  You must 
use the same version of the Cap'n Proto compiler and library."
 #endif
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/capnproto-c++-0.9.0/src/capnp/schema.capnp.h 
new/capnproto-c++-0.9.1/src/capnp/schema.capnp.h
--- old/capnproto-c++-0.9.0/src/capnp/schema.capnp.h    2021-08-15 
01:27:30.000000000 +0200
+++ new/capnproto-c++-0.9.1/src/capnp/schema.capnp.h    2021-09-22 
17:46:46.000000000 +0200
@@ -6,7 +6,7 @@
 #include <capnp/generated-header-support.h>
 #include <kj/windows-sanity.h>
 
-#if CAPNP_VERSION != 9000
+#if CAPNP_VERSION != 9001
 #error "Version mismatch between generated code and library headers.  You must 
use the same version of the Cap'n Proto compiler and library."
 #endif
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/capnproto-c++-0.9.0/src/capnp/stream.capnp.h 
new/capnproto-c++-0.9.1/src/capnp/stream.capnp.h
--- old/capnproto-c++-0.9.0/src/capnp/stream.capnp.h    2021-08-15 
01:27:30.000000000 +0200
+++ new/capnproto-c++-0.9.1/src/capnp/stream.capnp.h    2021-09-22 
17:46:46.000000000 +0200
@@ -6,7 +6,7 @@
 #include <capnp/generated-header-support.h>
 #include <kj/windows-sanity.h>
 
-#if CAPNP_VERSION != 9000
+#if CAPNP_VERSION != 9001
 #error "Version mismatch between generated code and library headers.  You must 
use the same version of the Cap'n Proto compiler and library."
 #endif
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/capnproto-c++-0.9.0/src/capnp/testdata/errors.capnp.nobuild 
new/capnproto-c++-0.9.1/src/capnp/testdata/errors.capnp.nobuild
--- old/capnproto-c++-0.9.0/src/capnp/testdata/errors.capnp.nobuild     
2021-03-20 19:47:34.000000000 +0100
+++ new/capnproto-c++-0.9.1/src/capnp/testdata/errors.capnp.nobuild     
2021-09-19 00:26:15.000000000 +0200
@@ -142,6 +142,7 @@
 const recursive: UInt32 = .recursive;
 
 struct Generic(T, U) {
+  foo @0 :UInt32 $T;
 }
 
 struct UseGeneric {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/capnproto-c++-0.9.0/src/capnp/testdata/errors.txt 
new/capnproto-c++-0.9.1/src/capnp/testdata/errors.txt
--- old/capnproto-c++-0.9.0/src/capnp/testdata/errors.txt       2021-03-20 
19:47:34.000000000 +0100
+++ new/capnproto-c++-0.9.1/src/capnp/testdata/errors.txt       2021-09-19 
00:26:15.000000000 +0200
@@ -51,13 +51,14 @@
 file:139:15-16: error: Duplicate ordinal number.
 file:138:15-16: error: Ordinal @2 originally used here.
 file:142:7-16: error: Declaration recursively depends on itself.
-file:148:14-27: error: Not enough generic parameters.
-file:149:15-47: error: Too many generic parameters.
-file:150:18-49: error: Double-application of generic parameters.
-file:151:38-43: error: Sorry, only pointer types can be used as generic 
parameters.
-file:154:30-44: error: Embeds can only be used when Text, Data, or a struct is 
expected.
-file:155:37-51: error: Couldn't read file for embed: no-such-file
-file:161:23-27: error: Only pointer parameters can declare their default as 
'null'.
-file:162:10-16: error: 'stream' can only appear after '->', not before.
-file:162:10-16: error: A method declaration uses streaming, but 
'/capnp/stream.capnp' is not found in the import path. This is a standard file 
that should always be installed with the Cap'n Proto compiler.
-file:157:20-45: error: Import failed: nosuchfile-unused.capnp
+file:145:19-20: error: 'T' is not an annotation.
+file:149:14-27: error: Not enough generic parameters.
+file:150:15-47: error: Too many generic parameters.
+file:151:18-49: error: Double-application of generic parameters.
+file:152:38-43: error: Sorry, only pointer types can be used as generic 
parameters.
+file:155:30-44: error: Embeds can only be used when Text, Data, or a struct is 
expected.
+file:156:37-51: error: Couldn't read file for embed: no-such-file
+file:162:23-27: error: Only pointer parameters can declare their default as 
'null'.
+file:163:10-16: error: 'stream' can only appear after '->', not before.
+file:163:10-16: error: A method declaration uses streaming, but 
'/capnp/stream.capnp' is not found in the import path. This is a standard file 
that should always be installed with the Cap'n Proto compiler.
+file:158:20-45: error: Import failed: nosuchfile-unused.capnp
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/capnproto-c++-0.9.0/src/kj/async-inl.h 
new/capnproto-c++-0.9.1/src/kj/async-inl.h
--- old/capnproto-c++-0.9.0/src/kj/async-inl.h  2021-08-08 19:08:05.000000000 
+0200
+++ new/capnproto-c++-0.9.1/src/kj/async-inl.h  2021-09-19 00:26:15.000000000 
+0200
@@ -368,9 +368,15 @@
 
 #if __GNUC__ >= 8 && !__clang__
 // GCC 8's class-memaccess warning rightly does not like the memcpy()'s below, 
but there's no
-// "legal" way for us to extract the contetn of a PTMF so too bad.
+// "legal" way for us to extract the content of a PTMF so too bad.
 #pragma GCC diagnostic push
 #pragma GCC diagnostic ignored "-Wclass-memaccess"
+#if __GNUC__ >= 11
+// GCC 11's array-bounds is  similarly upset with us for digging into 
"private" implementation
+// details. But the format is well-defined by the ABI which cannot change so 
please just let us
+// do it kthx.
+#pragma GCC diagnostic ignored "-Warray-bounds"
+#endif
 #endif
 
 template <typename T, typename ReturnType, typename... ParamTypes>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/capnproto-c++-0.9.0/src/kj/async-io-test.c++ 
new/capnproto-c++-0.9.1/src/kj/async-io-test.c++
--- old/capnproto-c++-0.9.0/src/kj/async-io-test.c++    2021-08-08 
19:19:05.000000000 +0200
+++ new/capnproto-c++-0.9.1/src/kj/async-io-test.c++    2021-09-19 
00:26:15.000000000 +0200
@@ -299,11 +299,11 @@
 }
 #endif
 
-// We only support ancillary messages on Unix.
-// MacOS only supports SO_TIMESTAMP on datagram sockets, so this test won't 
work.
-// Android fails this test for unknown reasons and I don't care because it's 
an extremely obscure
-// feature anyway.
-#if !_WIN32 && !__CYGWIN__  && !__APPLE__ && !__ANDROID__
+// This test uses SO_TIMESTAMP on a SOCK_STREAM, which is only supported by 
Linux. Ideally we'd
+// rewrite the test to use some other message type that is widely supported on 
streams. But for
+// now we just limit the test to Linux. Also, it doesn't work on Android for 
some reason, and it
+// isn't worth investigating, so we skip it there.
+#if __linux__ && !__ANDROID__
 TEST(AsyncIo, AncillaryMessageHandler) {
   auto ioContext = setupAsyncIo();
   auto& network = ioContext.provider->getNetwork();
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/capnproto-c++-0.9.0/src/kj/async-io-unix.c++ 
new/capnproto-c++-0.9.1/src/kj/async-io-unix.c++
--- old/capnproto-c++-0.9.0/src/kj/async-io-unix.c++    2021-08-08 
19:08:05.000000000 +0200
+++ new/capnproto-c++-0.9.1/src/kj/async-io-unix.c++    2021-09-19 
00:26:15.000000000 +0200
@@ -55,6 +55,11 @@
 #include <sys/ucred.h>
 #endif
 
+#if !defined(SOL_LOCAL) && (__FreeBSD__ || __DragonflyBSD__)
+// On DragonFly or FreeBSD < 12.2 you're supposed to use 0 for SOL_LOCAL.
+#define SOL_LOCAL 0
+#endif
+
 namespace kj {
 
 namespace {
@@ -1141,6 +1146,9 @@
               ownFd.get(), IPPROTO_TCP, TCP_NODELAY, (char*)&one, 
sizeof(one))) {
           case EOPNOTSUPP:
           case ENOPROTOOPT: // (returned for AF_UNIX in cygwin)
+#if __FreeBSD__
+          case EINVAL: // (returned for AF_UNIX in FreeBSD)
+#endif
             break;
           default:
             KJ_FAIL_SYSCALL("setsocketopt(IPPROTO_TCP, TCP_NODELAY)", error);
@@ -1471,7 +1479,9 @@
       // seen vague references on the internet saying that a PID of 0 and a 
UID of uid_t(-1) are used
       // as invalid values.
 
-#if defined(SO_PEERCRED)
+// OpenBSD defines SO_PEERCRED but uses a different interface for it
+// hence we're falling back to LOCAL_PEERCRED
+#if defined(SO_PEERCRED) && !__OpenBSD__
       struct ucred creds;
       uint length = sizeof(creds);
       stream.getsockopt(SOL_SOCKET, SO_PEERCRED, &creds, &length);
@@ -1483,7 +1493,7 @@
       }
 
 #elif defined(LOCAL_PEERCRED)
-      // MacOS / FreeBSD
+      // MacOS / FreeBSD / OpenBSD
       struct xucred creds;
       uint length = sizeof(creds);
       stream.getsockopt(SOL_LOCAL, LOCAL_PEERCRED, &creds, &length);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/capnproto-c++-0.9.0/src/kj/async-test.c++ 
new/capnproto-c++-0.9.1/src/kj/async-test.c++
--- old/capnproto-c++-0.9.0/src/kj/async-test.c++       2021-08-08 
19:08:05.000000000 +0200
+++ new/capnproto-c++-0.9.1/src/kj/async-test.c++       2021-09-19 
00:26:15.000000000 +0200
@@ -25,16 +25,7 @@
 #include "mutex.h"
 #include "thread.h"
 
-// TODO(later): Refactor this more cleanly so that the KJ library itself 
defines this.
-#if !__BIONIC__ && !KJ_NO_EXCEPTIONS
-#define KJ_FIBERS_AVAILABLE 1
-#else
-#define KJ_FIBERS_AVAILABLE 0
-#endif
-
-#if !KJ_FIBERS_AVAILABLE
-// For bionic, OpenBSD, and no-exception builds, enables the regression test 
for
-// kj::TaskSet::~TaskSet potentially causing a stack overflow.
+#if !KJ_USE_FIBERS
 #include <pthread.h>
 #endif
 
@@ -759,7 +750,7 @@
     }
   };
 
-#if KJ_FIBERS_AVAILABLE
+#if KJ_USE_FIBERS
   EventLoop loop;
   WaitScope waitScope(loop);
 
@@ -998,7 +989,7 @@
   KJ_EXPECT(!joined.poll(waitScope));
 }
 
-#if KJ_FIBERS_AVAILABLE && !KJ_NO_EXCEPTIONS
+#if KJ_USE_FIBERS
 KJ_TEST("start a fiber") {
   EventLoop loop;
   WaitScope waitScope(loop);
@@ -1439,4 +1430,4 @@
 }
 
 }  // namespace
-}  // namespace kj
\ No newline at end of file
+}  // namespace kj
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/capnproto-c++-0.9.0/src/kj/async.c++ 
new/capnproto-c++-0.9.1/src/kj/async.c++
--- old/capnproto-c++-0.9.0/src/kj/async.c++    2021-08-08 19:19:05.000000000 
+0200
+++ new/capnproto-c++-0.9.1/src/kj/async.c++    2021-09-19 00:26:15.000000000 
+0200
@@ -53,8 +53,12 @@
 #include <windows.h>  // for Sleep(0) and fibers
 #include "windows-sanity.h"
 #else
+
+#if KJ_USE_FIBERS
 #include <ucontext.h>
 #include <setjmp.h>    // for fibers
+#endif
+
 #include <sys/mman.h>  // mmap(), for allocating new stacks
 #include <unistd.h>    // sysconf()
 #include <errno.h>
@@ -449,12 +453,14 @@
 
   struct StartRoutine;
 
+#if KJ_USE_FIBERS
 #if _WIN32 || __CYGWIN__
   void* osFiber;
-#elif !__BIONIC__
+#else
   struct Impl;
   Impl* impl;
 #endif
+#endif
 
   [[noreturn]] void run();
 
@@ -1311,7 +1317,8 @@
 
 namespace _ {  // private
 
-#if !(_WIN32 || __CYGWIN__ || __BIONIC__)
+#if KJ_USE_FIBERS
+#if !(_WIN32 || __CYGWIN__)
 struct FiberStack::Impl {
   // This struct serves two purposes:
   // - It contains OS-specific state that we don't want to declare in the 
header.
@@ -1383,6 +1390,7 @@
   }
 };
 #endif
+#endif
 
 struct FiberStack::StartRoutine {
 #if _WIN32 || __CYGWIN__
@@ -1436,14 +1444,13 @@
     // Force stackSize to a reasonable minimum.
     : stackSize(kj::max(stackSizeParam, 65536))
 {
-#if KJ_NO_EXCEPTIONS
-  KJ_UNIMPLEMENTED("Fibers are not implemented because exceptions are 
disabled");
 
-#elif _WIN32 || __CYGWIN__
+#if KJ_USE_FIBERS
+#if _WIN32 || __CYGWIN__
   // We can create fibers before we convert the main thread into a fiber in 
FiberBase
   KJ_WIN32(osFiber = CreateFiber(stackSize, &StartRoutine::run, this));
 
-#elif !__BIONIC__
+#else
   // Note: Nothing below here can throw. If that changes then we need to call 
Impl::free(impl)
   //   on exceptions...
   ucontext_t context;
@@ -1460,6 +1467,10 @@
   if (_setjmp(impl->originalJmpBuf) == 0) {
     setcontext(&context);
   }
+#endif
+#else
+#if KJ_NO_EXCEPTIONS
+  KJ_UNIMPLEMENTED("Fibers are not implemented because exceptions are 
disabled");
 #else
   KJ_UNIMPLEMENTED(
       "Fibers are not implemented on this platform because its C library lacks 
setcontext() "
@@ -1467,14 +1478,17 @@
       "We can likely make it happen using assembly, but didn't want to try 
unless it was "
       "actually needed.");
 #endif
+#endif
 }
 
 FiberStack::~FiberStack() noexcept(false) {
+#if KJ_USE_FIBERS
 #if _WIN32 || __CYGWIN__
   DeleteFiber(osFiber);
-#elif !__BIONIC__
+#else
   Impl::free(impl, stackSize);
 #endif
+#endif
 }
 
 void FiberStack::initialize(FiberBase& fiber) {
@@ -1545,24 +1559,28 @@
 void FiberStack::switchToFiber() {
   // Switch from the main stack to the fiber. Returns once the fiber either 
calls switchToMain()
   // or returns from its main function.
+#if KJ_USE_FIBERS
 #if _WIN32 || __CYGWIN__
   SwitchToFiber(osFiber);
-#elif !__BIONIC__
+#else
   if (_setjmp(impl->originalJmpBuf) == 0) {
     _longjmp(impl->fiberJmpBuf, 1);
   }
 #endif
+#endif
 }
 void FiberStack::switchToMain() {
   // Switch from the fiber to the main stack. Returns the next time the main 
stack calls
   // switchToFiber().
+#if KJ_USE_FIBERS
 #if _WIN32 || __CYGWIN__
   SwitchToFiber(getMainWin32Fiber());
-#elif !__BIONIC__
+#else
   if (_setjmp(impl->fiberJmpBuf) == 0) {
     _longjmp(impl->originalJmpBuf, 1);
   }
 #endif
+#endif
 }
 
 void FiberBase::run() {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/capnproto-c++-0.9.0/src/kj/async.h 
new/capnproto-c++-0.9.1/src/kj/async.h
--- old/capnproto-c++-0.9.0/src/kj/async.h      2021-08-08 19:08:05.000000000 
+0200
+++ new/capnproto-c++-0.9.1/src/kj/async.h      2021-09-19 00:26:15.000000000 
+0200
@@ -27,6 +27,19 @@
 
 KJ_BEGIN_HEADER
 
+#ifndef KJ_USE_FIBERS
+  #if __BIONIC__ || __FreeBSD__ || __OpenBSD__ || KJ_NO_EXCEPTIONS
+    // These platforms don't support fibers.
+    #define KJ_USE_FIBERS 0
+  #else
+    #define KJ_USE_FIBERS 1
+  #endif
+#else
+  #if KJ_NO_EXCEPTIONS && KJ_USE_FIBERS
+    #error "Fibers cannot be enabled when exceptions are disabled."
+  #endif
+#endif
+
 namespace kj {
 
 class EventLoop;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/capnproto-c++-0.9.0/src/kj/exception.c++ 
new/capnproto-c++-0.9.1/src/kj/exception.c++
--- old/capnproto-c++-0.9.0/src/kj/exception.c++        2021-08-08 
19:19:05.000000000 +0200
+++ new/capnproto-c++-0.9.1/src/kj/exception.c++        2021-09-19 
00:26:15.000000000 +0200
@@ -1009,6 +1009,10 @@
   return next.getThreadInitializer();
 }
 
+namespace _ {  // private
+  uint uncaughtExceptionCount();  // defined later in this file
+}
+
 class ExceptionCallback::RootExceptionCallback: public ExceptionCallback {
 public:
   RootExceptionCallback(): ExceptionCallback(*this) {}
@@ -1017,7 +1021,7 @@
 #if KJ_NO_EXCEPTIONS
     logException(LogSeverity::ERROR, mv(exception));
 #else
-    if (std::uncaught_exception()) {
+    if (_::uncaughtExceptionCount() > 0) {
       // Bad time to throw an exception.  Just log instead.
       //
       // TODO(someday): We should really compare uncaughtExceptionCount() 
against the count at
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/capnproto-c++-0.9.0/src/kj/filesystem-disk-unix.c++ 
new/capnproto-c++-0.9.1/src/kj/filesystem-disk-unix.c++
--- old/capnproto-c++-0.9.0/src/kj/filesystem-disk-unix.c++     2021-08-08 
19:08:05.000000000 +0200
+++ new/capnproto-c++-0.9.1/src/kj/filesystem-disk-unix.c++     2021-09-19 
00:26:15.000000000 +0200
@@ -1176,8 +1176,10 @@
         if (S_ISDIR(stats.st_mode)) {
           return mkdirat(fd, candidatePath.cStr(), 0700);
         } else {
-#if __APPLE__
-          // No mknodat() on OSX, gotta open() a file, ugh.
+#if __APPLE__ || __FreeBSD__
+          // - No mknodat() on OSX, gotta open() a file, ugh.
+          // - On a modern FreeBSD, mknodat() is reserved strictly for device 
nodes,
+          //   you cannot create a regular file using it (EINVAL).
           int newFd = openat(fd, candidatePath.cStr(),
                              O_RDWR | O_CREAT | O_EXCL | MAYBE_O_CLOEXEC, 
0700);
           if (newFd >= 0) close(newFd);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/capnproto-c++-0.9.0/src/kj/source-location.h 
new/capnproto-c++-0.9.1/src/kj/source-location.h
--- old/capnproto-c++-0.9.0/src/kj/source-location.h    2021-08-08 
19:08:05.000000000 +0200
+++ new/capnproto-c++-0.9.1/src/kj/source-location.h    2021-09-19 
00:26:15.000000000 +0200
@@ -23,20 +23,33 @@
 
 #include "string.h"
 
-#if __clang__ && __clang_major__ >= 9
-#define KJ_CALLER_COLUMN() __builtin_COLUMN()
 // GCC does not implement __builtin_COLUMN() as that's non-standard but MSVC & 
clang do.
 // MSVC does as of version https://github.com/microsoft/STL/issues/54) but 
there's currently not any
 // pressing need for this for MSVC & writing the write compiler version check 
is annoying.
+// Checking for clang version is problematic due to the way that XCode lies 
about __clang_major__.
+// Instead we use __has_builtin as the feature check to check clang.
+// Context: https://github.com/capnproto/capnproto/issues/1305
+#ifdef __has_builtin
+#if __has_builtin(__builtin_COLUMN)
+#define KJ_CALLER_COLUMN() __builtin_COLUMN()
+#else
+#define KJ_CALLER_COLUMN() 0
+#endif
 #else
 #define KJ_CALLER_COLUMN() 0
 #endif
 
 #if __cplusplus > 201703L
 #define KJ_COMPILER_SUPPORTS_SOURCE_LOCATION 1
-#elif __clang__ && __clang_major__ >= 9
+#elif defined(__has_builtin)
 // Clang 9 added these builtins: 
https://releases.llvm.org/9.0.0/tools/clang/docs/LanguageExtensions.html
-#define KJ_COMPILER_SUPPORTS_SOURCE_LOCATION 1
+// Use __has_builtin as the way to detect this because __clang_major__ is 
unreliable (see above
+// about issue with Xcode-provided clang).
+#define KJ_COMPILER_SUPPORTS_SOURCE_LOCATION (   \
+  __has_builtin(__builtin_FILE) &&               \
+  __has_builtin(__builtin_LINE) &&               \
+  __has_builtin(__builtin_FUNCTION)              \
+  )
 #elif __GNUC__ >= 5
 // GCC 5 supports the required builtins: 
https://gcc.gnu.org/onlinedocs/gcc-5.1.0/gcc/Other-Builtins.html
 #define KJ_COMPILER_SUPPORTS_SOURCE_LOCATION 1

Reply via email to