Do not blindly skip existing attributes, also fixes macro typedef redefinition issue
Merge