?
kouzdra [entries|archive|friends|userinfo]
kouzdra

[ website | www.kouzdra.org ]
[ userinfo | livejournal userinfo ]
[ archive | journal archive ]

Undefined behavior - 2 [Dec. 3rd, 2020|12:26 am]
kouzdra
Кстати

void test_for_11 (int t) {
    for (int i = t; i < ++i; i++) {                              
 //       break;                    
    }
}

int main () {
   test_for_11 (10);
   return 0;
}


При компиляции clang с ключиком -O0 - зацикливается, а с ключиком -O3 прекрасно завершается. Так что оно и в реале undefined
LinkReply

Comments:
From: (Anonymous)
2020-12-02 09:59 pm (UTC)
(Reply) (Thread)
From: (Anonymous)
2020-12-02 10:55 pm (UTC)
блядь ненавижу это говно ебаное псевдокультурное. мерзкие гаденыши на риталине
(Reply) (Parent) (Thread)
From: (Anonymous)
2020-12-03 12:49 am (UTC)

Земля в иллюминаторе видна...


(Reply) (Thread)
From: (Anonymous)
2020-12-03 01:58 am (UTC)
(Reply) (Thread)
[User Picture]From: hayate_
2020-12-03 04:56 am (UTC)
Вах.
У меня не завершается. У меня падает "Illegal instruction: 4"

С оптимизацией генерирует падение прямо в бинарь:

_test_for_11:
0000000100000f90 pushq %rbp
0000000100000f91 movq %rsp, %rbp
0000000100000f94 nopw %cs:(%rax,%rax)
0000000100000f9e nop
0000000100000fa0 jmp 0x100000fa0
0000000100000fa2 nopw %cs:(%rax,%rax)
0000000100000fac nopl (%rax)
_main:
0000000100000fb0 pushq %rbp
0000000100000fb1 movq %rsp, %rbp
0000000100000fb4 ud2
(Reply) (Thread)