aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGiuliano Procida <gprocida@google.com>2023-11-17 09:28:30 +0000
committerGiuliano Procida <gprocida@google.com>2023-11-20 12:59:25 +0000
commit51b5cb889f948751d23a24151dcea0e63e3ed8f5 (patch)
tree2da9f1976439f8cd9a94abad684970b1ee03e4c9
parent1a6b9013517601f0ec82ab1b0dbb8c657608cf96 (diff)
downloadstg-51b5cb889f948751d23a24151dcea0e63e3ed8f5.tar.gz
test cases: simplify reference/type tests
These test cases no longer test more than needed nor require passing `-fstandalone-debug` to Clang. PiperOrigin-RevId: 583304173 Change-Id: I74e8ae1cff8fb1a43ef000aa1089e6de8321484e
-rw-r--r--test_cases/abigail_reader/reference/expected/type_cc.abi_stg117
-rw-r--r--test_cases/abigail_reader/reference/type.cc.xml43
-rw-r--r--test_cases/diff_tests/reference/expected/type_cc.o_o_flat39
-rw-r--r--test_cases/diff_tests/reference/expected/type_cc.o_o_plain39
-rw-r--r--test_cases/diff_tests/reference/expected/type_cc.o_o_small25
-rw-r--r--test_cases/diff_tests/reference/expected/type_cc.o_o_viz59
-rw-r--r--test_cases/diff_tests/reference/type.0.cc18
-rw-r--r--test_cases/diff_tests/reference/type.1.cc18
-rw-r--r--test_cases/info_tests/reference/expected/type_cc.elf_stg118
-rw-r--r--test_cases/info_tests/reference/type.cc18
10 files changed, 142 insertions, 352 deletions
diff --git a/test_cases/abigail_reader/reference/expected/type_cc.abi_stg b/test_cases/abigail_reader/reference/expected/type_cc.abi_stg
index f50e7d0..8c173af 100644
--- a/test_cases/abigail_reader/reference/expected/type_cc.abi_stg
+++ b/test_cases/abigail_reader/reference/expected/type_cc.abi_stg
@@ -1,126 +1,67 @@
version: 0x00000002
root_id: 0x84ea5130
-special {
- id: 0x48b5725f
- kind: VOID
-}
-pointer_reference {
- id: 0x0483e6f8
- kind: POINTER
- pointee_type_id: 0x384f7d7c
-}
pointer_reference {
- id: 0x24b3ee1b
+ id: 0x13580d6c
kind: POINTER
- pointee_type_id: 0xb88f5ef1
-}
-pointer_reference {
- id: 0x547353fb
- kind: RVALUE_REFERENCE
- pointee_type_id: 0xb88f5ef1
+ pointee_type_id: 0x6720d32f
}
pointer_reference {
- id: 0x74435b18
+ id: 0x6398b08c
kind: RVALUE_REFERENCE
- pointee_type_id: 0x384f7d7c
+ pointee_type_id: 0x6720d32f
}
pointer_reference {
- id: 0xc983f02f
+ id: 0xde581bbb
kind: LVALUE_REFERENCE
- pointee_type_id: 0x384f7d7c
-}
-pointer_reference {
- id: 0xe9b3f8cc
- kind: LVALUE_REFERENCE
- pointee_type_id: 0xb88f5ef1
+ pointee_type_id: 0x6720d32f
}
primitive {
- id: 0x384f7d7c
- name: "char"
- bytesize: 0x00000001
-}
-primitive {
- id: 0xfc0e1dbd
- name: "long"
- bytesize: 0x00000008
+ id: 0x6720d32f
+ name: "int"
+ bytesize: 0x00000004
}
member {
- id: 0x356c9a41
- name: "lref1"
- type_id: 0xe9b3f8cc
+ id: 0xc46f84f6
+ name: "lref"
+ type_id: 0xde581bbb
offset: 64
}
member {
- id: 0xf58c07c5
- name: "lref2"
- type_id: 0xc983f02f
- offset: 256
+ id: 0x46e392d8
+ name: "ptr"
+ type_id: 0x13580d6c
}
member {
- id: 0xfceed921
- name: "ptr1"
- type_id: 0x24b3ee1b
-}
-member {
- id: 0xbc0ffbf4
- name: "ptr2"
- type_id: 0x0483e6f8
- offset: 192
-}
-member {
- id: 0x28142580
- name: "rref1"
- type_id: 0x547353fb
+ id: 0x2a89c81c
+ name: "rref"
+ type_id: 0x6398b08c
offset: 128
}
-member {
- id: 0x6f76291d
- name: "rref2"
- type_id: 0x74435b18
- offset: 320
-}
-member {
- id: 0xa04e65cb
- name: "x"
- type_id: 0xfc0e1dbd
-}
-struct_union {
- id: 0xe507e03d
- kind: STRUCT
- name: "boo"
- definition {
- bytesize: 48
- member_id: 0xfceed921
- member_id: 0x356c9a41
- member_id: 0x28142580
- member_id: 0xbc0ffbf4
- member_id: 0xf58c07c5
- member_id: 0x6f76291d
- }
-}
struct_union {
id: 0xb88f5ef1
kind: STRUCT
name: "foo"
definition {
- bytesize: 8
- member_id: 0xa04e65cb
+ bytesize: 24
+ member_id: 0x46e392d8
+ member_id: 0xc46f84f6
+ member_id: 0x2a89c81c
}
}
function {
- id: 0x29d9a99c
- return_type_id: 0x48b5725f
- parameter_id: 0xe507e03d
+ id: 0xb3a33493
+ return_type_id: 0x6720d32f
+ parameter_id: 0xb88f5ef1
}
elf_symbol {
- id: 0x1f6f1cb8
- name: "_Z4func3boo"
+ id: 0x68629c2b
+ name: "_Z4func3foo"
is_defined: true
symbol_type: FUNCTION
- type_id: 0x29d9a99c
+ type_id: 0xb3a33493
full_name: "func"
}
interface {
id: 0x84ea5130
- symbol_id: 0x1f6f1cb8
+ symbol_id: 0x68629c2b
}
diff --git a/test_cases/abigail_reader/reference/type.cc.xml b/test_cases/abigail_reader/reference/type.cc.xml
index d90e8b4..9b620a3 100644
--- a/test_cases/abigail_reader/reference/type.cc.xml
+++ b/test_cases/abigail_reader/reference/type.cc.xml
@@ -1,45 +1,26 @@
<abi-corpus version='2.1'>
<elf-function-symbols>
- <elf-symbol name='_Z4func3boo' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+ <elf-symbol name='_Z4func3foo' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
</elf-function-symbols>
<abi-instr address-size='64' path='type.cc' language='LANG_C_plus_plus_14'>
- <type-decl name='char' size-in-bits='8' id='a84c031d'/>
- <type-decl name='long' size-in-bits='64' id='c2ecdf53'/>
- <class-decl name='foo' size-in-bits='64' is-struct='yes' visibility='default' id='3f46facf'>
+ <type-decl name='int' size-in-bits='32' id='95e97e5e'/>
+ <class-decl name='foo' size-in-bits='192' is-struct='yes' visibility='default' id='3f46facf'>
<data-member access='public' layout-offset-in-bits='0'>
- <var-decl name='x' type-id='c2ecdf53' visibility='default'/>
- </data-member>
- </class-decl>
- <class-decl name='boo' size-in-bits='384' is-struct='yes' visibility='default' id='f3e3f3fb'>
- <data-member access='public' layout-offset-in-bits='0'>
- <var-decl name='ptr1' type-id='8750e847' visibility='default'/>
+ <var-decl name='ptr' type-id='7292109c' visibility='default'/>
</data-member>
<data-member access='public' layout-offset-in-bits='64'>
- <var-decl name='lref1' type-id='7b50d563' visibility='default'/>
+ <var-decl name='lref' type-id='769216e8' visibility='default'/>
</data-member>
<data-member access='public' layout-offset-in-bits='128'>
- <var-decl name='rref1' type-id='653fbb9f' visibility='default'/>
- </data-member>
- <data-member access='public' layout-offset-in-bits='192'>
- <var-decl name='ptr2' type-id='26a90f95' visibility='default'/>
- </data-member>
- <data-member access='public' layout-offset-in-bits='256'>
- <var-decl name='lref2' type-id='2aa915e1' visibility='default'/>
- </data-member>
- <data-member access='public' layout-offset-in-bits='320'>
- <var-decl name='rref2' type-id='ef2d4845' visibility='default'/>
+ <var-decl name='rref' type-id='75f9e64a' visibility='default'/>
</data-member>
</class-decl>
- <reference-type-def kind='lvalue' type-id='a84c031d' size-in-bits='64' id='2aa915e1'/>
- <reference-type-def kind='rvalue' type-id='a84c031d' size-in-bits='64' id='ef2d4845'/>
- <pointer-type-def type-id='a84c031d' size-in-bits='64' id='26a90f95'/>
- <reference-type-def kind='lvalue' type-id='3f46facf' size-in-bits='64' id='7b50d563'/>
- <reference-type-def kind='rvalue' type-id='3f46facf' size-in-bits='64' id='653fbb9f'/>
- <pointer-type-def type-id='3f46facf' size-in-bits='64' id='8750e847'/>
- <function-decl name='func' mangled-name='_Z4func3boo' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_Z4func3boo'>
- <parameter type-id='f3e3f3fb' name='a'/>
- <return type-id='48b5725f'/>
+ <reference-type-def kind='lvalue' type-id='95e97e5e' size-in-bits='64' id='769216e8'/>
+ <reference-type-def kind='rvalue' type-id='95e97e5e' size-in-bits='64' id='75f9e64a'/>
+ <pointer-type-def type-id='95e97e5e' size-in-bits='64' id='7292109c'/>
+ <function-decl name='func' mangled-name='_Z4func3foo' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_Z4func3foo'>
+ <parameter type-id='3f46facf' name='x'/>
+ <return type-id='95e97e5e'/>
</function-decl>
- <type-decl name='void' id='48b5725f'/>
</abi-instr>
</abi-corpus>
diff --git a/test_cases/diff_tests/reference/expected/type_cc.o_o_flat b/test_cases/diff_tests/reference/expected/type_cc.o_o_flat
index 50975e0..3120367 100644
--- a/test_cases/diff_tests/reference/expected/type_cc.o_o_flat
+++ b/test_cases/diff_tests/reference/expected/type_cc.o_o_flat
@@ -1,30 +1,17 @@
-function symbol 'void func(struct boo)' {_Z4func3boo} changed
- type 'void(struct boo)' changed
- parameter 1 type 'struct boo' changed
-
-type 'struct boo' changed
- member 'struct foo* ptr1' changed
- type 'struct foo*' changed
- pointed-to type 'struct foo' changed
- member 'struct foo& lref1' changed
- type 'struct foo&' changed
- referred-to type 'struct foo' changed
- member 'struct foo&& rref1' changed
- type 'struct foo&&' changed
- referred-to type 'struct foo' changed
- member changed from 'int* ptr2' to 'char* ptr2'
- type changed from 'int*' to 'char*'
- pointed-to type changed from 'int' to 'char'
- member changed from 'int& lref2' to 'char& lref2'
- type changed from 'int&' to 'char&'
- referred-to type changed from 'int' to 'char'
- member changed from 'int&& rref2' to 'char&& rref2'
- type changed from 'int&&' to 'char&&'
- referred-to type changed from 'int' to 'char'
+function symbol changed from 'int func(struct foo)' {_Z4func3foo} to 'long func(struct foo)' {_Z4func3foo}
+ type changed from 'int(struct foo)' to 'long(struct foo)'
+ return type changed from 'int' to 'long'
+ parameter 1 type 'struct foo' changed
type 'struct foo' changed
- byte size changed from 4 to 8
- member changed from 'int x' to 'long x'
- type changed from 'int' to 'long'
+ member changed from 'int* ptr' to 'long* ptr'
+ type changed from 'int*' to 'long*'
+ pointed-to type changed from 'int' to 'long'
+ member changed from 'int& lref' to 'long& lref'
+ type changed from 'int&' to 'long&'
+ referred-to type changed from 'int' to 'long'
+ member changed from 'int&& rref' to 'long&& rref'
+ type changed from 'int&&' to 'long&&'
+ referred-to type changed from 'int' to 'long'
exit code 4
diff --git a/test_cases/diff_tests/reference/expected/type_cc.o_o_plain b/test_cases/diff_tests/reference/expected/type_cc.o_o_plain
index fdcf94f..d4d461f 100644
--- a/test_cases/diff_tests/reference/expected/type_cc.o_o_plain
+++ b/test_cases/diff_tests/reference/expected/type_cc.o_o_plain
@@ -1,28 +1,15 @@
-function symbol 'void func(struct boo)' {_Z4func3boo} changed
- type 'void(struct boo)' changed
- parameter 1 type 'struct boo' changed
- member 'struct foo* ptr1' changed
- type 'struct foo*' changed
- pointed-to type 'struct foo' changed
- byte size changed from 4 to 8
- member changed from 'int x' to 'long x'
- type changed from 'int' to 'long'
- member 'struct foo& lref1' changed
- type 'struct foo&' changed
- referred-to type 'struct foo' changed
- (already reported)
- member 'struct foo&& rref1' changed
- type 'struct foo&&' changed
- referred-to type 'struct foo' changed
- (already reported)
- member changed from 'int* ptr2' to 'char* ptr2'
- type changed from 'int*' to 'char*'
- pointed-to type changed from 'int' to 'char'
- member changed from 'int& lref2' to 'char& lref2'
- type changed from 'int&' to 'char&'
- referred-to type changed from 'int' to 'char'
- member changed from 'int&& rref2' to 'char&& rref2'
- type changed from 'int&&' to 'char&&'
- referred-to type changed from 'int' to 'char'
+function symbol changed from 'int func(struct foo)' {_Z4func3foo} to 'long func(struct foo)' {_Z4func3foo}
+ type changed from 'int(struct foo)' to 'long(struct foo)'
+ return type changed from 'int' to 'long'
+ parameter 1 type 'struct foo' changed
+ member changed from 'int* ptr' to 'long* ptr'
+ type changed from 'int*' to 'long*'
+ pointed-to type changed from 'int' to 'long'
+ member changed from 'int& lref' to 'long& lref'
+ type changed from 'int&' to 'long&'
+ referred-to type changed from 'int' to 'long'
+ member changed from 'int&& rref' to 'long&& rref'
+ type changed from 'int&&' to 'long&&'
+ referred-to type changed from 'int' to 'long'
exit code 4
diff --git a/test_cases/diff_tests/reference/expected/type_cc.o_o_small b/test_cases/diff_tests/reference/expected/type_cc.o_o_small
index 2634b3f..52343e7 100644
--- a/test_cases/diff_tests/reference/expected/type_cc.o_o_small
+++ b/test_cases/diff_tests/reference/expected/type_cc.o_o_small
@@ -1,17 +1,16 @@
-type 'struct boo' changed
- member changed from 'int* ptr2' to 'char* ptr2'
- type changed from 'int*' to 'char*'
- pointed-to type changed from 'int' to 'char'
- member changed from 'int& lref2' to 'char& lref2'
- type changed from 'int&' to 'char&'
- referred-to type changed from 'int' to 'char'
- member changed from 'int&& rref2' to 'char&& rref2'
- type changed from 'int&&' to 'char&&'
- referred-to type changed from 'int' to 'char'
+function symbol changed from 'int func(struct foo)' {_Z4func3foo} to 'long func(struct foo)' {_Z4func3foo}
+ type changed from 'int(struct foo)' to 'long(struct foo)'
+ return type changed from 'int' to 'long'
type 'struct foo' changed
- byte size changed from 4 to 8
- member changed from 'int x' to 'long x'
- type changed from 'int' to 'long'
+ member changed from 'int* ptr' to 'long* ptr'
+ type changed from 'int*' to 'long*'
+ pointed-to type changed from 'int' to 'long'
+ member changed from 'int& lref' to 'long& lref'
+ type changed from 'int&' to 'long&'
+ referred-to type changed from 'int' to 'long'
+ member changed from 'int&& rref' to 'long&& rref'
+ type changed from 'int&&' to 'long&&'
+ referred-to type changed from 'int' to 'long'
exit code 4
diff --git a/test_cases/diff_tests/reference/expected/type_cc.o_o_viz b/test_cases/diff_tests/reference/expected/type_cc.o_o_viz
index d1baeea..e1d2baa 100644
--- a/test_cases/diff_tests/reference/expected/type_cc.o_o_viz
+++ b/test_cases/diff_tests/reference/expected/type_cc.o_o_viz
@@ -1,47 +1,26 @@
digraph "ABI diff" {
"0" [shape=rectangle, label="'interface'"]
- "1" [label="'void func(struct boo)' {_Z4func3boo}"]
- "2" [label="'void(struct boo)'"]
- "3" [shape=rectangle, label="'struct boo'"]
- "4" [label="'struct foo* ptr1'"]
- "5" [label="'struct foo*'"]
- "6" [color=red, shape=rectangle, label="'struct foo'"]
- "6" -> "6:0"
- "6:0" [color=red, label="byte size changed from 4 to 8"]
- "7" [label="'int x' -> 'long x'"]
- "8" [color=red, label="'int' -> 'long'"]
- "7" -> "8" [label=""]
- "6" -> "7" [label=""]
- "5" -> "6" [label="pointed-to"]
+ "1" [label="'int func(struct foo)' {_Z4func3foo} -> 'long func(struct foo)' {_Z4func3foo}"]
+ "2" [label="'int(struct foo)' -> 'long(struct foo)'"]
+ "3" [color=red, label="'int' -> 'long'"]
+ "2" -> "3" [label="return"]
+ "4" [shape=rectangle, label="'struct foo'"]
+ "5" [label="'int* ptr' -> 'long* ptr'"]
+ "6" [label="'int*' -> 'long*'"]
+ "6" -> "3" [label="pointed-to"]
+ "5" -> "6" [label=""]
"4" -> "5" [label=""]
- "3" -> "4" [label=""]
- "9" [label="'struct foo& lref1'"]
- "10" [label="'struct foo&'"]
- "10" -> "6" [label="referred-to"]
+ "7" [label="'int& lref' -> 'long& lref'"]
+ "8" [label="'int&' -> 'long&'"]
+ "8" -> "3" [label="referred-to"]
+ "7" -> "8" [label=""]
+ "4" -> "7" [label=""]
+ "9" [label="'int&& rref' -> 'long&& rref'"]
+ "10" [label="'int&&' -> 'long&&'"]
+ "10" -> "3" [label="referred-to"]
"9" -> "10" [label=""]
- "3" -> "9" [label=""]
- "11" [label="'struct foo&& rref1'"]
- "12" [label="'struct foo&&'"]
- "12" -> "6" [label="referred-to"]
- "11" -> "12" [label=""]
- "3" -> "11" [label=""]
- "13" [label="'int* ptr2' -> 'char* ptr2'"]
- "14" [label="'int*' -> 'char*'"]
- "15" [color=red, label="'int' -> 'char'"]
- "14" -> "15" [label="pointed-to"]
- "13" -> "14" [label=""]
- "3" -> "13" [label=""]
- "16" [label="'int& lref2' -> 'char& lref2'"]
- "17" [label="'int&' -> 'char&'"]
- "17" -> "15" [label="referred-to"]
- "16" -> "17" [label=""]
- "3" -> "16" [label=""]
- "18" [label="'int&& rref2' -> 'char&& rref2'"]
- "19" [label="'int&&' -> 'char&&'"]
- "19" -> "15" [label="referred-to"]
- "18" -> "19" [label=""]
- "3" -> "18" [label=""]
- "2" -> "3" [label="parameter 1"]
+ "4" -> "9" [label=""]
+ "2" -> "4" [label="parameter 1"]
"1" -> "2" [label=""]
"0" -> "1" [label=""]
}
diff --git a/test_cases/diff_tests/reference/type.0.cc b/test_cases/diff_tests/reference/type.0.cc
index 7bc1df8..b45c45c 100644
--- a/test_cases/diff_tests/reference/type.0.cc
+++ b/test_cases/diff_tests/reference/type.0.cc
@@ -1,17 +1,9 @@
struct foo {
- int x;
+ int* ptr;
+ int& lref;
+ int&& rref;
};
-struct boo {
- foo* ptr1;
- foo& lref1;
- foo&& rref1;
-
- int* ptr2;
- int& lref2;
- int&& rref2;
-};
-
-void func(boo a) {
- (void) a;
+int func(foo x) {
+ return *x.ptr + x.lref + x.rref;
}
diff --git a/test_cases/diff_tests/reference/type.1.cc b/test_cases/diff_tests/reference/type.1.cc
index 8ea06b2..a898be4 100644
--- a/test_cases/diff_tests/reference/type.1.cc
+++ b/test_cases/diff_tests/reference/type.1.cc
@@ -1,17 +1,9 @@
struct foo {
- long x;
+ long* ptr;
+ long& lref;
+ long&& rref;
};
-struct boo {
- foo* ptr1;
- foo& lref1;
- foo&& rref1;
-
- char* ptr2;
- char& lref2;
- char&& rref2;
-};
-
-void func(boo a) {
- (void) a;
+long func(foo x) {
+ return *x.ptr + x.lref + x.rref;
}
diff --git a/test_cases/info_tests/reference/expected/type_cc.elf_stg b/test_cases/info_tests/reference/expected/type_cc.elf_stg
index 09239cb..58bb765 100644
--- a/test_cases/info_tests/reference/expected/type_cc.elf_stg
+++ b/test_cases/info_tests/reference/expected/type_cc.elf_stg
@@ -1,128 +1,68 @@
version: 0x00000002
root_id: 0x84ea5130
-special {
- id: 0x48b5725f
- kind: VOID
-}
-pointer_reference {
- id: 0x0483e6f8
- kind: POINTER
- pointee_type_id: 0x384f7d7c
-}
pointer_reference {
- id: 0x24b3ee1b
+ id: 0x13580d6c
kind: POINTER
- pointee_type_id: 0xb88f5ef1
-}
-pointer_reference {
- id: 0x547353fb
- kind: RVALUE_REFERENCE
- pointee_type_id: 0xb88f5ef1
+ pointee_type_id: 0x6720d32f
}
pointer_reference {
- id: 0x74435b18
+ id: 0x6398b08c
kind: RVALUE_REFERENCE
- pointee_type_id: 0x384f7d7c
+ pointee_type_id: 0x6720d32f
}
pointer_reference {
- id: 0xc983f02f
+ id: 0xde581bbb
kind: LVALUE_REFERENCE
- pointee_type_id: 0x384f7d7c
-}
-pointer_reference {
- id: 0xe9b3f8cc
- kind: LVALUE_REFERENCE
- pointee_type_id: 0xb88f5ef1
+ pointee_type_id: 0x6720d32f
}
primitive {
- id: 0x384f7d7c
- name: "char"
- encoding: UNSIGNED_CHARACTER
- bytesize: 0x00000001
-}
-primitive {
- id: 0xfc0e1dbd
- name: "long"
+ id: 0x6720d32f
+ name: "int"
encoding: SIGNED_INTEGER
- bytesize: 0x00000008
+ bytesize: 0x00000004
}
member {
- id: 0x356c9a41
- name: "lref1"
- type_id: 0xe9b3f8cc
+ id: 0xc46f84f6
+ name: "lref"
+ type_id: 0xde581bbb
offset: 64
}
member {
- id: 0xf58c07c5
- name: "lref2"
- type_id: 0xc983f02f
- offset: 256
+ id: 0x46e392d8
+ name: "ptr"
+ type_id: 0x13580d6c
}
member {
- id: 0xfceed921
- name: "ptr1"
- type_id: 0x24b3ee1b
-}
-member {
- id: 0xbc0ffbf4
- name: "ptr2"
- type_id: 0x0483e6f8
- offset: 192
-}
-member {
- id: 0x28142580
- name: "rref1"
- type_id: 0x547353fb
+ id: 0x2a89c81c
+ name: "rref"
+ type_id: 0x6398b08c
offset: 128
}
-member {
- id: 0x6f76291d
- name: "rref2"
- type_id: 0x74435b18
- offset: 320
-}
-member {
- id: 0xa04e65cb
- name: "x"
- type_id: 0xfc0e1dbd
-}
-struct_union {
- id: 0xe507e03d
- kind: STRUCT
- name: "boo"
- definition {
- bytesize: 48
- member_id: 0xfceed921
- member_id: 0x356c9a41
- member_id: 0x28142580
- member_id: 0xbc0ffbf4
- member_id: 0xf58c07c5
- member_id: 0x6f76291d
- }
-}
struct_union {
id: 0xb88f5ef1
kind: STRUCT
name: "foo"
definition {
- bytesize: 8
- member_id: 0xa04e65cb
+ bytesize: 24
+ member_id: 0x46e392d8
+ member_id: 0xc46f84f6
+ member_id: 0x2a89c81c
}
}
function {
- id: 0x29d9a99c
- return_type_id: 0x48b5725f
- parameter_id: 0xe507e03d
+ id: 0xb3a33493
+ return_type_id: 0x6720d32f
+ parameter_id: 0xb88f5ef1
}
elf_symbol {
- id: 0x1f6f1cb8
- name: "_Z4func3boo"
+ id: 0x68629c2b
+ name: "_Z4func3foo"
is_defined: true
symbol_type: FUNCTION
- type_id: 0x29d9a99c
+ type_id: 0xb3a33493
full_name: "func"
}
interface {
id: 0x84ea5130
- symbol_id: 0x1f6f1cb8
+ symbol_id: 0x68629c2b
}
diff --git a/test_cases/info_tests/reference/type.cc b/test_cases/info_tests/reference/type.cc
index 8ea06b2..b45c45c 100644
--- a/test_cases/info_tests/reference/type.cc
+++ b/test_cases/info_tests/reference/type.cc
@@ -1,17 +1,9 @@
struct foo {
- long x;
+ int* ptr;
+ int& lref;
+ int&& rref;
};
-struct boo {
- foo* ptr1;
- foo& lref1;
- foo&& rref1;
-
- char* ptr2;
- char& lref2;
- char&& rref2;
-};
-
-void func(boo a) {
- (void) a;
+int func(foo x) {
+ return *x.ptr + x.lref + x.rref;
}