📄 crash24.c
字号:
// { dg-do assemble }// { dg-options "-O" }// GROUPS passed old-abort// gcc puts the array into a register, and then the store_bit_field () code// in expmed.c gets confused when it tries to store zero past the end of the// register (because the index is past the array bounds). It ends up calling// store_split_bit_field, which then aborts, because we don't have a split bit// field.//// Seems easiest to detect this case in the front end, i.e. access outside the// array bounds, and then force the array to be allocated on the stack instead// of a register.main(){ char i[1]; i[1] = 0;}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -