C++ Clang静态代码分析器'&燃气轮机&燃气轮机';表达式未定义

C++ Clang静态代码分析器'&燃气轮机&燃气轮机';表达式未定义,c++,clang,static-analysis,C++,Clang,Static Analysis,我有一个非常简单的代码示例,它在clang analyzer中创建了一个令人困惑的结果,至少对我来说是这样 #include <random> #include <vector> int main() { std::mt19937 rng; std::vector<int> collection; std::shuffle(begin(collection), end(collection), rng); } 行号,如果它在头文件中

我有一个非常简单的代码示例,它在clang analyzer中创建了一个令人困惑的结果,至少对我来说是这样

#include <random>
#include <vector>

int main() {
    std::mt19937 rng;
    std::vector<int> collection;
    std::shuffle(begin(collection), end(collection), rng);
}

行号,如果它在头文件中,那么周围的一些代码会很有用。我已经添加了额外的信息。谢谢如果
\u Engine\u result\u type
是有符号整数类型,则
\u Engine\u result\u type>>移位的结果未定义。如果
(\u EDt-\u w0)
超出范围(
0..sizeof(int)*CHAR\u BIT-1
),则同上。typedef\u UIntType result\u type;来自mersenne_twister_引擎类实现。我假设UIntType是无符号的?人们希望如此-移位值如何?
warning: The result of the '>>' expression is undefined
    __mask0_ = __w0_ > 0 ? _Engine_result_type(~0) >> (_EDt - __w0_) :
                           ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~ 1 warning generated.