xref: /llvm-project/clang-tools-extra/test/clang-apply-replacements/Inputs/relative-paths/basic.h (revision 8188484daa4195a2c8b5253765036fa2c6da7263)
1*8188484dSAdrian Vogelsgesang #ifndef BASIC_H
2*8188484dSAdrian Vogelsgesang #define BASIC_H
3*8188484dSAdrian Vogelsgesang 
4*8188484dSAdrian Vogelsgesang 
5*8188484dSAdrian Vogelsgesang class Parent {
6*8188484dSAdrian Vogelsgesang public:
func()7*8188484dSAdrian Vogelsgesang   virtual void func() {}
8*8188484dSAdrian Vogelsgesang };
9*8188484dSAdrian Vogelsgesang 
10*8188484dSAdrian Vogelsgesang class Derived : public Parent {
11*8188484dSAdrian Vogelsgesang public:
func()12*8188484dSAdrian Vogelsgesang   virtual void func() {}
13*8188484dSAdrian Vogelsgesang   // CHECK: virtual void func() override {}
14*8188484dSAdrian Vogelsgesang };
15*8188484dSAdrian Vogelsgesang 
16*8188484dSAdrian Vogelsgesang extern void ext(int (&)[5], const Parent &);
17*8188484dSAdrian Vogelsgesang 
func(int t)18*8188484dSAdrian Vogelsgesang void func(int t) {
19*8188484dSAdrian Vogelsgesang   int ints[5];
20*8188484dSAdrian Vogelsgesang   for (unsigned i = 0; i < 5; ++i) {
21*8188484dSAdrian Vogelsgesang     int &e = ints[i];
22*8188484dSAdrian Vogelsgesang     e = t;
23*8188484dSAdrian Vogelsgesang     // CHECK: for (auto & elem : ints) {
24*8188484dSAdrian Vogelsgesang     // CHECK-NEXT: elem = t;
25*8188484dSAdrian Vogelsgesang   }
26*8188484dSAdrian Vogelsgesang 
27*8188484dSAdrian Vogelsgesang   Derived d;
28*8188484dSAdrian Vogelsgesang 
29*8188484dSAdrian Vogelsgesang   ext(ints, d);
30*8188484dSAdrian Vogelsgesang }
31*8188484dSAdrian Vogelsgesang 
32*8188484dSAdrian Vogelsgesang #endif // BASIC_H
33