https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115127
--- Comment #2 from Andrew Pinski <pinskia at gcc dot gnu.org> --- Also I tested even the simplified testcase: ``` volatile int t = 1; int main (int argc, char* argv[]) { volatile int print_hash_value = 0; if (t == 2) print_hash_value = 1; __builtin_ctz(print_hash_value); return 0; } ``` And the trunk reports: /app/example.cpp:261:5: runtime error: passing zero to ctz(), which is not a valid argument Just fine.