Opened 10 years ago
Closed 10 years ago
#7095 closed Bugs (fixed)
warning: unrecognized __attribute__((__may_alias__))
| Reported by: | Owned by: | Ion Gaztañaga | |
|---|---|---|---|
| Milestone: | To Be Determined | Component: | move | 
| Version: | Boost 1.50.0 | Severity: | Problem | 
| Keywords: | Cc: | 
Description
Hello,
boost/move.hpp contains:
//Move emulation rv breaks standard aliasing rules so add workarounds for some compilers #ifdef __GNUC__ #define BOOST_MOVE_ATTRIBUTE_MAY_ALIAS __attribute__((__may_alias__)) #else #define BOOST_MOVE_ATTRIBUTE_MAY_ALIAS #endif
and using __attribute__((__may_alias__)) causes a warning on my TI compiler.
Would a fix by guarding against __GNUC__>=4 be welcome, or are there some __GNUC__=3 compilers, that need this pragma to be enabled?
Index: move.hpp
===================================================================
--- move.hpp	(revision 0)
+++ move.hpp	(revision 1)
@@ -217,7 +217,7 @@
 #if defined(BOOST_NO_RVALUE_REFERENCES) && !defined(BOOST_MOVE_DOXYGEN_INVOKED)
 
    //Move emulation rv breaks standard aliasing rules so add workarounds for some compilers
-   #ifdef __GNUC__
+   #if defined(__GNUC__) && (__GNUC__ >= 4)
       #define BOOST_MOVE_ATTRIBUTE_MAY_ALIAS __attribute__((__may_alias__))
    #else
       #define BOOST_MOVE_ATTRIBUTE_MAY_ALIAS
Regards, Kris
  Note:
 See   TracTickets
 for help on using tickets.
    

Thanks for the report fixed in trunk at revision: 79424