Skip to content

hUnimpl node is generated in scratch-clang19 branch #406

@zhuanhao-wu

Description

@zhuanhao-wu

TL;DR: in scratch-clang19 branch, the unimpl test fails, and hUnimpl nodes are generated in _hdl.txt for z3test.cpp

The command to produce the _hdl.txt file:
/systemc-clang-build/systemc-clang /systemc-clang/examples/llnl-examples/zfpsynth/zfp3/z3test.cpp -- -x c++ -w -c -DRVD -D__STD_CONSTANT_MACROS -D__STDC_LIMIT_MACROS -I/opt/clang-19.0.0/include -I/opt/clang-19.0.0/lib/clang/19.0.0git/include -I/opt/clang-19.0.0/lib/clang/19/include -I/opt/systemc-2.3.3/include/ -std=c++14 -I/systemc-clang-build/tests/data/llnl-examples/zfpsynth/zfp3

An example. Command above generates the following:

            hVarAssign  NONAME [
              hVarref ui_mc_proc_local_5 NOLIST
              hUnimpl  NONAME NOLIST
            ]

But it should be

            hVarAssign  NONAME [
              hVarref ui_mc_proc_local_5 NOLIST
              hBinop >> [
                hBinop concat [
                  hBinop concat [
                    hVarref hid_mc_proc_local_4 NOLIST
                    hVarref fp_mc_proc_local_3##frac NOLIST
                  ]
                  hLiteral 0 [
                    hTypeinfo  NONAME [
                      hType sc_uint [
                        hLiteral 9 NOLIST
                      ]
                    ]
                  ]
                ]

This occurs at https://github.com/anikau31/systemc-clang/blob/master/examples/llnl-examples/zfpsynth/shared2/zhw_encode.h#L183

There are other instances of hUnimpl nodes, mostly in the context of assignment nodes, but also in function call nodes.

The generated file is attached:
z3test_hdl.clang-19.txt

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions