[lldb] Fix RecordDecl match string in module-ownership.mm to get the test running again

The relevant output FileCheck is scanning in this test is as follows:

    CXXRecordDecl 0x7f96cf8239c8 <<invalid sloc>> <invalid sloc> imported in A.B <undeserialized declarations> struct definition
    <<DefinitionData boilerplate>>
    `-FieldDecl 0x7f96cf823b90 <<invalid sloc>> <invalid sloc> imported in A.B anon_field_b 'int'
    (anonymous struct)
    CXXRecordDecl 0x7f96cf823be8 <<invalid sloc>> <invalid sloc> imported in A.B struct

Before 710fa2c4ee this test was passing by
accident as it had a -DAG suffix in the checks changed by this patch,
causing FileCheck to first match the last line of the output above
(instead of the first one), and then finding the FieldDecl above.
When I removed the -DAG suffix, FileCheck actually enforced the ordering
and started failing as the FieldDecl comes before the CXXRecordDecl match
we get.

This patch fixes the CXXRecordDecl check to find the first line of the output
above which caused FileCheck to also find the FieldDecl that follows. Also
gives the FieldDecl a more unique name to make name collisions less likely.
This commit is contained in:
Raphael Isemann 2020-05-08 14:43:16 +02:00
parent f936457f80
commit 7283ec0170
2 changed files with 3 additions and 3 deletions

View File

@ -1,5 +1,5 @@
typedef struct {
int b;
int anon_field_b;
} StructB;
namespace Namespace {

View File

@ -25,8 +25,8 @@ Struct s2;
// CHECK-ANON-S1: CXXRecordDecl {{.*}} imported in A struct
StructB s3;
// CHECK-ANON-S2: CXXRecordDecl {{.*}} imported in A.B struct
// CHECK-ANON-S2: -FieldDecl {{.*}} in A.B b 'int'
// CHECK-ANON-S2: CXXRecordDecl {{.*}} imported in A.B {{.*}} struct
// CHECK-ANON-S2: -FieldDecl {{.*}} in A.B anon_field_b 'int'
Nested s4;
// CHECK-DAG: CXXRecordDecl {{.*}} imported in A struct Nested