<table border="1" cellspacing="0" cellpadding="8">
    <tr>
        <th>Issue</th>
        <td>
            <a href=https://github.com/llvm/llvm-project/issues/139286>139286</a>
        </td>
    </tr>

    <tr>
        <th>Summary</th>
        <td>
            Clang-Tidy fails when I include PQXX library
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            clang-tidy
      </td>
    </tr>

    <tr>
      <th>Assignees</th>
      <td>
      </td>
    </tr>

    <tr>
      <th>Reporter</th>
      <td>
          cla-db
      </td>
    </tr>
</table>

<pre>
    My project uses clang-tidy with no issues. Recently I added to PQXX library (https://pqxx.org/libpqxx/) to connect to a Postgres database and since then clang-tidy fails.

I can confirm that simply including the library causes the failure, no matter what the code does with that library (even nothing).

Steps to reproduce:

1. Instal the PQXX library on the system
2. Add `#include <pqxx/pqxx>` to a .cpp file
3. Run `clang-tidy` on that file

Stack trace:

```
0. Program arguments: clang-tidy --extra-arg-before=--driver-mode=g++ /home/claudio/dev/HOS/data_reader/src/process_variables.cpp -- /usr/bin/c++ -I/usr/include/postgresql -I/home/claudio/dev/HOS/data_reader/src -std=c++20 -std=gnu++20 -Wall -Wextra -Wpedantic -Werror -MD -MT CMakeFiles/data_reader.dir/src/process_variables.cpp.o -MF CMakeFiles/data_reader.dir/src/process_variables.cpp.o.d -o CMakeFiles/data_reader.dir/src/process_variables.cpp.o -c /home/claudio/dev/HOS/data_reader/src/process_variables.cpp
1.      <eof> parser at end of file
2.      ASTMatcher: Processing 'altera-id-dependent-backward-branch' against:
        WhileStmt : </usr/include/pqxx/internal/encodings.hxx:219:3, line:220:51>
--- Bound Nodes Begin ---
    backward_branch - { WhileStmt : </usr/include/pqxx/internal/encodings.hxx:219:3, line:220:51> }
 cond_expr - { CXXFoldExpr : </usr/include/pqxx/internal/encodings.hxx:219:10, col:41> }
--- Bound Nodes End ---
Stack dump without symbol names (ensure you have llvm-symbolizer in your PATH or set the environment var `LLVM_SYMBOLIZER_PATH` to point to it):
0  libLLVM.so.18.1 0x00007fe015f623bf llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) + 63
1  libLLVM.so.18.1      0x00007fe015f604f9 llvm::sys::RunSignalHandlers() + 89
2  libLLVM.so.18.1      0x00007fe015f62b00
3  libc.so.6 0x00007fe014c80330
4  clang-tidy           0x00005577373c7d80 clang::tidy::altera::IdDependentBackwardBranchCheck::hasIdDepVar(clang::Expr const*) + 224
5  clang-tidy           0x00005577373c90eb clang::tidy::altera::IdDependentBackwardBranchCheck::check(clang::ast_matchers::MatchFinder::MatchResult const&) + 715
6  clang-tidy           0x00005577379a9f15
7  clang-tidy 0x00005577379dd00c clang::ast_matchers::internal::BoundNodesTreeBuilder::visitMatches(clang::ast_matchers::internal::BoundNodesTreeBuilder::Visitor*) + 156
8  clang-tidy           0x00005577379a965f
9  clang-tidy 0x00005577379d3d91
10 clang-tidy           0x00005577379bb623
11 clang-tidy 0x00005577379dbfa2
12 clang-tidy           0x00005577379af586
13 clang-tidy           0x00005577379ac66f
14 clang-tidy 0x00005577379b2ec1
15 clang-tidy           0x00005577379aca17
16 clang-tidy 0x00005577379ae96b
17 clang-tidy           0x00005577379ac747
18 clang-tidy           0x00005577379ae96b
19 clang-tidy 0x00005577379ac747
20 clang-tidy           0x00005577379d96eb
21 clang-tidy 0x00005577379acb89
22 clang-tidy           0x00005577379ac213
23 clang-tidy           0x000055773797e825 clang::ast_matchers::MatchFinder::matchAST(clang::ASTContext&) + 709
24 libclang-cpp.so.18.1 0x00007fe01f209fbc clang::MultiplexConsumer::HandleTranslationUnit(clang::ASTContext&) + 44
25 libclang-cpp.so.18.1 0x00007fe01d35e3d6 clang::ParseAST(clang::Sema&, bool, bool) + 598
26 libclang-cpp.so.18.1 0x00007fe01f1cd62c clang::FrontendAction::Execute() + 92
27 libclang-cpp.so.18.1 0x00007fe01f14a0b4 clang::CompilerInstance::ExecuteAction(clang::FrontendAction&) + 708
28 libclang-cpp.so.18.1 0x00007fe01f3c16b9 clang::tooling::FrontendActionFactory::runInvocation(std::shared_ptr<clang::CompilerInvocation>, clang::FileManager*, std::shared_ptr<clang::PCHContainerOperations>, clang::DiagnosticConsumer*) + 425
29 clang-tidy 0x0000557737ffdab3
30 libclang-cpp.so.18.1 0x00007fe01f3c1414 clang::tooling::ToolInvocation::runInvocation(char const*, clang::driver::Compilation*, std::shared_ptr<clang::CompilerInvocation>, std::shared_ptr<clang::PCHContainerOperations>) + 292
31 libclang-cpp.so.18.1 0x00007fe01f3c017f clang::tooling::ToolInvocation::run() + 1231
32 libclang-cpp.so.18.1 0x00007fe01f3c31c1 clang::tooling::ClangTool::run(clang::tooling::ToolAction*) + 5041
33 clang-tidy           0x0000557737ff9d9b clang::tidy::runClangTidy(clang::tidy::ClangTidyContext&, clang::tooling::CompilationDatabase const&, llvm::ArrayRef<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>>, llvm::IntrusiveRefCntPtr<llvm::vfs::OverlayFileSystem>, bool, bool, llvm::StringRef) + 1083
34 clang-tidy           0x0000557737379c65 clang::tidy::clangTidyMain(int, char const**) + 10005
35 libc.so.6 0x00007fe014c651ca
36 libc.so.6            0x00007fe014c6528b __libc_start_main + 139
37 clang-tidy           0x0000557737374fe5 _start + 37
Segmentation fault
```
</pre>
<img width="1" height="1" alt="" src="http://email.email.llvm.org/o/eJy8WF1v2zrS_jXMDSGDoj5sXeRCcWo0wMnbvEm27e6NQZEjm1ua9CEpN95fvyAlO3IbNz7owRoGLJOjZ54ZzgdJ5pxcaYBrVNyg4vaKdX5t7DVXLBHNVWPE_vp-j7fW_Bu4x50Dh7liepV4Kfb4u_RrrA2WznXgJvgROGiv9vgOMyFAYG_ww_9__YqVbCyze4zobO391qGsRnSB6GL758vLxNgVogslm_AvjlfhTW60Dlq9wQw_GOdXFhwWzLOGOcBMC-yk5oD9GvSYVsukchNEakTqO8yZDlCttBvs18xjJzdbtcdSc9UJqVfh_SNDzqKRYSjAdBYQnQcbN8x7sPh7QAiz3AjAwoDrvRCRR2bCDjTWxq-lXiFaDWyePGxdMMjC1hrRcQieiFPpBN9p55mK6CdeMzqOub3zsEGkphNcC4FRSRDNejMAo2w-uC_-ZB9QSXrXTfh2i1upAJE6m-DHTodXX_0VBKMK5g9ikSrj37C3bMQxaOy_pCYT_GDNyrINZnbVbUD7sKzjdUgSePGWJcyukgZaYwFlt0kirNyBTTZGhP8rRG8QvcGILtZmA4guuGKdkAbRhYAdoouPn57CM_NsaYEJsIgunOXBUms4OLfcMStZo8BFU5MkgHUuyDVSB8RBR3J3nBjcFkCGyPpT9fN_jQVOnBcoux1UUHIYWOnudegLUwonX6I7cPJlC4JpL3kYstZYnNzf4uT-Gc_v2TdYSAXuVNdEyHesnhic3C9-C2AicGJ-kwL_-9axz4n4QdkcTIuyD3jLrAOLmcegBTbtIWDpIFk_Pd8zz9dgQyw-9LghxxGdMuXBskSKRMAWtADtk4bxb9-ZFUljmeZrRKeYrZjUzvdBj4fPl7VU8OQ3HgdclM3fCqQ-_aT2YDVTiC5AcxMqjJusQ0rWNK1QVmehoiipQ15RSlBWF2nIV1InSYJvTKcF_j8jwOEbWEmNkyQZmBzYLnu2OMFoevO_4IbR9DZw4EaLJbxs7aB6_vXrwijxIYz8vvKUBO3cKJTV-Ujtj275oMXglL5IiW6zjVXYdB67_aYxCmu2ARcLsXadBbw3HV6zHWCldpukF5L_AYulDnMWP9TPH7Gx2EFf30HvpDU61DW8YzaUzD_--Hy_fPrn_c2nP-7-9eFxGV4ZquzWSB07lfSIVn3sEBwqeHhp4swknU1STF4IIWTaAkmLtqRZ00Y-QT6r3d71Dw9Wah9Ne47ll85ehSz7vjTOW2AbRMvgL6mDShzqW5mFpPlZbfyc6iZ5W72l-7HTT3KlmfrItFBgHaKzA_ysCpl2ETxtSGgSWRTmQbIcS-R8RrIsSOR43DFeP71wUUyn2TTjUzEjvVzPMrat-NQndf98J24PiX0zZMpNTJT5Gvi3XmbNXBT7zCyisxFkjGFuQubT-mAxpTkidXERx4pA8_dw5PHxhB1zfrnpC9uwULHMLaQWsdQdBh7Bdcof7CgPdkzTApG6vMCOilVtFJ6eCJ-ICEEIx79kd8z1-C8mb8zdZwtw00l1ZL2TTvq-ZLv3TL4Y9HMANXa0kGlRIlLPLnNAWbSI1NUvHJCJKg2pRi7Aa5qSxrxMz-M1LaNBhF7Cry1mwZg0u0SYl2UwJs3PKm8o8GhMcREeS6dBuDyLx6AqmyAyvQhvmke82SXCB-TqvPIBj16yMqIqIeDR8yvDeNNXvYtWhtM0rDS9ZGWmMKPFr5PopxSP0_XT82mi1E_Pc6M9vJxkPIm081h_I5mwQ3ujD7WUVG1zks73nfJyq-BlbrTrNgftfUd4tkw7xbw0-h86dLt3qeShhtLiXSYiKyAT5ZjJQ9ju_WTwE2zY0PwaY9Trb6-vqGZBYfm-6SkXJT0xfWEDfS1qHgw8dAbgnYdRI6xCstLpBQpyRpp8rGBuNlupwMaznu7PVkcVg9YTY39gNF7haObsfRYZT8umOulNxij5toYF497YoXPZTt_pneFs4BWPNnG_sGYWxHLrLcrmb5p3fCv7EHd1I4ukgnum2Qr6Cj3H78I-zD-GuGJSg_20BRuR3c_Qt5KttHFe8mPovvaAnIa-Rs8Wj7YVrAn5m5GLfJqn-VmfPhujxj54y5l8zcY7jhND-jPy2KfDW5f56-wy_I6nhy1RDP4svcRFJJ22f9VFozRLaRYaU0Yv0ZWlPD2rax7Gg8Kxml8RO2TbMXgKkkcuF5T2tq1EdWYraDvdcwkjpxSOMkeBcSmdn7ftNTxuD3djr_u_-WiTX1vL9o_Qomx-jIPlkr-8pGn_p2FO8qXzNoLPQ4CeBE0YWHrLpHeH6R_CiikVFtTY0Xz_PWFyp73tnNzBI7Rz7R9iFL5O79qhA37agVVsHyrGU3_71SOdlv0x8lMkH4w8BBGZxZzOL9jDTyteFm8vHD8syj2TIXjiqWuOf8jh1_1mAA1qi3MHoLJIOQsS5UjiJ2JHYTpr8HIZJJfOMxu2ClL3qrLQ6bMLdlvZNG-hwD1AfDcLe6UnWIVTbowg3LJO-fFV35W4zkSVVewKrtNpXs7IjJLyan2d52kxy3PgOeENqURDqrKoWoCmaItWVFfymhJakIJUaZkRUk5SMUtpRYsqS9OmzHKUE9gwqSZh-SbGrq7iRfJ1mlV0Vl4p1oBy8Waa0tF1JaWouL2y1_Ek33Qrh3KipPPuFcdLr-A6JlLyfLwSxt_XoPEdPlyZji9Zrzqrrk_vplfSr7tmws0G0UWMsP4nGa7DEV30F9-ILgbKu2v63wAAAP__3psWiQ">