Skip to content

orm: cgen error when using shared #26479

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

Labels

BugThis tag is applied to issues which reports bugs.ORMBugs/feature requests, that are related to the V ORM.Unit: cgenBugs/feature requests, that are related to the default C generating backend.

Type

No fields configured for Bug.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions