https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78105

--- Comment #13 from PeteVine <tulipawn at gmail dot com> ---
Also, could these (sample) warnings actually matter when using ld.gold? NB,
lra-constraints.c features in the previously provided backtrace:

../../libdecnumber/decNumber.c:3582:0: note: code may be misoptimized unless
-fno-strict-aliasing is used
../../gcc/../libdecnumber/decNumber.h:118:0: warning: type of
‘decNumberFromString’ does not match original declaration [-Wlto-type-mismatch]
   decNumber * decNumberFromString(decNumber *, const char *, decContext *);

../../libdecnumber/decNumber.h:118:0: warning: type of ‘decNumberFromString’
does not match original declaration [-Wlto-type-mismatch]
   decNumber * decNumberFromString(decNumber *, const char *, decContext *);

../../libdecnumber/decNumber.h:118:0: warning: type of ‘decNumberFromString’
does not match original declaration [-Wlto-type-mismatch]
   decNumber * decNumberFromString(decNumber *, const char *, decContext *);

../../libdecnumber/decNumber.h:118:0: warning: type of ‘decNumberFromString’
does not match original declaration [-Wlto-type-mismatch]
   decNumber * decNumberFromString(decNumber *, const char *, decContext *);

../../libdecnumber/decNumber.c:489:0: note: ‘decNumberFromString’ was
previously declared here
 decNumber * decNumberFromString(decNumber *dn, const char chars[],

../../libdecnumber/decNumber.c:489:0: note: code may be misoptimized unless
-fno-strict-aliasing is used
../../gcc/vec.h:1552:1: warning: ‘safe_push’ violates the C++ One Definition
Rule  [-Wodr]
 vec<T, va_heap, vl_ptr>::safe_push (const T &obj MEM_STAT_DECL)
 ^
../../gcc/vec.h:1552:1: note: return value type mismatch
 vec<T, va_heap, vl_ptr>::safe_push (const T &obj MEM_STAT_DECL)
 ^
../../gcc/loop-invariant.c:100:8: note: type ‘struct invariant’ itself violate
the C++ One Definition Rule
 struct invariant
        ^
../../gcc/lra-constraints.c:4742:8: note: the incompatible type is defined here
 struct invariant
        ^
../../gcc/vec.h:1552:1: note: ‘safe_push’ was previously declared here
 vec<T, va_heap, vl_ptr>::safe_push (const T &obj MEM_STAT_DECL)
 ^
../../gcc/vec.h:1552:1: note: code may be misoptimized unless
-fno-strict-aliasing is used
../../gcc/vec.h:1540:1: warning: ‘quick_push’ violates the C++ One Definition
Rule  [-Wodr]
 vec<T, va_heap, vl_ptr>::quick_push (const T &obj)
 ^
../../gcc/vec.h:1540:1: note: return value type mismatch
 vec<T, va_heap, vl_ptr>::quick_push (const T &obj)
 ^
../../gcc/loop-invariant.c:100:8: note: type ‘struct invariant’ itself violate
the C++ One Definition Rule
 struct invariant
        ^
../../gcc/lra-constraints.c:4742:8: note: the incompatible type is defined here
 struct invariant
        ^
../../gcc/vec.h:1540:1: note: ‘quick_push’ was previously declared here
 vec<T, va_heap, vl_ptr>::quick_push (const T &obj)
 ^
../../gcc/vec.h:1540:1: note: code may be misoptimized unless
-fno-strict-aliasing is used

Reply via email to