mirror of
https://github.com/capstone-engine/llvm-capstone.git
synced 2025-05-17 11:26:37 +00:00

Reviewers: arphaman Subscribers: mgorny Differential Revision: https://reviews.llvm.org/D36182 llvm-svn: 311241
52 lines
1.5 KiB
C++
52 lines
1.5 KiB
C++
// RUN: clang-diff -dump-matches %S/Inputs/clang-diff-basic-src.cpp %s -- | FileCheck %s
|
|
|
|
// CHECK: Match TranslationUnitDecl{{.*}} to TranslationUnitDecl
|
|
// CHECK: Match NamespaceDecl: src{{.*}} to NamespaceDecl: dst
|
|
namespace dst {
|
|
// CHECK-NOT: Match NamespaceDecl: src{{.*}} to NamespaceDecl: inner
|
|
namespace inner {
|
|
void foo() {
|
|
// CHECK: Match IntegerLiteral: 321{{.*}} to IntegerLiteral: 322
|
|
int x = 322;
|
|
}
|
|
}
|
|
|
|
// CHECK: Match DeclRefExpr: foo{{.*}} to DeclRefExpr: inner::foo
|
|
void main() { inner::foo(); }
|
|
|
|
// CHECK: Match StringLiteral: foo{{.*}} to StringLiteral: foo
|
|
const char *b = "f" "o" "o";
|
|
|
|
// unsigned is canonicalized to unsigned int
|
|
// CHECK: Match TypedefDecl: nat;unsigned int;{{.*}} to TypedefDecl: nat;unsigned int;
|
|
typedef unsigned nat;
|
|
|
|
// CHECK: Match VarDecl: p(int){{.*}} to VarDecl: prod(double)
|
|
// CHECK: Update VarDecl: p(int){{.*}} to prod(double)
|
|
// CHECK: Match BinaryOperator: *{{.*}} to BinaryOperator: *
|
|
double prod = 1 * 2 * 10;
|
|
// CHECK: Update DeclRefExpr
|
|
int squared = prod * prod;
|
|
|
|
class X {
|
|
const char *foo(int i) {
|
|
if (i == 0)
|
|
return "Bar";
|
|
// CHECK: Insert IfStmt{{.*}} into IfStmt
|
|
// CHECK: Insert BinaryOperator: =={{.*}} into IfStmt
|
|
else if (i == -1)
|
|
return "foo";
|
|
return 0;
|
|
}
|
|
X(){}
|
|
};
|
|
}
|
|
|
|
// CHECK: Move DeclStmt{{.*}} into CompoundStmt
|
|
void m() { { int x = 0 + 0 + 0; } }
|
|
// CHECK: Update and Move IntegerLiteral: 7{{.*}} into BinaryOperator: +({{.*}}) at 1
|
|
int um = 1 + 7;
|
|
|
|
// CHECK: Delete AccessSpecDecl: public
|
|
// CHECK: Delete CXXMethodDecl
|