Skip to content

orm: cgen error when using shared #26479

@Le0Developer

Description

@Le0Developer
V version: V 0.5.0 75fc8be, press to see full `v doctor` output
V full version V 0.5.0 75fc8be
OS macos, macOS, 26.2, 25C56
Processor 10 cpus, 64bit, little endian, Apple M4
Memory 0.21GB/16GB
V executable /Users/leodev/p/v/v/v
V last modified time 2026-01-31 10:45:14
V home dir OK, value: /Users/leodev/p/v/v
VMODULES OK, value: /Users/leodev/.vmodules
VTMP OK, value: /tmp/v_501
Current working dir OK, value: /Users/leodev/p/v/test
Git version git version 2.52.0
V git status weekly.2026.05-80-g75fc8bed
.git/config present true
cc version Apple clang version 17.0.0 (clang-1700.0.13.3)
gcc version Apple clang version 17.0.0 (clang-1700.0.13.3)
clang version Apple clang version 17.0.0 (clang-1700.0.13.3)
tcc version tcc version 0.9.28rc 2026-01-10 HEAD@5ec0e6f8 (AArch64 Darwin)
tcc git status thirdparty-macos-arm64 f995efa3
emcc version N/A
glibc version N/A

What did you do?
./v -g -o vdbg cmd/v && ./vdbg repro.v && repro

import db.sqlite

fn main() {
	shared x := sqlite.connect(':memory:')!

	lock x {
		sql x {
		}!
	}
}

What did you see?

================== C compilation error (from cc): ==============
cc: /tmp/v_501/repro.01KGAWBBPN3RPDCRYHFHT6C516.tmp.c:12273:83: error: use of undeclared identifier '_orm__Connection___shared__db__sqlite__DB_index'; did you mean '_orm__Connection_db__sqlite__DB_index'?
cc:  12273 |                 orm__Connection _t2 = (orm__Connection){.___shared__db__sqlite__DB = x, ._typ = _orm__Connection___shared__db__sqlite__DB_index};
cc:        |                                                                                                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
cc:        |                                                                                                 _orm__Connection_db__sqlite__DB_index
cc: /tmp/v_501/repro.01KGAWBBPN3RPDCRYHFHT6C516.tmp.c:3468:11: note: '_orm__Connection_db__sqlite__DB_index' declared here
cc:  3468 | const u32 _orm__Connection_db__sqlite__DB_index = 0;
cc:       |           ^
cc: /tmp/v_501/repro.01KGAWBBPN3RPDCRYHFHT6C516.tmp.c:12273:44: error: field designator '___shared__db__sqlite__DB' does not refer to any field in type 'orm__Connection' (aka 'struct orm__Connection')
cc:  12273 |                 orm__Connection _t2 = (orm__Connection){.___shared__db__sqlite__DB = x, ._typ = _orm__Connection___shared__db__sqlite__DB_index};
cc:        |                                                         ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
cc: 2 errors generated.
================================================================
Try passing `-g` when compiling, to see a .v file:line information, that correlates more with the C error.
(Alternatively, pass `-show-c-output`, to print the full C error message).
builder error: 
==================
C error found. It should never happen, when compiling pure V code.
This is a V compiler bug, please report it using `v bug file.v`,
or goto https://github.com/vlang/v/issues/new/choose .
You can also use #help on Discord: https://discord.gg/vlang .

What did you expect to see?

Not a cgen error

Note

You can use the 👍 reaction to increase the issue's priority for developers.

Please note that only the 👍 reaction to the issue itself counts as a vote.
Other reactions and those to comments will not be taken into account.

Metadata

Metadata

Assignees

No one assigned

    Labels

    BugThis tag is applied to issues which reports bugs.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions