Skip to content

Reorganize repository, add CI and presets, fix Type assignment use-after-free - #1

Merged
JiTianYu391 merged 1 commit into
mainfrom
claude/fervent-darwin-wimez2
Oct 20, 2026
Merged

JiTianYu391 merged 1 commit into
mainfrom
claude/fervent-darwin-wimez2

Conversation

@JiTianYu391

Copy link
Copy Markdown
Contributor

Summary

Repository hygiene to match mainstream C++/CMake project conventions, plus one real compiler bug found along the way.

  • Removed: stale MANIFEST.sha256 (35 of 159 entries no longer matched) and the checked-in verification/ transcripts, which contradicted their own README.
  • Moved: ARCHITECTURE.md, BUILD.md to docs/; README doc table updated.
  • Added: CMakePresets.json (debug/release/ci/asan/fuzz), GitHub Actions CI (GCC, Clang, ASan+UBSan, clang-format), issue/PR templates, CONTRIBUTING.md, .editorconfig, .gitattributes, fuller .gitignore.
  • CMake: test registration moved to tests/CMakeLists.txt; new UINX_WARNINGS_AS_ERRORS and UINX_ENABLE_SANITIZERS options (sanitizers apply to C++ only, so the C runtime linked into uinxc output stays unsanitized).
  • Fixes: heap-use-after-free in uinx::Type::operator= when assigning from an owned pointee (t = *t.pointee, 12 call sites), found by ASan; a -Wconversion warning in codegen.cpp that broke -Werror.
  • Formatting: clang-format applied to 3 drifted files.

Checklist

  • cmake --preset ci && cmake --build --preset ci && ctest --preset ci passes locally (GCC 13, 20/20)
  • asan preset passes locally (20/20; failed before the Type fix)
  • clang-format is clean (format-check)
  • The new GitHub Actions workflow has not run yet; this PR is its first run
  • User-visible changes recorded in CHANGELOG.md

Generated by Claude Code

…ter-free

- Add CMakePresets.json, GitHub Actions CI, issue/PR templates, CONTRIBUTING,
  .editorconfig and .gitattributes
- Move ARCHITECTURE.md and BUILD.md to docs/; move test registration into
  tests/CMakeLists.txt
- Add UINX_WARNINGS_AS_ERRORS and UINX_ENABLE_SANITIZERS options
- Remove stale MANIFEST.sha256 (35 of 159 entries no longer matched) and the
  checked-in verification transcripts that contradicted their own README
- Fix heap-use-after-free in Type::operator= when assigning from an owned
  pointee (found by ASan), and a -Wconversion warning in codegen
- Apply clang-format to files that had drifted

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_018uUuRXQcBduAQvVUcJYkWz
@JiTianYu391
JiTianYu391 merged commit 0055b31 into main Oct 20, 2026
4 checks passed
JiTianYu391 pushed a commit that referenced this pull request Oct 20, 2026
# Conflicts:
#	CHANGELOG.md
#	src/codegen.cpp
#	src/mir.cpp
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants