Skip to content

Conversation

@ouankou
Copy link
Owner

@ouankou ouankou commented Dec 26, 2025

Summary

  • align OpenACC 3.4 directive parsing (data device_type, wait argument, routine gang(dim:...), bind string literals)
  • keep AST operations enum-driven while modernizing clause storage and C++17 settings
  • refresh built-in coverage tests for updated grammar/unparse behavior

Testing

  • cmake -S . -B build -DCMAKE_BUILD_TYPE=Debug
  • cmake --build build
  • ctest --output-on-failure

@ouankou
Copy link
Owner Author

ouankou commented Dec 26, 2025

/gemini review

@ouankou
Copy link
Owner Author

ouankou commented Dec 26, 2025

@codex review

@chatgpt-codex-connector
Copy link

You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.
To continue using code reviews, add credits to your account and enable them for code reviews in your settings.

Copy link

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request primarily focuses on modernizing the C++ codebase to C++11 standards, improving memory management, and enhancing the parsing and representation of OpenACC clauses. Key changes include updating CMakeLists.txt to strictly enforce C++17, replacing NULL with nullptr across the codebase, and introducing a stripStringLiteral helper function to correctly handle quoted string literals in clauses like bind and indirect. A significant refactoring was performed in OpenACCIR.cpp and OpenACCIR.h to improve clause management within directives: OpenACCDirective now directly owns std::vector<OpenACCClause *> objects instead of pointers to them, simplifying memory handling and preventing leaks by adding a proper destructor. Additionally, the grammar was updated to support gang(dim:int_expr) and wait(devnum:int_expr:queues:int_expr_list) clauses, and device_type clauses were added to data directives, along with corresponding updates to parsing logic and test cases.

@ouankou ouankou merged commit 5e841cd into main Dec 26, 2025
11 checks passed
@ouankou ouankou deleted the acc-3.4-enum-ast branch December 26, 2025 00:41
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