translate-c: do not translate macros which use arguments as struct/union/enum names

Consider this C macro:
```c
#define FOO(x) struct x
```

Previously, translate-c did not detect that the `x` in the body referred
to the argument, so wrongly translated this code as using the
nonexistent `struct_x`. Since undefined identifiers are noticed in
AstGen, this prevents the translated file from being usable at all.

translate-c now instead detects this case and emits an appropriate
compile error in the macro's place.
0fa8cf44f6mlugg committed on 9/17/2023, 11:41:11 AMparent28caaea
2 files changedLine totals unavailable