Project

General

Profile

Actions

Misc #15136

open

Fix -Wparentheses warnings

Added by jaruga (Jun Aruga) about 6 years ago. Updated about 6 years ago.

Status:
Open
Assignee:
-
[ruby-core:<unknown>]

Description

Currently the -Wno-parentheses was set.
I assumed if we could fix the warning, we could remove the -Wno-parentheses.

I fixed the warnings, because the warning is used as a default on Fedora Project build environment.
I sent pull-request. https://github.com/ruby/ruby/pull/1958

I would show you the explanation of -Wparentheses.

$ man gcc (or gcc --help --verbose)
...
       -Wparentheses
           Warn if parentheses are omitted in certain contexts, such as when there is an
           assignment in a context where a truth value is expected, or when operators are
           nested whose precedence people often get confused about.

           Also warn if a comparison like "x<=y<=z" appears; this is equivalent to "(x<=y ?
           1 : 0) <= z", which is a different interpretation from that of ordinary
           mathematical notation.

           Also warn for dangerous uses of the GNU extension to "?:" with omitted middle
           operand. When the condition in the "?": operator is a boolean expression, the
           omitted value is always 1.  Often programmers expect it to be a value computed
           inside the conditional expression instead.

           For C++ this also warns for some cases of unnecessary parentheses in
           declarations, which can indicate an attempt at a function call instead of a
           declaration:

                   {
                     // Declares a local variable called mymutex.
                     std::unique_lock<std::mutex> (mymutex);
                     // User meant std::unique_lock<std::mutex> lock (mymutex);
                   }

           This warning is enabled by -Wall.
...

Files

make.log (96.1 KB) make.log jaruga (Jun Aruga), 09/19/2018 04:31 PM
Actions

Also available in: Atom PDF

Like0
Like0Like0Like0Like0Like0Like0