microsoft / microsoft/DirectXShaderCompiler

Better demangling for improved error messages

Open
#3,439 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement tech-debt
Dominant language
C++
Stars
3.7k
Forks
900
Avg merge
2d 11h
Merged PRs (30d)
44

Description

Certain error messages have less helpful mangled function names in their output.

For example this code:

int CallMeMaybe(float, bool);

float4 main(float f : A) : SV_Target {
   return CallMeMaybe(f, false);
}

int CallMeMaybe(float f) {
    return 3;
}

produces this error:

error: External function used in non-library profile:  \01?CallMeMaybe@@YAHM_N@Z

Which is easy to gloss over and inconsistent with error messages produced elsewhere with clearer replications of the function and parameters. Either demangling this and other errors better than is currently available or getting the information from eslewhere would make them more useful.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reproducing the HLSL example in the issue and tracing the diagnostic that reports the mangled external function name. Investigate the existing compiler error paths that already print clearer function signatures; done means the affected diagnostic consistently reports a readable function name and parameters, with coverage for the example and related errors.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
compilers
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.