@@ -39,8 +39,9 @@ version `X-1`. `MINOR` indicates a non-breaking change. The development version
39
39
of the library has a postfix ` -V ` that indicates breaking changes between
40
40
releases. Every time a pull request introduces a breaking change, it must also
41
41
uplift ` V ` . It is pull request author responsibility to accordingly update
42
- this version. If ` V > 0 ` on release date, then ` MAJOR_VERSION ` is uplifted and
43
- ` V ` is set to zero.
42
+ ` V ` part of library version. If ` V > 0 ` on release date, then ` MAJOR_VERSION `
43
+ is uplifted and ` V ` is set to zero. ` MAJOR ` , ` MINOR ` , and ` PATCH ` versions are
44
+ not updated between releases.
44
45
45
46
## ` __SYCL_EXPORT ` Macro
46
47
@@ -83,10 +84,13 @@ There is a set of tests to help identifying ABI changes:
83
84
``` shell
84
85
python3 sycl/tools/abi_check.py --mode dump_symbols --output path/to/output.dump path/to/sycl.so(.dll)
85
86
```
87
+ Please, prefer updating the test files with the above command. The checker
88
+ script automatically sorts symbols. This would allow developers to avoid
89
+ large diffs and help maintainers identify the nature of ABI changes.
86
90
* ` test/abi/layout* ` and ` test/abi/symbol_size* ` are a group of tests to check
87
- the internal layout of some classes. The layout tests check Clang AST for
88
- changes, while symbol_size check ` sizeof ` for objects. Changing the class
89
- layout is a breaking change.
91
+ the internal layout of some classes. The ` layout* ` tests check some of API
92
+ classes for layout changes, while ` symbol_size ` only checks ` sizeof ` for API
93
+ classes. Changing the class layout is a breaking change.
90
94
91
95
## Breaking ABI
92
96
@@ -96,4 +100,5 @@ Whenever you need to change the existing ABI, please, follow these steps:
96
100
it is clear, why breaking ABI is necessary.
97
101
2 . Fix failing ABI tests in your Pull Request. Use aforementioned techniques to
98
102
update test files.
99
- 3 . Update the library version according to the policies.
103
+ 3 . If Pull Request introduces a breaking change, update the library version
104
+ according to the policies.
0 commit comments