Compile the following sources with -combine: ---- file1.c ---- int f(void) {} ---- end ---- ---- file2.c ---- int f(void) {} ---- end ---- We used to reject this in 4.0.0. This was caused by: 2005-06-28 Eric Christopher <echristo@redhat.com> PR c/22052 PR c/21975 * c-decl.c (diagnose_mismatched_decls): Define DECL_EXTERN_INLINE. Use. Fix detection of invalid extern inline redefinition.
Confirmed.
I am going to fix this since PR 22052 was really caused by me.
Created attachment 9744 [details] patch which reverts back to the pre 4.0 and also should not regression on 22052 I still need to test it.
Patch posted: http://gcc.gnu.org/ml/gcc-patches/2005-09/msg01070.html
Hmm, the 4.0 patch was approved, I wonder if I could get away with applying this as obvious as it just gets us the same code as the 4.0 branch.
*** Bug 24446 has been marked as a duplicate of this bug. ***
Downgraded to P4. If we can fix this great; otherwise, we'll look at it again for 4.2.
(In reply to comment #7) > Downgraded to P4. If we can fix this great; otherwise, we'll look at it > again for 4.2. It is not like I did not post a patch.
Will not be fixed in 4.1.1; adjust target milestone to 4.1.2.
As of today this is an ICE at least on Cygwin. cc1 segfaults during inlining.
Closing 4.1 branch.
On 4.2.4 and 4.3.1, I get this: $ cat > a.c int f(void) {} $ cat > b.c int f(void) {} $ /opt/cfarm/release/4.3.1/bin/gcc -combine a.c b.c a.c:2: error: redefinition of 'f' a.c:1: error: previous definition of 'f' was here
Closing 4.2 branch.
GCC 4.3.4 is being released, adjusting target milestone.
GCC 4.3.5 is being released, adjusting target milestone.
No longer going to work on this one.
IMA (-combine) => WONTFIX?
-combine has been removed from GCC 4.6 in favor of LTO, closing as WONTFIX.