C casts do not require parentheses. C++ casts require grouping around
the target. Prepare for conversion to C++ casts by adding otherwise
unnecessary parentheses around the target of some C casts.
This pass attempts to process expressions that involve parenthesized or
bracketed subexpressions, but only if those subexpressions do not
themselves contain parenthesized or bracketed subexpressions.
(int) f(1); // changed
(int) f(g()); // not changed
perl -p -i -e 's/(\(\s*((?:un)?signed|int|char|short|long|float|double|s?size_t|(?:u?int[[:digit:]]+_t))\s*\**\s*\)\s*)([&+-]?)([[:alnum:]_.]+\s*->\s*)*([[:alnum:]_.]+)((?:\s*(?:\[[^][]*\])*|(?:\([^()]*\))*))(\s*([;+>*\/^%,|&<>])|$|(\s*-\s*[^>]))/\1\(\3\4\5\6\)\7/g'
Object numbers are unsigned short, not signed short. If anyone ever
raises the object limit high enough, testing for negative values would
blacklist valid objects.
Remove unnecessary test for objnum!=object_none. If it were none,
constructing `obj` would have failed.
This pass only targets commonly used standard types.
s/(\(\s*\(\(un\)\?signed\|int\|char\|short\|long\|float\|double\|s\?size_t\|\(u\?int[[:digit:]]\+_t\)\)\s*\*\)\s*)\s*(/reinterpret_cast<\1>(/g
This pass only targets commonly used standard types.
s/(\(\s*\(\(un\)\?signed\|int\|char\|short\|long\|float\|double\|s\?size_t\|\(u\?int[[:digit:]]\+_t\)\)\)\s*)\s*(/static_cast<\1>(/g
C casts do not require parentheses. C++ casts require grouping around
the target. Prepare for conversion to C++ casts by adding otherwise
unnecessary parentheses around the target of simple C casts.
This pass does not attempt to process expressions that involve
any subexpression that can nest arbitrarily, such as parentheses or
brackets. It also works only on commonly used standard types.
(int) a->b; // changed
(int) a[b]; // not changed
s/\((\s*\(\(un\)\?signed\|int\|char\|short\|long\|float\|double\|s\?size_t\|\(u\?int[[:digit:]]\+_t\)\)\s*\**\s*)\s*\)\([&+-]\?\)\([[:alnum:]_.]\+\s*->\s*\)*\([[:alnum:]_.]\+\)\(\s*\([];+>)*\/^%,|&<>]\)\|$\|\(\s*-\s*[^>]\)\)/\1(\5\6\7)\8/g
bitproxy_t inherits a method named `shift` and its constructor took a
parameter named `shift`. This is unambiguous in the language, but causes
a warning from gcc's -Wshadow in gcc before 5.x. Rename the parameter
to eliminate the warning.
Reported-by: Mako88 <https://github.com/dxx-rebirth/dxx-rebirth/issues/200>
tmpl_multibit_proxy_t inherits a method named `shift` and its constructor took a
parameter named `shift`. This is unambiguous in the language, but causes
a warning from gcc's -Wshadow in gcc before 5.x. Rename the parameter
to eliminate the warning.
Reported-by: Mako88 <https://github.com/dxx-rebirth/dxx-rebirth/issues/200>
tmpl_maskproxy_t inherits a method named `shift` and its constructor took a
parameter named `shift`. This is unambiguous in the language, but causes
a warning from gcc's -Wshadow in gcc before 5.x. Rename the parameter
to eliminate the warning.
Reported-by: Mako88 <https://github.com/dxx-rebirth/dxx-rebirth/issues/200>
bitproxy_t inherits a method named `shift` and its constructor took a
parameter named `shift`. This is unambiguous in the language, but causes
a warning from gcc's -Wshadow in gcc before 5.x. Rename the parameter
to eliminate the warning.
Reported-by: Mako88 <https://github.com/dxx-rebirth/dxx-rebirth/issues/200>
tmpl_bitproxy_t inherits a method named `shift` and its constructor took a
parameter named `shift`. This is unambiguous in the language, but causes
a warning from gcc's -Wshadow in gcc before 5.x. Rename the parameter
to eliminate the warning.
Reported-by: Mako88 <https://github.com/dxx-rebirth/dxx-rebirth/issues/200>
Both callers of ReadIniArgs need the string removed afterward. Prior to
8fb9a0f, only the parser for `-ini` needed the string removed. The
caller for the automatic ini file ended and destroyed the container. As
of 8fb9a0f, the container persists. Leaving the string in the container
causes a bad error message if the command line is rejected.
It is bad form to have ReadIniArgs pop, but the caller push. However,
the two callers use different signatures for emplace_back(), so unifying
the push would require calling a suboptimal emplace_back. Choose the
lesser evil of unbalanced push/pop.
Reported-by: zicodxx <https://github.com/dxx-rebirth/dxx-rebirth/issues/198>
base_maskproxy_t has a method named `shift` and its constructor took a
parameter named `shift`. This is unambiguous in the language, but causes
a warning from gcc's -Wshadow in gcc before 5.x. Rename the parameter
to eliminate the warning.
Reported-by: derhass <https://github.com/dxx-rebirth/dxx-rebirth/issues/197>
get_chunks_state has a member named `data` and its constructor took a
parameter named `data`. This is unambiguous in the language, but causes
a warning from gcc's -Wshadow when building with WORDS_NEED_ALIGNMENT.
Rename the parameter to eliminate the warning.
Reported-by: derhass <https://github.com/dxx-rebirth/dxx-rebirth/pull/196>