Skip to content

WIP: Fixes weird bug in reactive transport tags#944

Open
ecoon wants to merge 9 commits into
masterfrom
ecoon/reactive_transport_operator_split_tags
Open

WIP: Fixes weird bug in reactive transport tags#944
ecoon wants to merge 9 commits into
masterfrom
ecoon/reactive_transport_operator_split_tags

Conversation

@ecoon

@ecoon ecoon commented Dec 12, 2025

Copy link
Copy Markdown
Contributor

Also removes some work-arounds in Amanzi PKs.

WIP because this logic likely needs to be mirrored in Matrix reactive transport.

@ecoon ecoon requested a review from lipnikov December 12, 2025 19:01
@ecoon ecoon changed the title Fixes weird bug in reactive transport tags WIP: Fixes weird bug in reactive transport tags Dec 12, 2025
ecoon added 2 commits January 6, 2026 08:19
Also removes some work-arounds in Amanzi PKs.
This logic likely needs to be mirrored in Matrix reactive transport.
@ecoon ecoon force-pushed the ecoon/reactive_transport_operator_split_tags branch from 2b987dd to 0693570 Compare January 6, 2026 15:19
ecoon and others added 5 commits January 6, 2026 08:54
Replace std::make_pair with emplace_back to avoid GCC 10.1+ C++17 parameter
passing ABI compatibility warning. Also uses more efficient direct construction.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
Replace std::make_pair with emplace_back/emplace in 13 locations to avoid
GCC 10.1+ C++17 parameter passing ABI compatibility warnings. This addresses
the same issue previously fixed in SolverNewton across all solver classes,
mesh utilities, evaluators, and test code.

Changes:
- Solvers: SolverNKA, SolverNKA_BT, SolverLS, SolverAA
- Mesh: MeshAudit_decl, MeshLogicalAudit
- Evaluators: EvaluatorAperture, ModelEvaluator
- Tests: mpc_utils, operator_virtual
- ATS submodule: readMesh2D

Direct construction is more efficient and avoids ABI issues.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
Replace std::make_pair with brace initialization in return statements to avoid
GCC 10.1+ C++17 ABI compatibility warnings. This fixes the remaining warnings
that were occurring in function return values.

Changes:
- Evaluators: Porosity_Constant, Porosity_Compressible
- Utils: Brent root finding functions
- Mesh: MeshMaps, MeshFrameworkColumn, KDTree, MeshInternals_impl

Using brace initialization {a, b} instead of std::make_pair(a, b) avoids the
ABI issue and is cleaner C++17 code.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
@jd-moulton

Copy link
Copy Markdown
Member

@ecoon thanks for cleaning up the make_pair warnings.

ecoon and others added 2 commits January 6, 2026 11:09
Add template emplace method to FIFO_Set that uses perfect forwarding to
construct elements in-place. This allows avoiding the C++17 ABI compatibility
warnings when inserting pairs into FIFO_Set containers.

The emplace method constructs the element in-place using the provided
arguments, checks for duplicates, and only adds if the element is unique,
maintaining FIFO_Set semantics.

The existing insert method is retained for backward compatibility.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
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