http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53181
--- Comment #2 from Paolo Carlini <paolo.carlini at oracle dot com> 2012-10-18 14:45:00 UTC --- In the case of wrong_string, fold_comparison (called from cp_build_binary_op via fold_if_not_in_template) cannot fold the comparison to a constant: base0 != base1. Most likely the issue is that we shouldn't end up passing such pointers.