<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/67729>67729</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
[clang-format] Regressions with clang-format version 18?
</td>
</tr>
<tr>
<th>Labels</th>
<td>
clang-format
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
prj-
</td>
</tr>
</table>
<pre>
```
$ cat src.cxx
namespace sycl
{
// internal "impls" class for SyclDevice. Each instance represents a single sycl device
class PETSC_NODISCARD Device::DeviceInternal {
const int id_; // -1 for the host device; 0 and up for gpu devices
bool devInitialized_;
const ::sycl::device syclDevice_;
public:
// default constructor
DeviceInternal(int id) noexcept : id_(id), devInitialized_(false), syclDevice_(chooseSYCLDevice_(id)) { }
int id() const { return id_; }
bool initialized() const { return devInitialized_; }
}
}
struct MatProductData_SeqAIJKokkos {
KernelHandle kh;
PetscBool reusesym;
MatProductData_SeqAIJKokkos() : reusesym(PETSC_FALSE) { }
};
class PetscMatrixSampler : public HMatrixSampler {
public:
PetscMatrixSampler();
PetscMatrixSampler(Mat);
~PetscMatrixSampler();
void SetSamplingMat(Mat);
void SetIndexMap(int, int *);
void SetGPUSampling(bool);
void SetStream(h2opusComputeStream_t);
virtual void sample(H2Opus_Real *, H2Opus_Real *, int);
Mat GetSamplingMat() { return A; }
};
struct Shift {
int _shift;
Shift(int shift) : _shift(shift) { }
__host__ __device__ inline int operator()(const int &c) { return c + _shift; }
};
$ clang-format -version
clang-format version 17.0.1
$ clang-format --style=file:clang-format.txt src.cxx > 17.cxx
$ clang-format-18 -version
Debian clang-format version 18.0.0 (++20230927111316+98e016d99732-1~exp1~20230927111428.1598)
$ clang-format-18 --style=file:clang-format.txt src.cxx > 18.cxx
```
```diff
$ diff -pauN 17.cxx 18.cxx
--- 17.cxx 2023-09-28 19:09:20
+++ 18.cxx 2023-09-28 19:09:08
@@ -9,7 +9,7 @@ class PETSC_NODISCARD Device::DeviceInternal { (public
public:
// default constructor
- DeviceInternal(int id) noexcept : id_(id), devInitialized_(false), syclDevice_(chooseSYCLDevice_(id)) { }
+ DeviceInternal(int id) noexcept : id_(id), devInitialized_(false), syclDevice_(chooseSYCLDevice_(id)) { }
int id() const { return id_; }
bool initialized() const { return devInitialized_; }
}
@@ -18,14 +18,14 @@ struct MatProductData_SeqAIJKokkos {
struct MatProductData_SeqAIJKokkos {
KernelHandle kh;
PetscBool reusesym;
- MatProductData_SeqAIJKokkos() : reusesym(PETSC_FALSE) { }
+ MatProductData_SeqAIJKokkos() : reusesym(PETSC_FALSE) { }
};
class PetscMatrixSampler : public HMatrixSampler {
public:
- PetscMatrixSampler();
- PetscMatrixSampler(Mat);
- ~PetscMatrixSampler();
+ PetscMatrixSampler();
+ PetscMatrixSampler(Mat);
+ ~ PetscMatrixSampler();
void SetSamplingMat(Mat);
void SetIndexMap(int, int *);
void SetGPUSampling(bool);
@@ -37,6 +37,6 @@ struct Shift {
struct Shift {
int _shift;
- Shift(int shift) : _shift(shift) { }
+ Shift(int shift) : _shift(shift) { }
__host__ __device__ inline int operator()(const int &c) { return c + _shift; }
};
```
I'm not sure if those are regressions, or just funny-looking (but correct). One way to revert to the previous formatting is to add extra line breaks, but I'm not sure whether that is intended or not. [clang-format.txt](https://github.com/llvm/llvm-project/files/12753413/clang-format.txt)
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJzMWN9z2roS_mvEy44ZWwZsP_AAIbS5bdpMuffhPjHCXkCNkXwlOSX3IX_7GUk2v2mTnM6ZejKgSLufvl2tpM8wrflKIA5Jf0z6kw6rzVqqYaW-B52FLJ6HZBA2f-GEhCNCe5AzA1rl3Xy79Z2CbVBXLEfQz3nZGCbjptH4TQmdAhcGlWAlEEr5pio1oRTykmkNS6lg9pyXE3ziOXbhluVr4EIbJnIEhZVCjcJoYKC5WJV-MiicuZ_EAz3c_nt2M__ydXI3uxl9m4AHJPGIxCPfvtuxaEkC5FJoY_nBwcOLOYnH0JAPIkfSrBHWUpt26ngMITBRQF258VVVN0O6BV9I6ZjeCW44K_n_0QEfz-0Zugy6lsdwUXraexf_WdWLkufW2OM0NAtcsro0HlXVuZGqneg4fEJTGy8vCM1ASNzmWDkaLm6augFCb86Y03TJSo3N6CFBmuZrKTXO_nvzed_XAGU230CSSUvHZdsOpnawyUIyBoWmVmKX_b2DyyPfU7nmeZ7qPcqFhvv0uYJ7Zh6ULOrcTJhh8xn-b3T3r0_y8VHqw3L5hEpg-ZGJokR4XB8s5gManY8tUQBQWGvUz5uD8Z9M0IRjV2DnSFNfz9PR59ntWQ5t47gomj1gSdwzo_h2xjZVicqh-oqBjycjbVinBXUBxlPch3PR4p6ZIyN4-TUQPElewAyNG-di5UDOoZxZ-8zQ3IkCt_es8sVs69FWFaGjy-gfHv7TTkBoauvpCgujkNnsr6msan0jN1Vt0PfOTylxZWpWel_twiM0_Ui_VrWef0N32o0sswtdjnN2XB778-fDaTraAmjqfHRW2cfF0NT0bM2X5rB6bYrm2vaeOIC3bU4Gb9FUZGNP033v8W6ez-2pOJ_DfO6PrvkcuCi5QDefrFAxexb5hafp_sQldJCfRJYDoeM9xytB2suoZGIVLKXaMAPBEyrNpdhthf1QMwJR0g270TX_QJvnEkk8WXL7dQTRNdvdvQckvrVQrnkRK4jSEzoTXHAm4DKrtBt2Q3C5GRM6piGNw4wmURTF0YDQcZZiGA2KLEtiGkQvuK2ilwOjHk27UT9zmb1O523RpYfRnaiA9t-CL5f7Ce1_EFSs_tLmxoN4iyAImm4SZpZ7EGYBTSHKSDwK7QfdiYyx_9v5X7YP08a-F5JeCIG9jhJbOE3Dd79HFdiVaE7D5m71X2cn5C8v3eAPu3VtVv8oQvAOHfBbhMBBTpr6iVJCb6KeraBd0w-9SRy8TUn8REocaIkzIRH8biVBx3D8_FZ4ODy32930d7TK6VYMXqFWrtmciIzgFXrlPF2vcnnN9A765U3QZ6roFyLqvSrqzO_ncqrdV3FC6M3Abqu2dbSrTuXJNdVySbbAbmXfK1zOV_L8eb8o-odU0dH2Orms7whNNiCkAV0rBL4Es5YagSn7Wr1SqK0E0XbRpYLvtTawrIV4DkopH7lY2btwUdurTSnMbZBd-CoQfrBnMBIUPqEytmVfjCuFT1zW7nV-w4yx_lzbUVYUgFujGLjgFwrZo5vUYp9w_LFGs0b7qs2MdefCoCiwsASFNF0g_fGpeCH9iZXrxlTaHgruWl5xs64X3VxuCJ2W5VP7FVRKfnexTK0U0oROI5r0414UEzo9Q6ZZpxjGRRZnrIPDaJD1szgchFlnPYyK3iCkST8vknSZZb1FilkyGGRhvuxnWbzs8GEj09Io64dh1k0XecGy3jLt94oIB33SC3HDeNm1xLpSrTpc6xqHgyShWadkCyy1-3WG0kNihFLSn3TU0MWzqFea9MKSa6P3QIab0v2yc-TYn8C3_bLDD27W10QpiaedWpXDN2fVhWDT6qL4KwAA___omXXo">