You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@kudu.apache.org by "Todd Lipcon (JIRA)" <ji...@apache.org> on 2017/08/11 00:57:00 UTC
[jira] [Commented] (KUDU-2094) GCC 7.1 complains about alignment of
Counter
[ https://issues.apache.org/jira/browse/KUDU-2094?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16122626#comment-16122626 ]
Todd Lipcon commented on KUDU-2094:
-----------------------------------
can you paste the exact warning you're getting? I think this is because Counter's superclass Striped64 includes a 'Cell' member, which is marked with CACHELINE_ALIGNED. However, it should also be exactly size 64. Perhaps this gets messed up by being embedded in a non-POD class or somesuch, though.
> GCC 7.1 complains about alignment of Counter
> --------------------------------------------
>
> Key: KUDU-2094
> URL: https://issues.apache.org/jira/browse/KUDU-2094
> Project: Kudu
> Issue Type: Bug
> Reporter: Tim Armstrong
> Priority: Minor
>
> I found this when building the kudu/util subtree in Impala with gcc 7.1.
> In a few places, e.g. metrics.h, the compiler complains that the alignment required by Counter is less than the alignment guaranteed by new.
> {code}
> m = new Counter(proto);
> {code}
> I worked around this by setting -faligned-new, which was added recently to GCC and is enabled by default with C++17. The setting ensures that new allocates memory with the alignment required by the data type.
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)