Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Sequence diagram improvements #267

Merged
merged 11 commits into from
May 1, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
7 changes: 7 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,12 @@
# CHANGELOG

* Added support for CUDA calls in sequence diagrams (#263)
* Improved handling of message call comments (#264)
* Fixed handling of nested lambda expressions in sequence diagrams
* Fixed type aliases handling in sequence diagram message names (#260)
* Added support for call expressions tracking through lambdas in function
arguments (#168)
* Added Nix build files (Thanks @hatch01, @uku3lig, @thomaslepoix)
* Fixed building with LLVM 18 (#251)

### 0.5.1
Expand Down
14 changes: 12 additions & 2 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -154,7 +154,17 @@ add_subdirectory(src)
#
option(BUILD_TESTS "" ON)
option(ENABLE_CXX_MODULES_TEST_CASES "" OFF)
option(ENABLE_CUDA_TEST_CASES "" OFF)

#
# Setup CUDA if available
#
if(ENABLE_CUDA_TEST_CASES)
include(CheckLanguage)
check_language(CUDA)
endif(ENABLE_CUDA_TEST_CASES)

if(BUILD_TESTS)
enable_testing()
add_subdirectory(tests)
enable_testing()
add_subdirectory(tests)
endif(BUILD_TESTS)
4 changes: 4 additions & 0 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,7 @@ CMAKE_EXE_LINKER_FLAGS ?=
CMAKE_GENERATOR ?= Unix Makefiles

ENABLE_CXX_MODULES_TEST_CASES ?= OFF
ENABLE_CUDA_TEST_CASES ?= OFF

GIT_VERSION ?= $(shell git describe --tags --always --abbrev=7)
PKG_VERSION ?= $(shell git describe --tags --always --abbrev=7 | tr - .)
Expand All @@ -63,6 +64,7 @@ debug/CMakeLists.txt:
-DLLVM_CONFIG_PATH=${LLVM_CONFIG_PATH} \
-DLINK_LLVM_SHARED=${LLVM_SHARED} \
-DCMAKE_PREFIX=${CMAKE_PREFIX} \
-DENABLE_CUDA_TEST_CASES=$(ENABLE_CUDA_TEST_CASES) \
-DENABLE_CXX_MODULES_TEST_CASES=$(ENABLE_CXX_MODULES_TEST_CASES)

release/CMakeLists.txt:
Expand All @@ -77,6 +79,7 @@ release/CMakeLists.txt:
-DLLVM_CONFIG_PATH=${LLVM_CONFIG_PATH} \
-DLINK_LLVM_SHARED=${LLVM_SHARED} \
-DCMAKE_PREFIX=${CMAKE_PREFIX} \
-DENABLE_CUDA_TEST_CASES=$(ENABLE_CUDA_TEST_CASES) \
-DENABLE_CXX_MODULES_TEST_CASES=$(ENABLE_CXX_MODULES_TEST_CASES)

debug_tidy/CMakeLists.txt:
Expand All @@ -92,6 +95,7 @@ debug_tidy/CMakeLists.txt:
-DLLVM_CONFIG_PATH=${LLVM_CONFIG_PATH} \
-DLINK_LLVM_SHARED=${LLVM_SHARED} \
-DCMAKE_PREFIX=${CMAKE_PREFIX} \
-DENABLE_CUDA_TEST_CASES=$(ENABLE_CUDA_TEST_CASES) \
-DENABLE_CXX_MODULES_TEST_CASES=$(ENABLE_CXX_MODULES_TEST_CASES)

debug: debug/CMakeLists.txt
Expand Down
1 change: 1 addition & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,7 @@ Main features supported so far include:
* Handling of template code including constexpr conditionals - [_example_](docs/test_cases/t20018.md)
* Handling of lambda expressions - [_example_](docs/test_cases/t20012.md)
* Interactive links to online code to classes and call expressions - [_example_](https://raw.githubusercontent.com/bkryza/clang-uml/master/docs/test_cases/t20021_sequence.svg)
* Support for CUDA Kernel and CUDA Device function calls - [_example_](docs/test_cases/t20050.md)
* **Package diagram generation**
* Generation of package diagram based on C++ namespaces - [_example_](docs/test_cases/t30001.md)
* Generation of package diagram based on subdirectories - [_example_](docs/test_cases/t30010.md)
Expand Down
2 changes: 2 additions & 0 deletions docs/diagram_filters.md
Original file line number Diff line number Diff line change
Expand Up @@ -258,6 +258,8 @@ The following callee types are supported:
* `function`
* `function_template`
* `lambda`
* `cuda_kernel`
* `cuda_device`

## dependants and dependencies

Expand Down
8 changes: 8 additions & 0 deletions docs/test_cases.md
Original file line number Diff line number Diff line change
Expand Up @@ -124,6 +124,14 @@
* [t20041](./test_cases/t20041.md) - Test case for recursive variadic template class call
* [t20042](./test_cases/t20042.md) - Test case for template overload pattern
* [t20043](./test_cases/t20043.md) - Test case for elements diagram filter in sequence diagrams
* [t20044](./test_cases/t20044.md) - Test case for template method call expressions with callables
* [t20045](./test_cases/t20045.md) - Test case for template function call expressions with callables
* [t20046](./test_cases/t20046.md) - Test case for call expressions in nested lambdas
* [t20047](./test_cases/t20047.md) - Test case for 'call' comment directive
* [t20048](./test_cases/t20048.md) - Test case for message comments
* [t20049](./test_cases/t20049.md) - Test case for CUDA kernel calls
* [t20050](./test_cases/t20050.md) - Test case for CUDA kernel calls with participants combined to file
* [t20051](./test_cases/t20051.md) - Test case for CUDA calls callee_type filter
## Package diagrams
* [t30001](./test_cases/t30001.md) - Basic package diagram test case
* [t30002](./test_cases/t30002.md) - Package dependency test case
Expand Down
68 changes: 34 additions & 34 deletions docs/test_cases/t00002_class.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
10 changes: 5 additions & 5 deletions docs/test_cases/t00002_class_mermaid.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Loading