Stefan Teleman created STDCXX-1068:
--------------------------------------

             Summary: HP/UX's aCC alignment problems misalign everyone else
                 Key: STDCXX-1068
                 URL: https://issues.apache.org/jira/browse/STDCXX-1068
             Project: C++ Standard Library
          Issue Type: Bug
          Components: 21. Strings
    Affects Versions: 4.2.1, 4.2.x, 4.3.x
         Environment: Any compiler besides HP/UX's aCC.
            Reporter: Stefan Teleman
             Fix For: 4.2.x, 4.3.x


The following code in include/rw/_strref.h at line 245:

{code title=_strref.h|borderStyle=solid}

    union {
        size_type _C_size;    // Number of actual data values stored
        _CharT    _C_dummy;   // force the alignment of the first char
    } _C_size;                // named to work around an HP aCC 3.30 bug

{code}

causes misaligned reads/writes with SunPro 12.1, 12.2, 12.3 on Solaris (SPARC 
and Intel) and Linux (Intel), GCC 4.5.2 and 4.7.1 (Linux Intel) and Intel 2003 
(Linux Intel).

The following patch fixes the problem:

{code title=_strref.h|borderStyle=solid}

     union {
         size_type _C_size;    // Number of actual data values stored
+#if defined(__HP_aCC)
         _CharT    _C_dummy;   // force the alignment of the first char
-    } _C_size;                // named to work around an HP aCC 3.30 bug
+#endif                        // named to work around an HP aCC 3.30 bug
+    } _C_size;
 };

{code}


--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to