brintos

brintos / llvm-project-archived public Read only

0
0
Text · 3.7 KiB · 3b06c15 Raw
115 lines · cpp
1// RUN: %clang_cc1 -x c -Wunsafe-buffer-usage \2// RUN:            -fsafe-buffer-usage-suggestions \3// RUN:            -fdiagnostics-parseable-fixits %s 2>&1 | FileCheck %s4 5// RUN: %clang_cc1 -x c -std=c89 -Wunsafe-buffer-usage \6// RUN:            -fsafe-buffer-usage-suggestions \7// RUN:            -fdiagnostics-parseable-fixits %s 2>&1 | FileCheck %s8// RUN: %clang_cc1 -x c -std=gnu89 -Wunsafe-buffer-usage \9// RUN:            -fsafe-buffer-usage-suggestions \10// RUN:            -fdiagnostics-parseable-fixits %s 2>&1 | FileCheck %s11// RUN: %clang_cc1 -x c -std=iso9899:1990 -Wunsafe-buffer-usage \12// RUN:            -fsafe-buffer-usage-suggestions \13// RUN:            -fdiagnostics-parseable-fixits %s 2>&1 | FileCheck %s14 15// RUN: %clang_cc1 -x c -std=c17 -Wunsafe-buffer-usage \16// RUN:            -fsafe-buffer-usage-suggestions \17// RUN:            -fdiagnostics-parseable-fixits %s 2>&1 | FileCheck %s18// RUN: %clang_cc1 -x c -std=gnu17 -Wunsafe-buffer-usage \19// RUN:            -fsafe-buffer-usage-suggestions \20// RUN:            -fdiagnostics-parseable-fixits %s 2>&1 | FileCheck %s21// RUN: %clang_cc1 -x c -std=iso9899:2017 -Wunsafe-buffer-usage \22// RUN:            -fsafe-buffer-usage-suggestions \23// RUN:            -fdiagnostics-parseable-fixits %s 2>&1 | FileCheck %s24// RUN: %clang_cc1 -x c -std=c2x -Wunsafe-buffer-usage \25// RUN:            -fsafe-buffer-usage-suggestions \26// RUN:            -fdiagnostics-parseable-fixits %s 2>&1 | FileCheck %s27 28// RUN: %clang_cc1 -x c++ -std=c++98 -Wunsafe-buffer-usage \29// RUN:            -fsafe-buffer-usage-suggestions \30// RUN:            -fdiagnostics-parseable-fixits %s 2>&1 | FileCheck %s31// RUN: %clang_cc1 -x c++ -std=gnu++98 -Wunsafe-buffer-usage \32// RUN:            -fsafe-buffer-usage-suggestions \33// RUN:            -fdiagnostics-parseable-fixits %s 2>&1 | FileCheck %s34// RUN: %clang_cc1 -x c++ -std=c++17 -Wunsafe-buffer-usage \35// RUN:            -fsafe-buffer-usage-suggestions \36// RUN:            -fdiagnostics-parseable-fixits %s 2>&1 | FileCheck %s37// RUN: %clang_cc1 -x c++ -std=gnu++17 -Wunsafe-buffer-usage \38// RUN:            -fsafe-buffer-usage-suggestions \39// RUN:            -fdiagnostics-parseable-fixits %s 2>&1 | FileCheck %s40 41// RUN: %clang_cc1 -x objective-c++ -std=c++98 -Wunsafe-buffer-usage \42// RUN:            -fsafe-buffer-usage-suggestions \43// RUN:            -fdiagnostics-parseable-fixits %s 2>&1 | FileCheck %s44// RUN: %clang_cc1 -x objective-c++ -std=gnu++98 -Wunsafe-buffer-usage \45// RUN:            -fsafe-buffer-usage-suggestions \46// RUN:            -fdiagnostics-parseable-fixits %s 2>&1 | FileCheck %s47// RUN: %clang_cc1 -x objective-c++ -std=c++17 -Wunsafe-buffer-usage \48// RUN:            -fsafe-buffer-usage-suggestions \49// RUN:            -fdiagnostics-parseable-fixits %s 2>&1 | FileCheck %s50// RUN: %clang_cc1 -x objective-c++ -std=gnu++17 -Wunsafe-buffer-usage \51// RUN:            -fsafe-buffer-usage-suggestions \52// RUN:            -fdiagnostics-parseable-fixits %s 2>&1 | FileCheck %s53 54// CHECK-NOT: fix-it:55 56typedef int * Int_ptr_t;57typedef int Int_t;58 59void local_array_subscript_simple() {60  int tmp;61  int *p;62  const int *q;63  tmp = p[5];64  tmp = q[5];65 66  Int_ptr_t x;67  Int_ptr_t y;68  Int_t * z;69  Int_t * w;70 71  tmp = x[5];72  tmp = y[5];73  tmp = z[5];74  tmp = w[5];75}76 77void local_ptr_to_array() {78  int tmp;79  int n = 10;80  int a[10];81  int b[n];82  int *p = a;83  int *q = b;84  tmp = p[5];85  tmp = q[5];86}87 88void local_ptr_addrof_init() {89  int var;90  int * q = &var;91  var = q[5];92}93 94void decl_without_init() {95  int tmp;96  int * p;97  Int_ptr_t q;98  tmp = p[5];99  tmp = q[5];100}101 102void explict_cast() {103  int tmp;104  int * p;105  tmp = p[5];106 107  int a;108  char * q = (char *)&a;109  tmp = (int) q[5];110 111  void * r = &a;112  char * s = (char *) r;113  tmp = (int) s[5];114}115