ODR violations in intltest
Description
Activity
Fredrik Roubert May 30, 2024 at 1:40 PM
I've now merged PR #2982 which fixes all the originally reported ODR violations. If there actually still are any left that I haven't been able to reproduce yet, please feel free to reopen this ticket with very detailed instructions on how to reproduce those errors.
Fredrik Roubert May 2, 2024 at 3:32 PM
I’m sorry, but I’m unable to reproduce those compilation errors. Would you please be so kind and provide very detailed instructions on how to reproduce them?

Sam James May 2, 2024 at 6:47 AM
When building 75.1 (the layoutex component), I also newly get:
Eli Schwartz April 25, 2024 at 1:58 AM
Sure it would be nice. I do understand it's not worth the additional text matrix effort for most projects, so I don't necessarily expect test coverage along with a fix.
Gentoo will almost certainly report a bug after the fact if it ever regresses in a new release, if it helps.
We do have a CI that loops through every distro package and tests this exact issue. That's how we encountered the bug. The cost/benefit for us is different because it is a “tinderbox” to check that the distro is in good working order, with or without random lints (such as GCC + LTO) applied. Nothing is gated on the CI passing, so it doesn't matter if an issue takes several days or a week to discover it, we will eventually find it.
As we are mostly LTO-clean now we're intending to keep on top of new issues.
Fredrik Roubert April 24, 2024 at 8:47 PM
Clang with -flto -Werror=odr
doesn't find these errors as GCC does and there’s no existing ICU4C CI job that runs GCC with LTO, so adding this to the CI would require adding a new job and that’s not necessarily a good idea, for building ICU4C and its tests with GCC LTO takes quite some time and even though it’d be nice we’ll never be able to run every possible test in the CI so maybe this one simply isn’t important enough to add one more job.
Building with -flto (GCC)