Typecheck elements of 'macros' parameter in 'gen_preprocess_options().
diff --git a/Lib/distutils/ccompiler.py b/Lib/distutils/ccompiler.py
index 0e50533..2a80739 100644
--- a/Lib/distutils/ccompiler.py
+++ b/Lib/distutils/ccompiler.py
@@ -450,6 +450,14 @@
pp_opts = []
for macro in macros:
+
+ if not (type (macro) is TupleType and
+ 1 <= len (macro) <= 2):
+ raise TypeError, \
+ ("bad macro definition '%s': " +
+ "each element of 'macros' list must be a 1- or 2-tuple") % \
+ macro
+
if len (macro) == 1: # undefine this macro
pp_opts.append ("-U%s" % macro[0])
elif len (macro) == 2: