windows fixes
diff --git a/include/pybind/pybind.h b/include/pybind/pybind.h
index de496fb..55a5d6d 100644
--- a/include/pybind/pybind.h
+++ b/include/pybind/pybind.h
@@ -103,7 +103,7 @@
PyObject *pyArgs, PyObject *kwargs, bool is_method, detail::index_sequence<Index...>) {
int index = is_method ? 1 : 0;
int unused[] = { 0, (process_extra(std::get<Index>(args), index, pyArgs, kwargs), 0)... };
- (void) unused;
+ (void) unused; (void) index;
}
static void process_extra(const char *doc, function_entry *entry, const char **, const char **) { entry->doc = doc; }
diff --git a/tools/mkdoc.py b/tools/mkdoc.py
index d1b61c9..09c09cf 100644
--- a/tools/mkdoc.py
+++ b/tools/mkdoc.py
@@ -203,8 +203,9 @@
Do not edit! These were automatically extracted by mkdoc.py
*/
+#define __EXPAND(x) x
#define __COUNT(_1, _2, _3, _4, _5, COUNT, ...) COUNT
-#define __VA_SIZE(...) __COUNT(__VA_ARGS__, 5, 4, 3, 2, 1)
+#define __VA_SIZE(...) __EXPAND(__COUNT(__VA_ARGS__, 5, 4, 3, 2, 1))
#define __CAT1(a, b) a ## b
#define __CAT2(a, b) __CAT1(a, b)
#define __DOC1(n1) __doc_##n1
@@ -212,7 +213,7 @@
#define __DOC3(n1, n2, n3) __doc_##n1##_##n2##_##n3
#define __DOC4(n1, n2, n3, n4) __doc_##n1##_##n2##_##n3##_##n4
#define __DOC5(n1, n2, n3, n4, n5) __doc_##n1##_##n2##_##n3##_##n4_##n5
-#define DOC(...) __CAT2(__DOC, __VA_SIZE(__VA_ARGS__))(__VA_ARGS__)
+#define DOC(...) __EXPAND(__EXPAND(__CAT2(__DOC, __VA_SIZE(__VA_ARGS__)))(__VA_ARGS__))
#if defined(__GNUG__)
#pragma GCC diagnostic push