teak-llvm/clang/test/clang-rename/VariableMacro.cpp
Alex Lorenz 4abbd92bf4 [refactor] Move clang-rename into the clang repository
The core engine of clang-rename will be used for local and global renames in the
new refactoring engine, as mentioned in
http://lists.llvm.org/pipermail/cfe-dev/2017-June/054286.html.

The clang-rename tool is still supported but might get deprecated in the future.

Differential Revision: https://reviews.llvm.org/D34696

llvm-svn: 306840
2017-06-30 16:36:09 +00:00

22 lines
614 B
C++

#define Baz Foo // CHECK: #define Baz Bar
void foo(int value) {}
void macro() {
int Foo; /* Test 1 */ // CHECK: int Bar;
Foo = 42; /* Test 2 */ // CHECK: Bar = 42;
Baz -= 0;
foo(Foo); /* Test 3 */ // CHECK: foo(Bar);
foo(Baz);
}
// Test 1.
// RUN: clang-rename -offset=88 -new-name=Bar %s -- | sed 's,//.*,,' | FileCheck %s
// Test 2.
// RUN: clang-rename -offset=129 -new-name=Bar %s -- | sed 's,//.*,,' | FileCheck %s
// Test 3.
// RUN: clang-rename -offset=191 -new-name=Bar %s -- | sed 's,//.*,,' | FileCheck %s
// To find offsets after modifying the file, use:
// grep -Ubo 'Foo.*' <file>