[linux-port] Silence lost const warnings (#1477)

CreateBlobWithEncodingFromPinned is unlike any of the other
CreateBlob* functions in that its pText argument is a non-const
byte pointer. All the others use const void pointer for this
same parameter. Because the parameter is not const, in many cases
const pointers need to have their const qualifier cast off to be
used for this parameter in spite of the fact that the next level
call passes it to a const pointer. This produces a bunch of
warnings in places where its used.

By changing the variable to const void, there is less unnecessary
casting, fewer warnings, no change in behavior, and a clearer
external indication of the way it is used by the function from the
prototype.
This commit is contained in:
Greg Roth 2018-08-02 14:41:37 -06:00 коммит произвёл Ehsan
Родитель b0366437d1
Коммит d82f291490
8 изменённых файлов: 9 добавлений и 9 удалений

Просмотреть файл

@ -125,7 +125,7 @@ IDxcLibrary : public IUnknown {
LPCWSTR pFileName, _In_opt_ UINT32* codePage,
_COM_Outptr_ IDxcBlobEncoding **pBlobEncoding) = 0;
virtual HRESULT STDMETHODCALLTYPE CreateBlobWithEncodingFromPinned(
LPBYTE pText, UINT32 size, UINT32 codePage,
_In_bytecount_(size) LPCVOID pText, UINT32 size, UINT32 codePage,
_COM_Outptr_ IDxcBlobEncoding **pBlobEncoding) = 0;
virtual HRESULT STDMETHODCALLTYPE CreateBlobWithEncodingOnHeapCopy(
_In_bytecount_(size) LPCVOID pText, UINT32 size, UINT32 codePage,

Просмотреть файл

@ -77,7 +77,7 @@ public:
}
HRESULT STDMETHODCALLTYPE CreateBlobWithEncodingFromPinned(
LPBYTE pText, UINT32 size, UINT32 codePage,
_In_bytecount_(size) LPCVOID pText, UINT32 size, UINT32 codePage,
_COM_Outptr_ IDxcBlobEncoding **pBlobEncoding) override {
DxcThreadMalloc TM(m_pMalloc);
return ::hlsl::DxcCreateBlobWithEncodingFromPinned(pText, size, codePage, pBlobEncoding);

Просмотреть файл

@ -985,7 +985,7 @@ public:
UINT32 codePage, _Outptr_ IDxcBlobEncoding **ppBlob) {
CComPtr<IDxcLibrary> library;
IFT(m_dllSupport.CreateInstance(CLSID_DxcLibrary, &library));
IFT(library->CreateBlobWithEncodingFromPinned((LPBYTE)data, size, codePage,
IFT(library->CreateBlobWithEncodingFromPinned(data, size, codePage,
ppBlob));
}

Просмотреть файл

@ -402,7 +402,7 @@ public:
HRESULT resultCode;
VERIFY_SUCCEEDED(m_support.CreateInstance(CLSID_DxcCompiler, &pCompiler));
VERIFY_SUCCEEDED(m_support.CreateInstance(CLSID_DxcLibrary, &pLibrary));
VERIFY_SUCCEEDED(pLibrary->CreateBlobWithEncodingFromPinned((LPBYTE)pText, strlen(pText), CP_UTF8, &pTextBlob));
VERIFY_SUCCEEDED(pLibrary->CreateBlobWithEncodingFromPinned(pText, strlen(pText), CP_UTF8, &pTextBlob));
VERIFY_SUCCEEDED(pCompiler->Compile(pTextBlob, L"hlsl.hlsl", pEntryPoint, pTargetProfile, nullptr, 0, nullptr, 0, nullptr, &pResult));
VERIFY_SUCCEEDED(pResult->GetStatus(&resultCode));
if (FAILED(resultCode)) {

Просмотреть файл

@ -340,7 +340,7 @@ static string trim(string value) {
CComPtr<IDxcAssembler> pAssembler;
IFT(DllSupport->CreateInstance(CLSID_DxcAssembler, &pAssembler));
IFT(pLibrary->CreateBlobWithEncodingFromPinned(
(LPBYTE)Prior->StdOut.c_str(), Prior->StdOut.size(), CP_UTF8,
Prior->StdOut.c_str(), Prior->StdOut.size(), CP_UTF8,
&pSource));
}

Просмотреть файл

@ -109,7 +109,7 @@ public:
UINT32 codePage, _In_ IDxcBlobEncoding **ppBlob) {
CComPtr<IDxcLibrary> library;
IFT(m_dllSupport.CreateInstance(CLSID_DxcLibrary, &library));
IFT(library->CreateBlobWithEncodingFromPinned((LPBYTE)data, size, codePage,
IFT(library->CreateBlobWithEncodingFromPinned(data, size, codePage,
ppBlob));
}
@ -172,7 +172,7 @@ public:
IFT(mapping.MapFile(file));
CComPtr<IDxcLibrary> library;
IFT(support.CreateInstance(CLSID_DxcLibrary, &library));
IFT(library->CreateBlobWithEncodingFromPinned((LPBYTE)mapping.GetData(),
IFT(library->CreateBlobWithEncodingFromPinned(mapping.GetData(),
mapping.GetMappingSize(),
CP_UTF8, &BlobEncoding));
}

Просмотреть файл

@ -696,7 +696,7 @@ void ShaderOpTest::CreateShaders() {
HRESULT resultCode;
CHECK_HR(m_pDxcSupport->CreateInstance(CLSID_DxcLibrary, &pLibrary));
CHECK_HR(pLibrary->CreateBlobWithEncodingFromPinned(
(LPBYTE)pText, (UINT32)strlen(pText), CP_UTF8, &pTextBlob));
pText, (UINT32)strlen(pText), CP_UTF8, &pTextBlob));
CHECK_HR(m_pDxcSupport->CreateInstance(CLSID_DxcCompiler, &pCompiler));
CHECK_HR(pCompiler->Compile(pTextBlob, nameW, entryPointW, targetW,
(LPCWSTR *)argumentsWList.data(), argumentsWList.size(),

Просмотреть файл

@ -279,7 +279,7 @@ public:
CComPtr<IDxcLibrary> pLibrary;
CComPtr<IDxcBlobEncoding> pBlobEncoding; // Encoding doesn't actually matter, it's binary.
VERIFY_SUCCEEDED(m_dllSupport.CreateInstance(CLSID_DxcLibrary, &pLibrary));
VERIFY_SUCCEEDED(pLibrary->CreateBlobWithEncodingFromPinned((LPBYTE)pBlob, blobSize, CP_UTF8, &pBlobEncoding));
VERIFY_SUCCEEDED(pLibrary->CreateBlobWithEncodingFromPinned(pBlob, blobSize, CP_UTF8, &pBlobEncoding));
CheckValidationMsgs(pBlobEncoding, pErrorMsgs, bRegex);
}