<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/60124>60124</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
llvm 15.0.7 breaks API with 15.0.6
</td>
</tr>
<tr>
<th>Labels</th>
<td>
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
tcanabrava
</td>
</tr>
</table>
<pre>
This is not API compatible.
HeaderCallbacks::InclusionDirective(clang::SourceLocation, cons
t clang::Token&, llvm::StringRef, bool, clang::CharSourceRange, const clang::FileEntry*,
llvm::StringRef, llvm::StringRef, const clang::Module*, clang::SrcMgr::CharacteristicKind
)’ marked ‘override’, but does not override
The class is defined as:
class HeaderCallbacks : public clang::PPCallbacks
PPCallbacks changed File* to Optional<File> on the method InclusionDirective, this breaks the API promise.
➜ diagram-server clang --version
clang version 15.0.7
Target: x86_64-pc-linux-gnu
Thread model: posix
InstalledDir: /usr/bin
Used to work on llvm 15.0.6
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJx0VNFuqzgQ_RrzYhGBIRAeeMgmQVvtVlu13efVYE_AG2NHtknbv78yJA299_bFkcbHZ86cMwGck51GrMn6D7LeRzD63tjac9DQWrhA1BrxUb_20lHpqDaebp8eKDfDGbxsFa5IsifJdj7_RBBod6BUC_zkSLYl2fZBczU6afReWuReXpCwDVegu_n-xYyW49-Gg5dGE7aj3Gg3E3q6AL6aE2rCigBR6jJcn3srdfeMx1BujVETw_3Vrgc7t3gG3eGN_wtzIxUetLcfhG0J2829v2nxTfkXzkcjRoUz4bL-YvljZ-_agHu00nnJ_5JaXN1kFTkwsklIVdEB7AkFvRU25oLWSoGfiGnw0VNhcE7oE7GI5rXHoMJNMQo8So2CwhTRAjUjfoqRkmxLz2OrJF8O8vR0D3pBMZ-LS8r7YLygwWXCttQb-s85ZA2KZLupmh2o0dT3SAf0vRH0d0uzoz6sYWsRTm4Ch1U8WzNI93UPgzXVgVQ7KiR0FobYob2gneXTOL6gDeSfQ-uOXks0Xa-SVXk1DWyHPoz_vin-K_L4zGMl9fged3q8-WoRBB2MQDX5ZJx8n68etPOgFIq9DHlTwprRWcKaVuql2n8dimDKm7GnYEPYsFlGEYk6E1VWQYR1WpR5kudlXkZ9XWywTErIEsyxSnlblXkmWIGsLBDSDCNZs4RlSZpuUsbWebkCPCLmAtojz1maFCRPcACpVqHdytguks6NWBdJyvJIQYvK3b4Ktg6guB07R_JESefd_ZmXXmF9F13eEgrpvEnf32YZrap778_T0rGGsKaTvh_bFTcDYc30x5p_4rM1_yP3hDWTKEdYM-n6EQAA___7Onao">