Skip to content
This repository has been archived by the owner on Oct 12, 2022. It is now read-only.

Commit

Permalink
Merge pull request #1377 from denis-sh/fixup-pull-1363
Browse files Browse the repository at this point in the history
Accept identifiers instead of strings in `DECLARE_ALTERNATE_NAME` macro.
  • Loading branch information
rainers committed Sep 4, 2015
2 parents 4e799b7 + 40457fa commit 8f48af8
Showing 1 changed file with 14 additions and 14 deletions.
28 changes: 14 additions & 14 deletions src/rt/stdio_msvc.c
Original file line number Diff line number Diff line change
Expand Up @@ -47,9 +47,9 @@ extern const char* _nullfunc = 0;
#define DECLARE_ALTERNATE_NAME(name, alternate_name) \
__pragma(comment(linker, "/alternatename:" C_PREFIX #name "=" C_PREFIX #alternate_name))

DECLARE_ALTERNATE_NAME ("__acrt_iob_func", "_nullfunc");
DECLARE_ALTERNATE_NAME ("__iob_func", "_nullfunc");
DECLARE_ALTERNATE_NAME ("_set_output_format", "_nullfunc");
DECLARE_ALTERNATE_NAME (__acrt_iob_func, _nullfunc);
DECLARE_ALTERNATE_NAME (__iob_func, _nullfunc);
DECLARE_ALTERNATE_NAME (_set_output_format, _nullfunc);

void init_msvc()
{
Expand All @@ -76,25 +76,25 @@ void init_msvc()
// VS2015+ provides C99-conformant (v)snprintf functions, so weakly
// link to legacy _(v)snprintf (not C99-conformant!) for VS2013- only

DECLARE_ALTERNATE_NAME ("snprintf", "_snprintf");
DECLARE_ALTERNATE_NAME ("vsnprintf", "_vsnprintf");
DECLARE_ALTERNATE_NAME (snprintf, _snprintf);
DECLARE_ALTERNATE_NAME (vsnprintf, _vsnprintf);

// VS2013- implements these functions as macros, VS2015+ provides symbols

DECLARE_ALTERNATE_NAME ("_fputc_nolock", "_msvc_fputc_nolock");
DECLARE_ALTERNATE_NAME ("_fgetc_nolock", "_msvc_fgetc_nolock");
DECLARE_ALTERNATE_NAME ("rewind", "_msvc_rewind");
DECLARE_ALTERNATE_NAME ("clearerr", "_msvc_clearerr");
DECLARE_ALTERNATE_NAME ("feof", "_msvc_feof");
DECLARE_ALTERNATE_NAME ("ferror", "_msvc_ferror");
DECLARE_ALTERNATE_NAME ("fileno", "_msvc_fileno");
DECLARE_ALTERNATE_NAME (_fputc_nolock, _msvc_fputc_nolock);
DECLARE_ALTERNATE_NAME (_fgetc_nolock, _msvc_fgetc_nolock);
DECLARE_ALTERNATE_NAME (rewind, _msvc_rewind);
DECLARE_ALTERNATE_NAME (clearerr, _msvc_clearerr);
DECLARE_ALTERNATE_NAME (feof, _msvc_feof);
DECLARE_ALTERNATE_NAME (ferror, _msvc_ferror);
DECLARE_ALTERNATE_NAME (fileno, _msvc_fileno);

// VS2013- helper functions
int _filbuf(FILE* fp);
int _flsbuf(int c, FILE* fp);

DECLARE_ALTERNATE_NAME ("_filbuf", "_nullfunc");
DECLARE_ALTERNATE_NAME ("_flsbuf", "_nullfunc");
DECLARE_ALTERNATE_NAME (_filbuf, _nullfunc);
DECLARE_ALTERNATE_NAME (_flsbuf, _nullfunc);

int _msvc_fputc_nolock(int c, FILE* fp)
{
Expand Down

0 comments on commit 8f48af8

Please sign in to comment.