Skip to content

Commit 8eafd4e

Browse files
authored
[SYCL][Doc] Improve ABI Policy Guide (#1902)
* [SYCL][Doc] Improve ABI Policy Guide Address developers feedback on ABI Policy Guide by making instructions on changing ABI more specific. Signed-off-by: Alexander Batashev <[email protected]>
1 parent fbea193 commit 8eafd4e

File tree

1 file changed

+11
-6
lines changed

1 file changed

+11
-6
lines changed

sycl/doc/ABIPolicyGuide.md

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -39,8 +39,9 @@ version `X-1`. `MINOR` indicates a non-breaking change. The development version
3939
of the library has a postfix `-V` that indicates breaking changes between
4040
releases. Every time a pull request introduces a breaking change, it must also
4141
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.
4445

4546
## `__SYCL_EXPORT` Macro
4647

@@ -83,10 +84,13 @@ There is a set of tests to help identifying ABI changes:
8384
```shell
8485
python3 sycl/tools/abi_check.py --mode dump_symbols --output path/to/output.dump path/to/sycl.so(.dll)
8586
```
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.
8690
* `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.
9094

9195
## Breaking ABI
9296

@@ -96,4 +100,5 @@ Whenever you need to change the existing ABI, please, follow these steps:
96100
it is clear, why breaking ABI is necessary.
97101
2. Fix failing ABI tests in your Pull Request. Use aforementioned techniques to
98102
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

Comments
 (0)