Skip to content

Bug: CppWinRT with ASAN failed with warning C4702: unreachable code #1532

@PhoebeHui

Description

@PhoebeHui

Version

ebace4a

Summary

CppWinRT with ASAN build failed with warning C4702: : <func:#88359 "??$create_and_initialize@UInitialize@?A0x376a93f9@@AEA_N@impl@winrt@@YAPEAUInitialize@?A0x376a93f9@@AEA_N@Z"> unreachable code, we found this issue when update it to recently versiob ebace4a, could you please take a look?

Reproducible example

Repro steps:
1. Open VS2022 x64 CMD.
2. git clone https://github.com/microsoft/cppwinrt C:\gitP\microsoft\cppwinrt
3. set _CL_=/fsanitize=address /GS- /wd5072 & set _LINK_=/InferASanLibs /incremental:no /debug
4. cd /d C:\gitP\microsoft\cppwinrt
5. build_test_all.cmd x64 Release

Expected behavior

It builds successfully.

Actual behavior

Generating code
Incremental LTCG not compatible with Address Sanitizer, build without incremental LTCG.
BottomUpSummarizerPass MT on 6224
BottomUpSummarizerPass MT finished
WPA prepass finished
C:\gitP\microsoft\cppwinrt_build\x64\Release\winrt\base.h(2620) : error C2220: <func:#88363 "??$create_and_initialize@UThrowingDerived@?A0x376a93f9@@AEA_N@impl@winrt@@YAPEAUThrowingDerived@?A0x376a93f9@@AEA_N@Z"> the following warning is treated as an error
C:\gitP\microsoft\cppwinrt_build\x64\Release\winrt\base.h(2620) : error C2220: <func:#88359 "??$create_and_initialize@UInitialize@?A0x376a93f9@@AEA_N@impl@winrt@@YAPEAUInitialize@?A0x376a93f9@@AEA_N@Z"> the following warning is treated as an error
C:\gitP\microsoft\cppwinrt_build\x64\Release\winrt\base.h(2620) : warning C4702: <func:#88363 "??$create_and_initialize@UThrowingDerived@?A0x376a93f9@@AEA_N@impl@winrt@@YAPEAUThrowingDerived@?A0x376a93f9@@AEA_N@Z"> unreachable code
C:\gitP\microsoft\cppwinrt_build\x64\Release\winrt\base.h(2620) : warning C4702: <func:#88359 "??$create_and_initialize@UInitialize@?A0x376a93f9@@AEA_N@impl@winrt@@YAPEAUInitialize@?A0x376a93f9@@AEA_N@Z"> unreachable code
LINK : fatal error LNK1257: code generation failed

Additional comments

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions