Am Samstag, den 17.07.2010, 15:02 +0200 schrieb Carl-Daniel Hailfinger:
This design question applies to all programmer related tables. Advantages: The current checks for miscompilation on startup would be obsolete, and the programmer enum and related variables would not be needed anymore either.
Right.
Disadvantages: It will be a lot more difficult to blacklist certain actions based on the programmer (because that action is not supported) and that may require conversion of some error avoidance paths to error recovery paths.
Not necessarily. You can leave the programmer enum alive, but *always* including all programmers present in source, so the ugly #ifdef SUPPORT_FOO // PROGRAMMER_FOO /// #endif mess goes away. Then you create a "programmer_id" field in the programmer structure which can be used to look up the programmer ID and compared to certain values.
Regards, Michael Karcher