(Where)clang是否记录了实现定义的行为?

pwi*_*lke 9 c gcc clang undefined-behavior

C中实现定义的行为是未指定的行为,每个符合要求的实现必须记录其选择.

我发现这样很容易单证为GCC 这里或MicrosoftÇ 这里,但我找不到任何哗这些文件.

我找错了还是没有这样的东西?

dre*_*zor 5

此票证https://bugs.llvm.org/show_bug.cgi?id=11272仍处于打开状态(已有很多年了),因此似乎clang并未明确指定实现定义的行为。

不过,对于大多数情况,我敢打赌它与GCC相同。

  • 所以 clang 不是一个符合标准的 C 编译器,它甚至比 Visual Studio 更糟糕?哦,燃烧。甚至 1990 年的 Borland Turbo C 都不比 Visual Studio 更糟糕…… 规范术语:3.4.1 **实现定义的行为** 未指定的行为,其中每个实现都记录了如何做出选择。 (3认同)