1 /*
2 Copyright Rene Rivera 2011-2015
3 Distributed under the Boost Software License, Version 1.0.
4 (See accompanying file LICENSE_1_0.txt or copy at
5 http://www.boost.org/LICENSE_1_0.txt)
6 */
7 
8 #ifndef BOOST_PREDEF_LANGUAGE_STDC_H
9 #define BOOST_PREDEF_LANGUAGE_STDC_H
10 
11 #include <boost/predef/version_number.h>
12 #include <boost/predef/make.h>
13 
14 /*`
15 [heading `BOOST_LANG_STDC`]
16 
17 [@http://en.wikipedia.org/wiki/C_(programming_language) Standard C] language.
18 If available, the year of the standard is detected as YYYY.MM.1 from the Epoc date.
19 
20 [table
21     [[__predef_symbol__] [__predef_version__]]
22 
23     [[`__STDC__`] [__predef_detection__]]
24 
25     [[`__STDC_VERSION__`] [V.R.P]]
26     ]
27  */
28 
29 #define BOOST_LANG_STDC BOOST_VERSION_NUMBER_NOT_AVAILABLE
30 
31 #if defined(__STDC__)
32 #   undef BOOST_LANG_STDC
33 #   if defined(__STDC_VERSION__)
34 #       if (__STDC_VERSION__ > 100)
35 #           define BOOST_LANG_STDC BOOST_PREDEF_MAKE_YYYYMM(__STDC_VERSION__)
36 #       else
37 #           define BOOST_LANG_STDC BOOST_VERSION_NUMBER_AVAILABLE
38 #       endif
39 #   else
40 #       define BOOST_LANG_STDC BOOST_VERSION_NUMBER_AVAILABLE
41 #   endif
42 #endif
43 
44 #if BOOST_LANG_STDC
45 #   define BOOST_LANG_STDC_AVAILABLE
46 #endif
47 
48 #define BOOST_LANG_STDC_NAME "Standard C"
49 
50 #endif
51 
52 #include <boost/predef/detail/test.h>
53 BOOST_PREDEF_DECLARE_TEST(BOOST_LANG_STDC,BOOST_LANG_STDC_NAME)
54