You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@trafficserver.apache.org by "Alan M. Carroll (JIRA)" <ji...@apache.org> on 2015/12/17 03:24:46 UTC

[jira] [Resolved] (TS-3935) Compile errors (warnings) with modern clang

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

Alan M. Carroll resolved TS-3935.
---------------------------------
    Resolution: Fixed

As far as I could tell the purpose of the logical or operator was to force the left hand side to evaluate while still returning a value of {{true}} with the left hand side expression guarded by the left hand side of the preceding logical and. This same effect can be achieved with the use of the comma operator instead of the logical or which hopefully will make clang happier.

> Compile errors (warnings) with modern clang
> -------------------------------------------
>
>                 Key: TS-3935
>                 URL: https://issues.apache.org/jira/browse/TS-3935
>             Project: Traffic Server
>          Issue Type: Bug
>          Components: Management API
>            Reporter: Leif Hedstrom
>            Assignee: Alan M. Carroll
>             Fix For: 6.1.0
>
>
> {code}
>   CXX      CoreAPI.lo
> ../../../../mgmt/api/CoreAPI.cc:370:188: error: use of logical '||' with constant operand [-Werror,-Wconstant-logical-operand]
>   if ((threads).n) for (pid_t *qq__threadid = (pid_t *)0, threadid = (threads).v[0]; ((uintptr_t)(qq__threadid) < (threads).length()) && ((threadid = (threads).v[(intptr_t)qq__threadid]) || 1); qq__threadid = (pid_t *)(((intptr_t)qq__threadid) + 1))
>                                                                                                                                                                                            ^  ~
> ../../../../mgmt/api/CoreAPI.cc:370:188: note: use '|' for a bitwise operation
>   if ((threads).n) for (pid_t *qq__threadid = (pid_t *)0, threadid = (threads).v[0]; ((uintptr_t)(qq__threadid) < (threads).length()) && ((threadid = (threads).v[(intptr_t)qq__threadid]) || 1); qq__threadid = (pid_t *)(((intptr_t)qq__threadid) + 1))
>                                                                                                                                                                                            ^~
>                                                                                                                                                                                            |
> 1 error generated.
> {code}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)