I have an enum named RandomEnum in file foo.h:
// foo.h
typedef enum RandomEnum {
ran_1 = 0,
ran_2
} RandomEnum;
In another file, bar.h, I\
It turns out this is possible after all. My problem had to do with odd cross-includes that weren't direct, but were still present.
In the given example, foo.h included thing.h which included something.h which included bar.h. This cross dependency is what ended up being the problem.
Still, good to know for compiler bugs. Thanks for the responses!