Skip to content

Commit

Permalink
Recognize MSVC 14 a.k.a. Visual Studio 2015 compiler.
Browse files Browse the repository at this point in the history
Interpret internal compiler version value 1900 as VC14. Notice that this
required adjusting the computation of the internal version from the
user-visible one because VC13 was skipped (hopefully no black cats crossed
paths with the manager responsible for this decision).

See #16854.
  • Loading branch information
vadz committed May 8, 2015
1 parent 0a41db1 commit f350bab
Show file tree
Hide file tree
Showing 2 changed files with 16 additions and 1 deletion.
2 changes: 2 additions & 0 deletions include/msvc/wx/setup.h
Expand Up @@ -63,6 +63,8 @@
#define wxCOMPILER_PREFIX vc110
#elif _MSC_VER == 1800
#define wxCOMPILER_PREFIX vc120
#elif _MSC_VER == 1900
#define wxCOMPILER_PREFIX vc140
#else
#error "Unknown MSVC compiler version, please report to wx-dev."
#endif
Expand Down
15 changes: 14 additions & 1 deletion include/wx/compiler.h
Expand Up @@ -49,7 +49,14 @@
# define __VISUALC11__
#elif __VISUALC__ < 1900
# define __VISUALC12__
#elif __VISUALC__ < 2000
/* There is no __VISUALC13__! */
# define __VISUALC14__
#else
/*
Don't forget to update include/msvc/wx/setup.h as well when adding
support for a newer MSVC version here.
*/
# pragma message("Please update wx/compiler.h to recognize this VC++ version")
#endif

Expand Down Expand Up @@ -89,7 +96,13 @@
# define wxVISUALC_VERSION(major) 0
# define wxCHECK_VISUALC_VERSION(major) 0
#else
# define wxVISUALC_VERSION(major) ( (6 + major) * 100 )
/*
Things used to be simple with the _MSC_VER value and the version number
increasing in lock step, but _MSC_VER value of 1900 is VC14 and not the
non existing (presumably for the superstitious reasons) VC13, so we now
need to account for this with an extra offset.
*/
# define wxVISUALC_VERSION(major) ( (6 + (major >= 14 ? 1 : 0) + major) * 100 )
# define wxCHECK_VISUALC_VERSION(major) ( __VISUALC__ >= wxVISUALC_VERSION(major) )
#endif

Expand Down

0 comments on commit f350bab

Please sign in to comment.