Skip to content

RISC-V vector instructions pulled in through LLVM cause build failures #692

@chrysn

Description

@chrysn

Minimal example:

$ mkdir /tmp/test
$ cd /tmp/test
$ touch empty.h
$ cat > compile_commands <<EOF
[
  {
    "arguments": [
      "any-cc",
      "-target",
      "riscv32",
      "empty.h"
    ],
    "directory": "/tmp/test",
    "file": "empty.h"
  }
]
EOF
$ c2rust transpile compile_commands.json
warning: c2rust: Encountered unsupported BuiltinType kind 99 for type __rvv_int8mf8_t
warning: c2rust: Encountered unsupported BuiltinType kind 100 for type __rvv_int8mf4_t
warning: c2rust: Encountered unsupported BuiltinType kind 101 for type __rvv_int8mf2_t
warning: c2rust: Encountered unsupported BuiltinType kind 102 for type __rvv_int8m1_t
warning: c2rust: Encountered unsupported BuiltinType kind 103 for type __rvv_int8m2_t
warning: c2rust: Encountered unsupported BuiltinType kind 104 for type __rvv_int8m4_t
warning: c2rust: Encountered unsupported BuiltinType kind 105 for type __rvv_int8m8_t
warning: c2rust: Encountered unsupported BuiltinType kind 106 for type __rvv_uint8mf8_t
warning: c2rust: Encountered unsupported BuiltinType kind 107 for type __rvv_uint8mf4_t
warning: c2rust: Encountered unsupported BuiltinType kind 108 for type __rvv_uint8mf2_t
warning: c2rust: Encountered unsupported BuiltinType kind 109 for type __rvv_uint8m1_t
warning: c2rust: Encountered unsupported BuiltinType kind 110 for type __rvv_uint8m2_t
warning: c2rust: Encountered unsupported BuiltinType kind 111 for type __rvv_uint8m4_t
warning: c2rust: Encountered unsupported BuiltinType kind 112 for type __rvv_uint8m8_t
warning: c2rust: Encountered unsupported BuiltinType kind 113 for type __rvv_int16mf4_t
warning: c2rust: Encountered unsupported BuiltinType kind 114 for type __rvv_int16mf2_t
warning: c2rust: Encountered unsupported BuiltinType kind 115 for type __rvv_int16m1_t
warning: c2rust: Encountered unsupported BuiltinType kind 116 for type __rvv_int16m2_t
warning: c2rust: Encountered unsupported BuiltinType kind 117 for type __rvv_int16m4_t
warning: c2rust: Encountered unsupported BuiltinType kind 118 for type __rvv_int16m8_t
warning: c2rust: Encountered unsupported BuiltinType kind 119 for type __rvv_uint16mf4_t
warning: c2rust: Encountered unsupported BuiltinType kind 120 for type __rvv_uint16mf2_t
warning: c2rust: Encountered unsupported BuiltinType kind 121 for type __rvv_uint16m1_t
warning: c2rust: Encountered unsupported BuiltinType kind 122 for type __rvv_uint16m2_t
warning: c2rust: Encountered unsupported BuiltinType kind 123 for type __rvv_uint16m4_t
warning: c2rust: Encountered unsupported BuiltinType kind 124 for type __rvv_uint16m8_t
warning: c2rust: Encountered unsupported BuiltinType kind 125 for type __rvv_int32mf2_t
warning: c2rust: Encountered unsupported BuiltinType kind 126 for type __rvv_int32m1_t
warning: c2rust: Encountered unsupported BuiltinType kind 127 for type __rvv_int32m2_t
warning: c2rust: Encountered unsupported BuiltinType kind 128 for type __rvv_int32m4_t
warning: c2rust: Encountered unsupported BuiltinType kind 129 for type __rvv_int32m8_t
warning: c2rust: Encountered unsupported BuiltinType kind 130 for type __rvv_uint32mf2_t
warning: c2rust: Encountered unsupported BuiltinType kind 131 for type __rvv_uint32m1_t
warning: c2rust: Encountered unsupported BuiltinType kind 132 for type __rvv_uint32m2_t
warning: c2rust: Encountered unsupported BuiltinType kind 133 for type __rvv_uint32m4_t
warning: c2rust: Encountered unsupported BuiltinType kind 134 for type __rvv_uint32m8_t
warning: c2rust: Encountered unsupported BuiltinType kind 135 for type __rvv_int64m1_t
warning: c2rust: Encountered unsupported BuiltinType kind 136 for type __rvv_int64m2_t
warning: c2rust: Encountered unsupported BuiltinType kind 137 for type __rvv_int64m4_t
warning: c2rust: Encountered unsupported BuiltinType kind 138 for type __rvv_int64m8_t
warning: c2rust: Encountered unsupported BuiltinType kind 139 for type __rvv_uint64m1_t
warning: c2rust: Encountered unsupported BuiltinType kind 140 for type __rvv_uint64m2_t
warning: c2rust: Encountered unsupported BuiltinType kind 141 for type __rvv_uint64m4_t
warning: c2rust: Encountered unsupported BuiltinType kind 142 for type __rvv_uint64m8_t
warning: c2rust: Encountered unsupported BuiltinType kind 143 for type __rvv_float16mf4_t
warning: c2rust: Encountered unsupported BuiltinType kind 144 for type __rvv_float16mf2_t
warning: c2rust: Encountered unsupported BuiltinType kind 145 for type __rvv_float16m1_t
warning: c2rust: Encountered unsupported BuiltinType kind 146 for type __rvv_float16m2_t
warning: c2rust: Encountered unsupported BuiltinType kind 147 for type __rvv_float16m4_t
warning: c2rust: Encountered unsupported BuiltinType kind 148 for type __rvv_float16m8_t
warning: c2rust: Encountered unsupported BuiltinType kind 149 for type __rvv_float32mf2_t
warning: c2rust: Encountered unsupported BuiltinType kind 150 for type __rvv_float32m1_t
warning: c2rust: Encountered unsupported BuiltinType kind 151 for type __rvv_float32m2_t
warning: c2rust: Encountered unsupported BuiltinType kind 152 for type __rvv_float32m4_t
warning: c2rust: Encountered unsupported BuiltinType kind 153 for type __rvv_float32m8_t
warning: c2rust: Encountered unsupported BuiltinType kind 154 for type __rvv_float64m1_t
warning: c2rust: Encountered unsupported BuiltinType kind 155 for type __rvv_float64m2_t
warning: c2rust: Encountered unsupported BuiltinType kind 156 for type __rvv_float64m4_t
warning: c2rust: Encountered unsupported BuiltinType kind 157 for type __rvv_float64m8_t
warning: c2rust: Encountered unsupported BuiltinType kind 158 for type __rvv_bool1_t
warning: c2rust: Encountered unsupported BuiltinType kind 159 for type __rvv_bool2_t
warning: c2rust: Encountered unsupported BuiltinType kind 160 for type __rvv_bool4_t
warning: c2rust: Encountered unsupported BuiltinType kind 161 for type __rvv_bool8_t
warning: c2rust: Encountered unsupported BuiltinType kind 162 for type __rvv_bool16_t
warning: c2rust: Encountered unsupported BuiltinType kind 163 for type __rvv_bool32_t
warning: c2rust: Encountered unsupported BuiltinType kind 164 for type __rvv_bool64_t
66 warnings generated.
Transpiling empty.h
thread 'main' panicked at 'Type conversion not implemented for TagTypeUnknown expecting 3', c2rust-transpile/src/c_ast/conversion.rs:818:22
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
$ c2rust --version
C2Rust v0.16.0+1276 (93eac53a7 2022-09-25) dirty 1 modification

This happens even though to the best of my knowlege, vector extensions are not on by default on that target (and even -march=rv32imac doesn't change a thing).

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