Skip to content

type_int_unsigned_by_bitsize fails with illegal bitsize on arm64 #1649

Closed
@radekm

Description

Compiling this program c3c compile extern_test.c3 on macOS 15.0.1 on arm64

import std;

extern fn Features query_features() @extern("sg_query_features");

struct Features
{
    bool origin_top_left;
    bool image_clamp_to_border;
    bool mrt_independent_blend_state;
    bool mrt_independent_write_mask;
    bool storage_buffer;
}

fn void main()
{
    Features fs = query_features();
}

produces return code 1 and message

FATAL ERROR Illegal bitsize %d -> in type_int_unsigned_by_bitsize @ in /Users/runner/work/c3c/c3c/src/compiler/types.c:97 

Instead I would expect linker error because sg_query_features is currently not being linked.

c3c --version returns

C3 Compiler Version:       0.6.4
Installed directory:       *****
Git Hash:                  69004943a7de95c6b8bf21551d3627ceb6fa33f5
Backends:                  LLVM
LLVM version:              17.0.6
LLVM default target:       arm64-apple-darwin23.4.0

Metadata

Assignees

Labels

No labels
No labels

Type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions