По какой причине семантика a=a++ не определена?

a = a++;

- поведение undefined в C. Вопрос, который я задаю: почему?

Я имею в виду, я понимаю, что может быть трудно обеспечить последовательный порядок, в котором все должно быть сделано. Но некоторые компиляторы всегда будут делать это в том или ином порядке (на данном уровне оптимизации). Так почему именно компилятору решать?

Чтобы внести ясность, я хочу знать, было ли это проектным решением, и если да, то чем оно было вызвано? Или может есть какое-то аппаратное ограничение?

(Примечание: если название вопроса кажется неясным или недостаточно подходящим, приветствуются отзывы и/или изменения)

32
задан Arnab Datta 30 March 2012 в 13:29
поделиться