sunshaoce / rvcc-course

80 stars 24 forks source link

44 域处理中的一个疑问 #17

Open SweetPepers opened 2 years ago

SweetPepers commented 2 years ago

在commit 44 处理代码块域中, rvcc是不支持一个作用域中同名标识符声明的冲突检测的, 比如下列情况可以正常运行

  ASSERT(4, ({ int x=2; int x = 4;{ int x=3; } int y=4; x; }));

我往后看写一些(只看了一点), 没看到这个问题的解决

不过我想这个只需要在当前的scope中遍历下是否声明过就能解决, 所以觉得应该是作者故意这么写的

sunshaoce commented 2 years ago

这个问题在chibicc最终版本也是存在的,rvcc会尽量在后续修复这个问题,也欢迎对于chibicc和rvcc的这个问题发起PR,谢谢!