It was possible to get a traceback if results[ 'flags' ] was a StringVec; the code would try to perform results[ 'flags' ] += self.special_clang_flags and this would then fail because the clang flags would be a Python list.