問題タブ [ubsan]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - uint32_t を unsigned に正しくキャストする方法
アドレスサニタイザーを使用していくつかの C++ コードを修正しようとしています。コードは次のように述べています。
そしてサニタイザーは次のように与えます:
これを修正するにはどうすればよいですか?
c++ - C++ clang UBsan 抑制フラグ名
gzip.hpp
ブースト バージョン 1.64 のコードを clang の ubsan で実行すると、次のメッセージが表示されます。
これを抑制ファイルで抑制したいのですが。他の警告については、これが機能しました:
この場合、これが機能するはずです
しかし、それは実行時に与えます
このサナタイザーの旗の正しい名前は?
参照: https://clang.llvm.org/docs/UndefinedBehaviorSanitizer.html#runtime-suppressions
およびhttps://clang.llvm.org/docs/UndefinedBehaviorSanitizer.html#available-checksから
-fsanitize=implicit-integer-sign-change: 整数型間の暗黙的な変換 (値の符号が変わる場合)。つまり、元の値が負で新しい値が正 (またはゼロ) の場合、または元の値が正で新しい値が負の場合です。このサニタイザーによって検出される問題は、未定義の動作ではありませんが、多くの場合、意図的ではありません。