rsmith added a comment.
Clang's current behavior is observably wrong in MS compatibility mode. For
example:
namespace N {
enum E *p;
exterm E e; // ok, finds E injected into scope by previous declaration
}
N::E e; // error, no E in N!
namespace N {
extern E e; // error, no E
jdenny created this revision.
jdenny added reviewers: aaron.ballman, rsmith, hfinkel.
For example, given:
enum __attribute__((deprecated)) T *p;
-ast-print produced:
enum T *p;
The trouble was that the EnumDecl node was suppressed, as revealed by
-ast-dump. The suppression of the EnumDecl