[
https://issues.apache.org/jira/browse/TS-2959?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14202649#comment-14202649
]
Susan Hinrichs edited comment on TS-2959 at 11/7/14 8:55 PM:
-------------------------------------------------------------
I was wrong, 4.9.2 produces the warning for me as well. I was just looking at
the wrong place in the build. I think it is erroneous analysis on the part of
the compiler. I was able to fix it by adding a comparison to the
MULTI_CACHE_MAX_LEVELS constant. The original comparison to the levels
variable should have been sufficient based on my looking at things. The patch
has this fix.
Once this patch is committed, we should reactivate Jenkin's Debian build.
was (Author: shinrich):
I was wrong, 4.9.2 produces the warning for me as well. I was just looking at
the wrong place in the build. I think it is erroneous analysis on the part of
the compiler. I was able to fix it by adding a comparison to the
MULTI_CACHE_MAX_LEVELS constant. The original comparison to the levels
variable should have been sufficient based on my looking at things. The patch
has this fix.
> Compiler warnings from gcc 4.9.1
> --------------------------------
>
> Key: TS-2959
> URL: https://issues.apache.org/jira/browse/TS-2959
> Project: Traffic Server
> Issue Type: Bug
> Components: Core, DNS
> Reporter: Leif Hedstrom
> Assignee: Susan Hinrichs
> Fix For: 5.2.0
>
> Attachments: ts-2959.patch
>
>
> We get:
> {code}
> In file included from ../../iocore/hostdb/P_HostDB.h:47:0,
> from ../../proxy/Main.cc:63:
> ../../iocore/hostdb/P_MultiCache.h: In member function ‘void
> MultiCache<C>::rebuild_element(int, char*, RebuildMC&) [with C = HostDBInfo]’:
> ../../iocore/hostdb/P_MultiCache.h:468:23: error: array subscript is above
> array bounds [-Werror=array-bounds]
> char *offset = data + level_offset[level] + bucketsize[level] * bucket;
> ^
> ../../iocore/hostdb/P_MultiCache.h:468:65: error: array subscript is above
> array bounds [-Werror=array-bounds]
> char *offset = data + level_offset[level] + bucketsize[level] * bucket;
> ^
> ../../iocore/hostdb/P_MultiCache.h:487:29: error: array subscript is above
> array bounds [-Werror=array-bounds]
> for (block = b; block < b + elements[level]; block++) {
> ^
> ../../iocore/hostdb/P_MultiCache.h:509:39: error: array subscript is above
> array bounds [-Werror=array-bounds]
> if (hits > ((max_hits / 2) + 1) * elements[level])
> ^
> ../../iocore/hostdb/P_MultiCache.h:511:33: error: array subscript is above
> array bounds [-Werror=array-bounds]
> for (block = b; block < b + elements[level]; block++) {
> ^
> ../../iocore/hostdb/P_MultiCache.h:468:23: error: array subscript is above
> array bounds [-Werror=array-bounds]
> char *offset = data + level_offset[level] + bucketsize[level] * bucket;
> ^
> ../../iocore/hostdb/P_MultiCache.h:468:65: error: array subscript is above
> array bounds [-Werror=array-bounds]
> char *offset = data + level_offset[level] + bucketsize[level] * bucket;
> ^
> ../../iocore/hostdb/P_MultiCache.h:487:29: error: array subscript is above
> array bounds [-Werror=array-bounds]
> for (block = b; block < b + elements[level]; block++) {
> ^
> ../../iocore/hostdb/P_MultiCache.h:509:39: error: array subscript is above
> array bounds [-Werror=array-bounds]
> if (hits > ((max_hits / 2) + 1) * elements[level])
> ^
> ../../iocore/hostdb/P_MultiCache.h:511:33: error: array subscript is above
> array bounds [-Werror=array-bounds]
> for (block = b; block < b + elements[level]; block++) {
> ^
> ../../iocore/hostdb/P_MultiCache.h:552:31: error: array subscript is above
> array bounds [-Werror=array-bounds]
> for (block = b; block < b + elements[level]; block++) {
> ^
> ../../iocore/hostdb/P_MultiCache.h:558:31: error: array subscript is above
> array bounds [-Werror=array-bounds]
> for (block = b; block < b + elements[level]; block++)
> ^
> ../../iocore/hostdb/P_MultiCache.h:552:31: error: array subscript is above
> array bounds [-Werror=array-bounds]
> for (block = b; block < b + elements[level]; block++) {
> ^
> ../../iocore/hostdb/P_MultiCache.h:558:31: error: array subscript is above
> array bounds [-Werror=array-bounds]
> for (block = b; block < b + elements[level]; block++)
> ^
> {code}
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)