Summary:
Switch most builds to clang 19. AArch64 release builds were left on clang 17 for now since our build workers have just barely not enough memory to do LTO.
Code changes were needed to address three new enabled warnings:
- VLAs (variable length arrays) are not standard C++, and usage now emits warnings. This warning was disabled.
- Returning references to a variable past mutex release, e.g.
```
const std::string& get_string() {
std::lock_guard lock(mutex_);
return str_;
}
std::string str_ GUARDED_BY(mutex_);
```
is now a warning, and is also unsafe. These instances were replaced with copies.
- The following is now a warning:
```
a->template foo();
```
and was replaced with the equivalent
```
a->template foo<>();
```
Jira: DB-15122
Test Plan: Jenkins
Reviewers: sergei, asrivastava, #db-approvers
Reviewed By: sergei, asrivastava, #db-approvers
Subscribers: yql, svc_phabricator, bkolagani, ybase
Tags: #jenkins-ready
Differential Revision: https://phorge.dev.yugabyte.com/D39053