Jakub found an error in my earlier patch. If a gnu_inline function was redeclared without a new definition, and then called, we'd ICE when inlining it. Here's a patch that fixes it, by arranging for the linkage flags to not be affected by mere redeclarations, only by actual redefinitions. Jakub offered to test it, so I haven't, other than by compiling by hand the test included in the patch. Ok to install after Jakub completes testing it? :ADDPATCH c++/gnu_inline: