This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug c++/53493] [4.7 regression] Compiling with -Os excludes PROGMEM array from generated object file (__attribute__((__progmem__)))
- From: "jwatte at gmail dot com" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Sat, 26 May 2012 20:22:55 +0000
- Subject: [Bug c++/53493] [4.7 regression] Compiling with -Os excludes PROGMEM array from generated object file (__attribute__((__progmem__)))
- Auto-submitted: auto-generated
- References: <bug-53493-4@http.gcc.gnu.org/bugzilla/>
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.