Remix.run Logo
mgaunard a day ago

ODR violations are very easy to trigger unless you build the whole thing from source, and are ill-formed, no diagnostic required (worse than UB).

uecker a day ago | parent [-]

Neither "ODR violations" nor IFNDR exist in C. Incompatibility across translation units can cause undefined behavior in C, but this can easily be avoided.

mgaunard a day ago | parent [-]

C simply has less wording for it because less work has been put into it.

The same problems exist.

uecker 15 hours ago | parent [-]

The ODR problem is much more benign in C. Undefined behavior at translation time (~ IFNDR) still exists in C but for C2y we have removed most of it already.