diff options
Diffstat (limited to 'test_cases/diff_tests')
5 files changed, 35 insertions, 26 deletions
diff --git a/test_cases/diff_tests/member/expected/pointer_to_member_cc.o_o_flat b/test_cases/diff_tests/member/expected/pointer_to_member_cc.o_o_flat index 73846d7..59e5a0e 100644 --- a/test_cases/diff_tests/member/expected/pointer_to_member_cc.o_o_flat +++ b/test_cases/diff_tests/member/expected/pointer_to_member_cc.o_o_flat @@ -1,5 +1,7 @@ function symbol 'int struct S::* s2()' {_Z2s2v} was added +function symbol 'int s10(int struct S::*)' {_Z3s10M1Si} was added + function symbol 'void pmz_fun()' {_Z7pmz_funv} was added variable symbol 'char struct Y::* pmc' was added diff --git a/test_cases/diff_tests/member/expected/pointer_to_member_cc.o_o_plain b/test_cases/diff_tests/member/expected/pointer_to_member_cc.o_o_plain index 73846d7..59e5a0e 100644 --- a/test_cases/diff_tests/member/expected/pointer_to_member_cc.o_o_plain +++ b/test_cases/diff_tests/member/expected/pointer_to_member_cc.o_o_plain @@ -1,5 +1,7 @@ function symbol 'int struct S::* s2()' {_Z2s2v} was added +function symbol 'int s10(int struct S::*)' {_Z3s10M1Si} was added + function symbol 'void pmz_fun()' {_Z7pmz_funv} was added variable symbol 'char struct Y::* pmc' was added diff --git a/test_cases/diff_tests/member/expected/pointer_to_member_cc.o_o_small b/test_cases/diff_tests/member/expected/pointer_to_member_cc.o_o_small index 73846d7..59e5a0e 100644 --- a/test_cases/diff_tests/member/expected/pointer_to_member_cc.o_o_small +++ b/test_cases/diff_tests/member/expected/pointer_to_member_cc.o_o_small @@ -1,5 +1,7 @@ function symbol 'int struct S::* s2()' {_Z2s2v} was added +function symbol 'int s10(int struct S::*)' {_Z3s10M1Si} was added + function symbol 'void pmz_fun()' {_Z7pmz_funv} was added variable symbol 'char struct Y::* pmc' was added diff --git a/test_cases/diff_tests/member/expected/pointer_to_member_cc.o_o_viz b/test_cases/diff_tests/member/expected/pointer_to_member_cc.o_o_viz index 31262c8..292ca80 100644 --- a/test_cases/diff_tests/member/expected/pointer_to_member_cc.o_o_viz +++ b/test_cases/diff_tests/member/expected/pointer_to_member_cc.o_o_viz @@ -2,46 +2,48 @@ digraph "ABI diff" { "0" [shape=rectangle, label="'interface'"] "1" [color=red, label="added(int struct S::* s2() {_Z2s2v})"] "0" -> "1" [label=""] - "2" [color=red, label="added(void pmz_fun() {_Z7pmz_funv})"] + "2" [color=red, label="added(int s10(int struct S::*) {_Z3s10M1Si})"] "0" -> "2" [label=""] - "3" [color=red, label="added(char struct Y::* pmc)"] + "3" [color=red, label="added(void pmz_fun() {_Z7pmz_funv})"] "0" -> "3" [label=""] - "4" [color=red, label="added(int union U::* pmcu)"] + "4" [color=red, label="added(char struct Y::* pmc)"] "0" -> "4" [label=""] - "5" [color=red, label="added(double struct X::* pmd)"] + "5" [color=red, label="added(int union U::* pmcu)"] "0" -> "5" [label=""] - "6" [color=red, label="added(void(struct X::* pmf)(struct X*, int))"] + "6" [color=red, label="added(double struct X::* pmd)"] "0" -> "6" [label=""] - "7" [color=red, label="added(int struct X::* pmi)"] + "7" [color=red, label="added(void(struct X::* pmf)(struct X*, int))"] "0" -> "7" [label=""] - "8" [color=red, label="added(int union U::* pmu)"] + "8" [color=red, label="added(int struct X::* pmi)"] "0" -> "8" [label=""] - "9" [color=red, label="added(int struct { int t; }::* pmy)"] + "9" [color=red, label="added(int union U::* pmu)"] "0" -> "9" [label=""] - "10" [color=red, label="added(int struct S::* s0)"] + "10" [color=red, label="added(int struct { int t; }::* pmy)"] "0" -> "10" [label=""] - "11" [color=red, label="added(int struct S::** s1)"] + "11" [color=red, label="added(int struct S::* s0)"] "0" -> "11" [label=""] - "12" [color=red, label="added(int struct S::*(* s3)())"] + "12" [color=red, label="added(int struct S::** s1)"] "0" -> "12" [label=""] - "13" [color=red, label="added(int struct S::* s4[7])"] + "13" [color=red, label="added(int struct S::*(* s3)())"] "0" -> "13" [label=""] - "14" [color=red, label="added(int* struct S::* s5)"] + "14" [color=red, label="added(int struct S::* s4[7])"] "0" -> "14" [label=""] - "15" [color=red, label="added(int(* struct S::* s6)())"] + "15" [color=red, label="added(int* struct S::* s5)"] "0" -> "15" [label=""] - "16" [color=red, label="added(int(struct S::* s7)(struct S*))"] + "16" [color=red, label="added(int(* struct S::* s6)())"] "0" -> "16" [label=""] - "17" [color=red, label="added(int(struct S::* s8)[7])"] + "17" [color=red, label="added(int(struct S::* s7)(struct S*))"] "0" -> "17" [label=""] - "18" [color=red, label="added(const int struct S::* volatile s9)"] + "18" [color=red, label="added(int(struct S::* s8)[7])"] "0" -> "18" [label=""] - "19" [label="'char struct A::* diff' -> 'int struct B::* diff'"] - "20" [label="'char struct A::*' -> 'int struct B::*'"] - "21" [color=red, label="'struct A' -> 'struct B'"] - "20" -> "21" [label="containing"] - "22" [color=red, label="'char' -> 'int'"] - "20" -> "22" [label=""] - "19" -> "20" [label=""] + "19" [color=red, label="added(const int struct S::* volatile s9)"] "0" -> "19" [label=""] + "20" [label="'char struct A::* diff' -> 'int struct B::* diff'"] + "21" [label="'char struct A::*' -> 'int struct B::*'"] + "22" [color=red, label="'struct A' -> 'struct B'"] + "21" -> "22" [label="containing"] + "23" [color=red, label="'char' -> 'int'"] + "21" -> "23" [label=""] + "20" -> "21" [label=""] + "0" -> "20" [label=""] } diff --git a/test_cases/diff_tests/member/pointer_to_member.1.cc b/test_cases/diff_tests/member/pointer_to_member.1.cc index 61011ee..9779061 100644 --- a/test_cases/diff_tests/member/pointer_to_member.1.cc +++ b/test_cases/diff_tests/member/pointer_to_member.1.cc @@ -21,6 +21,9 @@ int (S::*s7)(); int (S::*s8)[7]; // declare s9 as volatile pointer to member of class S const int const int S::* volatile s9; +// declare s10 as function (pointer to member of class S int) returning int +int s10(int S::*); +int s10(int S::*) { return 0; } struct X { void f(int); @@ -48,8 +51,6 @@ auto pmu = &U::u; typedef const U CU; auto pmcu = &CU::u; -// TODO: everything above here should be an info test - struct B { int x; }; |