xref: /llvm-project/clang/test/Analysis/conversion.cpp (revision bd9e23943a2299804172da69b308533241f99b60)
1 // RUN: %clang_analyze_cc1 -Wno-conversion -Wno-tautological-constant-compare -analyzer-checker=core,alpha.core.Conversion -verify %s
2 
3 // expected-no-diagnostics
4 
dontwarn1()5 void dontwarn1() {
6   unsigned long x = static_cast<unsigned long>(-1);
7 }
8 
dontwarn2(unsigned x)9 void dontwarn2(unsigned x) {
10   if (x == static_cast<unsigned>(-1)) {
11   }
12 }
13 
14 struct C {
CC15   C(unsigned x, unsigned long y) {}
16 };
17 
f(C)18 void f(C) {}
19 
functioncall1(long x)20 void functioncall1(long x) {
21   f(C(64, x));
22 }
23