Looks OK. Some comments below.
http://codereview.appspot.com/4431071/diff/1/gcc/c-family/c.opt File gcc/c-family/c.opt (right): http://codereview.appspot.com/4431071/diff/1/gcc/c-family/c.opt#newcode943 gcc/c-family/c.opt:943: +fpph-dump-tree +C++ Var(flag_pph_dump_tree) +-fpph-dump-tree Dump global namespace tree around PPH reads/writes. + We should just add to the existing -fdump-translation-unit. Maybe not so important now. http://codereview.appspot.com/4431071/diff/1/gcc/cp/name-lookup.c File gcc/cp/name-lookup.c (right): http://codereview.appspot.com/4431071/diff/1/gcc/cp/name-lookup.c#newcode1186 gcc/cp/name-lookup.c:1186: { +tree +pushdecl_into_namespace (tree dcl, tree nsp) +{ Needs comment. http://codereview.appspot.com/4431071/