Ad 2) Bohužel právě kód obsahující ify přes konečný výčet SOUČASNÉHO stavu žalostně selhává v budoucnu. Protože vývoj se nezastaví a v ifu může být jen minulý stav do kompilace programu. Právě pro takové programy, které se spoléhají na ify z konečného výčtu se pak zhusta vydávají často i binární patche, protože v budoucnost často přestávají fungovat, nebo špatně.
Ale nikdo nikomu nebrání třeba psát programy způsobem:
if (linux_version == 1.00.00)
a narvat si tam x ifů třeba na zjištění namísto detekce přímo požadované vlastnosti.
Nicméně právě ify podle čísla procesory selhávají nejvíce. Možná budou fungovat 4.1.2010, ale pokud program neustále nebudu znovu a znovu překládat co pár měsíců a neustále neupgradovat kompilátor, tak postupně během krátké doby program začne běžet neoptimálně tak jako tak. Následně je pak nutné falšovat čísla procesoru a další nepěkné věci.
To co obhajujete je nejhorší hnus po funkční stránce co může být.
Závěr:
Intel kompilátor nekašle na AMD procesory, protože ZÁMĚRNĚ penalizuje neIntel procesory. Ač mohu souhlasit se 4), nemohu souhlasit s postupem 2), protože jako člověk s 20 lety praxe vím, že toto je záměr a nic než snaha poškodit konkurenci na úkor uživatelů, který se v praxi chová hůř a má horší vlastnosti – zejména i pro budoucnost přeloženého programu.

