public inbox for cygwin-cvs@sourceware.org
help / color / mirror / Atom feed
From: Corinna Vinschen <corinna@sourceware.org>
To: cygwin-cvs@sourceware.org
Subject: [newlib-cygwin] Cygwin: fix declaration of __small_{v}sprintf
Date: Mon, 25 May 2020 11:33:33 +0000 (GMT)	[thread overview]
Message-ID: <20200525113333.B0A1C38708EB@sourceware.org> (raw)

https://sourceware.org/git/gitweb.cgi?p=newlib-cygwin.git;h=5489240c1bc56c9c4075766addf41af5df276cf0

commit 5489240c1bc56c9c4075766addf41af5df276cf0
Author: Corinna Vinschen <corinna@vinschen.de>
Date:   Mon May 25 13:10:41 2020 +0200

    Cygwin: fix declaration of __small_{v}sprintf
    
    Both functions are declared as extern "C" functions in
    sys/smallprint.h, but as C++ funcs in winsup.h and in the
    source itself.
    
    Add extern "C to definitions, remove declarations in winsup.h
    and include sys/smallprint.h instead.
    
    Signed-off-by: Corinna Vinschen <corinna@vinschen.de>

Diff:
---
 winsup/cygwin/smallprint.cc | 4 ++--
 winsup/cygwin/winsup.h      | 7 +++++--
 2 files changed, 7 insertions(+), 4 deletions(-)

diff --git a/winsup/cygwin/smallprint.cc b/winsup/cygwin/smallprint.cc
index 3a693b5d1..26d34d9e4 100644
--- a/winsup/cygwin/smallprint.cc
+++ b/winsup/cygwin/smallprint.cc
@@ -130,7 +130,7 @@ __rn (char *dst, int base, int dosign, long long val, int len, int pad, unsigned
   return dst;
 }
 
-int
+extern "C" int
 __small_vsprintf (char *dst, const char *fmt, va_list ap)
 {
   tmpbuf tmp;
@@ -373,7 +373,7 @@ gen_decimalLL:
   return dst - orig;
 }
 
-int
+extern "C" int
 __small_sprintf (char *dst, const char *fmt, ...)
 {
   int r;
diff --git a/winsup/cygwin/winsup.h b/winsup/cygwin/winsup.h
index 2916728b6..fff7d18f3 100644
--- a/winsup/cygwin/winsup.h
+++ b/winsup/cygwin/winsup.h
@@ -14,7 +14,11 @@ details. */
 #define NO_COPY __attribute__((nocommon)) __attribute__((section(".data_cygwin_nocopy")))
 #define NO_COPY_INIT __attribute__((section(".data_cygwin_nocopy")))
 
+#ifdef __cplusplus
 #define EXPORT_ALIAS(sym,symalias) extern "C" __typeof (sym) symalias __attribute__ ((alias(#sym)));
+#else
+#define EXPORT_ALIAS(sym,symalias) __typeof (sym) symalias __attribute__ ((alias(#sym)));
+#endif
 
 #define _WIN32_WINNT 0x0a00
 #define WINVER 0x0a00
@@ -28,6 +32,7 @@ details. */
 
 #include <sys/types.h>
 #include <sys/strace.h>
+#include <sys/smallprint.h>
 
 /* Declarations for functions used in C and C++ code. */
 #ifdef __cplusplus
@@ -223,8 +228,6 @@ void set_ishybrid_and_switch_to_pcon (HANDLE h);
 /* Printf type functions */
 extern "C" void vapi_fatal (const char *, va_list ap) __attribute__ ((noreturn));
 extern "C" void api_fatal (const char *, ...) __attribute__ ((noreturn));
-int __small_sprintf (char *dst, const char *fmt, ...);
-int __small_vsprintf (char *dst, const char *fmt, va_list ap);
 int __small_swprintf (PWCHAR dst, const WCHAR *fmt, ...);
 int __small_vswprintf (PWCHAR dst, const WCHAR *fmt, va_list ap);
 void multiple_cygwin_problem (const char *, uintptr_t, uintptr_t);


                 reply	other threads:[~2020-05-25 11:33 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20200525113333.B0A1C38708EB@sourceware.org \
    --to=corinna@sourceware.org \
    --cc=cygwin-cvs@sourceware.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).