pmatilai created an issue (rpm-software-management/rpm#3692)

Spotted when doing an LTO build:

> /home/pmatilai/repos/rpm/lib/backend/sqlite.cc:17:8: warning: type ‘struct 
> dbiCursor_s’ violates the C++ One Definition Rule [-Wodr]
   17 | struct dbiCursor_s {
      |        ^
/home/pmatilai/repos/rpm/lib/backend/ndb/glue.cc:17:8: note: a different type 
is defined in another translation unit
   17 | struct dbiCursor_s {
      |        ^

sqlite and ndb define dbiCursor_s entirely differently, the only thing ever 
visible to the outside is the pointer returned. This was fine in C, but C++ no 
like, and this can't be fixed by a simple anonymous namespace either.

The bad news is that this is undefined behavior... 👻

-- 
Reply to this email directly or view it on GitHub:
https://github.com/rpm-software-management/rpm/issues/3692
You are receiving this because you are subscribed to this thread.

Message ID: <rpm-software-management/rpm/issues/3...@github.com>
_______________________________________________
Rpm-maint mailing list
Rpm-maint@lists.rpm.org
https://lists.rpm.org/mailman/listinfo/rpm-maint

Reply via email to