pgsql: Cast result of copyObject() to correct type

From: Peter Eisentraut <peter_e(at)gmx(dot)net>
To: pgsql-committers(at)postgresql(dot)org
Subject: pgsql: Cast result of copyObject() to correct type
Date: 2017-03-29 02:04:02
Message-ID: E1ct2xu-0005E3-J5@gemulon.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers

Cast result of copyObject() to correct type

copyObject() is declared to return void *, which allows easily assigning
the result independent of the input, but it loses all type checking.

If the compiler supports typeof or something similar, cast the result to
the input type. This creates a greater amount of type safety. In some
cases, where the result is assigned to a generic type such as Node * or
Expr *, new casts are now necessary, but in general casts are now
unnecessary in the normal case and indicate that something unusual is
happening.

Reviewed-by: Mark Dilger <hornschnorter(at)gmail(dot)com>

Branch
------
master

Details
-------
http://git.postgresql.org/pg/commitdiff/4cb824699e12c39fad97fb3d9085ced0d14c067c

Modified Files
--------------
config/c-compiler.m4 | 27 +++++++++++++++++++++
configure | 40 +++++++++++++++++++++++++++++++
configure.in | 1 +
src/backend/bootstrap/bootstrap.c | 4 ++--
src/backend/commands/copy.c | 2 +-
src/backend/commands/createas.c | 2 +-
src/backend/commands/event_trigger.c | 8 +++----
src/backend/commands/prepare.c | 4 ++--
src/backend/commands/view.c | 2 +-
src/backend/nodes/copyfuncs.c | 8 +++----
src/backend/optimizer/path/indxpath.c | 4 ++--
src/backend/optimizer/plan/createplan.c | 6 ++---
src/backend/optimizer/plan/initsplan.c | 8 +++----
src/backend/optimizer/plan/planagg.c | 4 ++--
src/backend/optimizer/plan/planner.c | 4 ++--
src/backend/optimizer/plan/setrefs.c | 26 ++++++++++----------
src/backend/optimizer/plan/subselect.c | 14 +++++------
src/backend/optimizer/prep/prepjointree.c | 4 ++--
src/backend/optimizer/prep/preptlist.c | 2 +-
src/backend/optimizer/prep/prepunion.c | 4 ++--
src/backend/optimizer/util/tlist.c | 12 +++++-----
src/backend/parser/analyze.c | 2 +-
src/backend/parser/gram.y | 2 +-
src/backend/parser/parse_clause.c | 2 +-
src/backend/parser/parse_expr.c | 2 +-
src/backend/parser/parse_relation.c | 2 +-
src/backend/parser/parse_utilcmd.c | 6 ++---
src/backend/rewrite/rewriteHandler.c | 8 +++----
src/backend/rewrite/rewriteManip.c | 8 +++----
src/backend/tcop/postgres.c | 6 ++---
src/backend/utils/cache/plancache.c | 14 +++++------
src/backend/utils/cache/relcache.c | 8 +++----
src/include/nodes/nodes.h | 8 ++++++-
src/include/optimizer/tlist.h | 4 ++--
src/include/pg_config.h.in | 6 +++++
src/include/pg_config.h.win32 | 6 +++++
36 files changed, 178 insertions(+), 92 deletions(-)

Browse pgsql-committers by date

  From Date Subject
Next Message Peter Eisentraut 2017-03-29 02:29:18 pgsql: Fix configure check for typeof
Previous Message Peter Eisentraut 2017-03-29 01:13:05 pgsql: doc: Mention --enable-tap-tests in regression test chapter