You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@stdcxx.apache.org by "Stefan Teleman (JIRA)" <ji...@apache.org> on 2012/09/20 21:27:07 UTC

[jira] [Updated] (STDCXX-1068) HP/UX's aCC alignment problems misalign everyone else

     [ https://issues.apache.org/jira/browse/STDCXX-1068?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Stefan Teleman updated STDCXX-1068:
-----------------------------------

    Description: 
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}


  was:
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}


    
> 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