[Bug c++/53493] [4.7 regression] Compiling with -Os excludes PROGMEM array from generated object file (__attribute__((__progmem__)))

jwatte at gmail dot com gcc-bugzilla@gcc.gnu.org
Sat May 26 20:30:00 GMT 2012


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53493

jwatte at gmail dot com changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|RESOLVED                    |UNCONFIRMED
         Resolution|INVALID                     |

--- Comment #5 from jwatte at gmail dot com 2012-05-26 20:22:55 UTC ---

"it has to be the same in each translational unit that it is used"

That doesn't mean it has to be /deleted/. An argument can be made that deleting
it from the compilation unit is not very useful. If I remember correctly, the
source of vague linkage was for allowing for the merging of inline template
instantiations (rather than explicitly.

Anyway, including the forward declaration in the definition translation unit as
well as the using translation unit does make it work, so it works around this
problem. Whether the behavior is useful or correct, I don't want to enter into
an argument about.



More information about the Gcc-bugs mailing list