brintos

brintos / llvm-project-archived public Read only

0
0
Text · 850 B · adda32e Raw
23 lines · cpp
1// RUN: %check_clang_tidy %s performance-no-int-to-ptr %t2 3// can't implicitly cast int to a pointer.4// can't use static_cast<>() to cast integer to a pointer.5// can't use dynamic_cast<>() to cast integer to a pointer.6// can't use const_cast<>() to cast integer to a pointer.7 8void *t0(long long int x) {9  return (void *)x;10  // CHECK-MESSAGES: [[@LINE-1]]:10: warning: integer to pointer cast pessimizes optimization opportunities [performance-no-int-to-ptr]11}12 13void *t1(int x) {14  return reinterpret_cast<void *>(x);15  // CHECK-MESSAGES: [[@LINE-1]]:10: warning: integer to pointer cast pessimizes optimization opportunities [performance-no-int-to-ptr]16}17 18// Don't diagnose casts from integer literals.19// It's a widely-used technique in embedded/microcontroller/hardware interfacing.20void *t3(long long int x) {21  return (void *)0xFEEDFACE;22}23