Skip to content

HLSL preprocessor cannot handle comments on the same line as a preprocessor directive #794

Open
@Fletterio

Description

@Fletterio

Describe the bug

If you try to put a comment on the same line as a preprocessor directive, preprocessing will fail

Steps to Reproduce

In my case I hit this when trying to write a file that can be #included from both host code and device code. For example, code like the following:

#ifndef __HLSL_VERSION // CPP
// Host code...
#else // HLSL
// Device code...
#endif // End device code

will fail to preprocess because of the comments on the same line as the directives. Remove those comments, and it preprocesses fine

Also, I'm hitting this catch(...):

Meaning that Wave can't even provide a reason for why it's failing to preprocess.

I would guess that currently when it encounters a preprocess directive it does not know to recognize // as the start of a comment, which makes it try to parse the whole line as a directive and fails to do so.

Environment

  • OS: Windows 11
  • CPU: Ryzen 5 5700
  • Compiler: MSVC
  • branch: main
  • commit hash: e8f4dca

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions