brintos

brintos / llvm-project-archived public Read only

0
0
Text · 2.2 KiB · c452f69 Raw
90 lines · cpp
1// RUN: %check_clang_tidy %s readability-duplicate-include %t -- \2// RUN:   -header-filter='' \3// RUN:   -- -isystem %S/Inputs/duplicate-include/system -I %S/Inputs/duplicate-include4 5int a;6#include <string.h>7int b;8#include <string.h>9int c;10// CHECK-MESSAGES: :[[@LINE-2]]:1: warning: duplicate include [readability-duplicate-include]11// CHECK-FIXES:      int a;12// CHECK-FIXES-NEXT: #include <string.h>13// CHECK-FIXES-NEXT: int b;14// CHECK-FIXES-NEXT: int c;15 16int d;17#include <iostream>18int e;19#include <iostream> // extra stuff that will also be removed20int f;21// CHECK-MESSAGES: :[[@LINE-2]]:1: warning: duplicate include22// CHECK-FIXES:      int d;23// CHECK-FIXES-NEXT: #include <iostream>24// CHECK-FIXES-NEXT: int e;25// CHECK-FIXES-NEXT: int f;26 27int g;28#include "duplicate-include.h"29int h;30#include "duplicate-include.h"31int i;32// CHECK-MESSAGES: :[[@LINE-2]]:1: warning: duplicate include33// CHECK-FIXES:      int g;34// CHECK-FIXES-NEXT: #include "duplicate-include.h"35// CHECK-FIXES-NEXT: int h;36// CHECK-FIXES-NEXT: int i;37 38#include <types.h>39 40int j;41#include <sys/types.h>42int k;43#include <sys/types.h>44int l;45// CHECK-MESSAGES: :[[@LINE-2]]:1: warning: duplicate include46// CHECK-FIXES:      int j;47// CHECK-FIXES-NEXT: #include <sys/types.h>48// CHECK-FIXES-NEXT: int k;49// CHECK-FIXES-NEXT: int l;50 51int m;52        #          include             <string.h>  // lots of space53int n;54// CHECK-MESSAGES: :[[@LINE-2]]:9: warning: duplicate include55// CHECK-FIXES:      int m;56// CHECK-FIXES-NEXT: int n;57 58// defining a macro in the main file resets the included file cache59#define ARBITRARY_MACRO60int o;61#include <sys/types.h>62int p;63// CHECK-FIXES:      int o;64// CHECK-FIXES-NEXT: #include <sys/types.h>65// CHECK-FIXES-NEXT: int p;66 67// undefining a macro resets the cache68#undef ARBITRARY_MACRO69int q;70#include <sys/types.h>71int r;72// CHECK-FIXES:      int q;73// CHECK-FIXES-NEXT: #include <sys/types.h>74// CHECK-FIXES-NEXT: int r;75 76namespace Issue_87303 {77#define RESET_INCLUDE_CACHE78// Expect no warnings79 80#define MACRO_FILENAME "duplicate-include.h"81#include MACRO_FILENAME82#include "duplicate-include.h"83 84#define MACRO_FILENAME_2 <duplicate-include2.h>85#include <duplicate-include2.h>86#include MACRO_FILENAME_287 88#undef RESET_INCLUDE_CACHE89} // Issue_8730390