The Itanium manglerThe Itanium mangler uses IgnoreLinkageSpecDecls to strip linkage spec contexts. It doesn't do this consistently, but there is no need for it to do it at all. getEffectiveDeclContext never returns a linkage spec, as it either recurses, uses getRedeclContext (which itself removes the specs), or gets the decl context of non-namespace entities.
This patch removes the function and all calls to it. For safety I add a couple of asserts to make sure we never get them.
(I also built a compiler which asserted the existing calls to IgnoreLinkageSpecDecls never saw a linkage spec.)