Add -Wimplicit-fallthrough to CFLAGS and CXXFLAGS
Use it at level 4, a bit more restrictive than the default level, and tweak our commanding comments to FALLTHROUGH. (However, leave zic.c alone, since it's external code; to avoid the warnings that would appear there, change CFLAGS for that file in the Makefile.) Author: Julien Rouhaud <rjuju123@gmail.com> Author: Álvaro Herrera <alvherre@alvh.no-ip.org> Reviewed-by: Tom Lane <tgl@sss.pgh.pa.us> Discussion: https://postgr.es/m/20200412081825.qyo5vwwco3fv4gdo@nol Discussion: https://postgr.es/m/flat/E1fDenm-0000C8-IJ@gemulon.postgresql.org
This commit is contained in:
parent
6a918c3ac8
commit
3e9744465d
91
configure
vendored
91
configure
vendored
@ -5552,6 +5552,97 @@ if test x"$pgac_cv_prog_CXX_cxxflags__Wmissing_format_attribute" = x"yes"; then
|
||||
fi
|
||||
|
||||
|
||||
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ${CC} supports -Wimplicit-fallthrough=4, for CFLAGS" >&5
|
||||
$as_echo_n "checking whether ${CC} supports -Wimplicit-fallthrough=4, for CFLAGS... " >&6; }
|
||||
if ${pgac_cv_prog_CC_cflags__Wimplicit_fallthrough_4+:} false; then :
|
||||
$as_echo_n "(cached) " >&6
|
||||
else
|
||||
pgac_save_CFLAGS=$CFLAGS
|
||||
pgac_save_CC=$CC
|
||||
CC=${CC}
|
||||
CFLAGS="${CFLAGS} -Wimplicit-fallthrough=4"
|
||||
ac_save_c_werror_flag=$ac_c_werror_flag
|
||||
ac_c_werror_flag=yes
|
||||
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
||||
/* end confdefs.h. */
|
||||
|
||||
int
|
||||
main ()
|
||||
{
|
||||
|
||||
;
|
||||
return 0;
|
||||
}
|
||||
_ACEOF
|
||||
if ac_fn_c_try_compile "$LINENO"; then :
|
||||
pgac_cv_prog_CC_cflags__Wimplicit_fallthrough_4=yes
|
||||
else
|
||||
pgac_cv_prog_CC_cflags__Wimplicit_fallthrough_4=no
|
||||
fi
|
||||
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
|
||||
ac_c_werror_flag=$ac_save_c_werror_flag
|
||||
CFLAGS="$pgac_save_CFLAGS"
|
||||
CC="$pgac_save_CC"
|
||||
fi
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $pgac_cv_prog_CC_cflags__Wimplicit_fallthrough_4" >&5
|
||||
$as_echo "$pgac_cv_prog_CC_cflags__Wimplicit_fallthrough_4" >&6; }
|
||||
if test x"$pgac_cv_prog_CC_cflags__Wimplicit_fallthrough_4" = x"yes"; then
|
||||
CFLAGS="${CFLAGS} -Wimplicit-fallthrough=4"
|
||||
fi
|
||||
|
||||
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ${CXX} supports -Wimplicit-fallthrough=4, for CXXFLAGS" >&5
|
||||
$as_echo_n "checking whether ${CXX} supports -Wimplicit-fallthrough=4, for CXXFLAGS... " >&6; }
|
||||
if ${pgac_cv_prog_CXX_cxxflags__Wimplicit_fallthrough_4+:} false; then :
|
||||
$as_echo_n "(cached) " >&6
|
||||
else
|
||||
pgac_save_CXXFLAGS=$CXXFLAGS
|
||||
pgac_save_CXX=$CXX
|
||||
CXX=${CXX}
|
||||
CXXFLAGS="${CXXFLAGS} -Wimplicit-fallthrough=4"
|
||||
ac_save_cxx_werror_flag=$ac_cxx_werror_flag
|
||||
ac_cxx_werror_flag=yes
|
||||
ac_ext=cpp
|
||||
ac_cpp='$CXXCPP $CPPFLAGS'
|
||||
ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
|
||||
ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
|
||||
ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
|
||||
|
||||
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
||||
/* end confdefs.h. */
|
||||
|
||||
int
|
||||
main ()
|
||||
{
|
||||
|
||||
;
|
||||
return 0;
|
||||
}
|
||||
_ACEOF
|
||||
if ac_fn_cxx_try_compile "$LINENO"; then :
|
||||
pgac_cv_prog_CXX_cxxflags__Wimplicit_fallthrough_4=yes
|
||||
else
|
||||
pgac_cv_prog_CXX_cxxflags__Wimplicit_fallthrough_4=no
|
||||
fi
|
||||
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
|
||||
ac_ext=c
|
||||
ac_cpp='$CPP $CPPFLAGS'
|
||||
ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
|
||||
ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
|
||||
ac_compiler_gnu=$ac_cv_c_compiler_gnu
|
||||
|
||||
ac_cxx_werror_flag=$ac_save_cxx_werror_flag
|
||||
CXXFLAGS="$pgac_save_CXXFLAGS"
|
||||
CXX="$pgac_save_CXX"
|
||||
fi
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $pgac_cv_prog_CXX_cxxflags__Wimplicit_fallthrough_4" >&5
|
||||
$as_echo "$pgac_cv_prog_CXX_cxxflags__Wimplicit_fallthrough_4" >&6; }
|
||||
if test x"$pgac_cv_prog_CXX_cxxflags__Wimplicit_fallthrough_4" = x"yes"; then
|
||||
CXXFLAGS="${CXXFLAGS} -Wimplicit-fallthrough=4"
|
||||
fi
|
||||
|
||||
|
||||
# This was included in -Wall/-Wformat in older GCC versions
|
||||
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ${CC} supports -Wformat-security, for CFLAGS" >&5
|
||||
|
@ -496,6 +496,8 @@ if test "$GCC" = yes -a "$ICC" = no; then
|
||||
PGAC_PROG_CXX_CFLAGS_OPT([-Wendif-labels])
|
||||
PGAC_PROG_CC_CFLAGS_OPT([-Wmissing-format-attribute])
|
||||
PGAC_PROG_CXX_CFLAGS_OPT([-Wmissing-format-attribute])
|
||||
PGAC_PROG_CC_CFLAGS_OPT([-Wimplicit-fallthrough=4])
|
||||
PGAC_PROG_CXX_CFLAGS_OPT([-Wimplicit-fallthrough=4])
|
||||
# This was included in -Wall/-Wformat in older GCC versions
|
||||
PGAC_PROG_CC_CFLAGS_OPT([-Wformat-security])
|
||||
PGAC_PROG_CXX_CFLAGS_OPT([-Wformat-security])
|
||||
|
@ -814,7 +814,7 @@ heapam_relation_copy_for_cluster(Relation OldHeap, Relation NewHeap,
|
||||
break;
|
||||
case HEAPTUPLE_RECENTLY_DEAD:
|
||||
*tups_recently_dead += 1;
|
||||
/* fall through */
|
||||
/* FALLTHROUGH */
|
||||
case HEAPTUPLE_LIVE:
|
||||
/* Live or recently dead, must copy it */
|
||||
isdead = false;
|
||||
|
@ -615,7 +615,7 @@ findDependentObjects(const ObjectAddress *object,
|
||||
break;
|
||||
|
||||
/* Otherwise, treat this like an internal dependency */
|
||||
/* FALL THRU */
|
||||
/* FALLTHROUGH */
|
||||
|
||||
case DEPENDENCY_INTERNAL:
|
||||
|
||||
|
@ -12467,7 +12467,7 @@ ATExecChangeOwner(Oid relationOid, Oid newOwnerId, bool recursing, LOCKMODE lock
|
||||
case RELKIND_TOASTVALUE:
|
||||
if (recursing)
|
||||
break;
|
||||
/* FALL THRU */
|
||||
/* FALLTHROUGH */
|
||||
default:
|
||||
ereport(ERROR,
|
||||
(errcode(ERRCODE_WRONG_OBJECT_TYPE),
|
||||
|
@ -3877,7 +3877,7 @@ AfterTriggerExecute(EState *estate,
|
||||
trig_tuple_slot2))
|
||||
elog(ERROR, "failed to fetch tuple2 for AFTER trigger");
|
||||
}
|
||||
/* fall through */
|
||||
/* FALLTHROUGH */
|
||||
case AFTER_TRIGGER_FDW_REUSE:
|
||||
|
||||
/*
|
||||
|
@ -256,7 +256,7 @@ MultiExecParallelHash(HashState *node)
|
||||
* way, wait for everyone to arrive here so we can proceed.
|
||||
*/
|
||||
BarrierArriveAndWait(build_barrier, WAIT_EVENT_HASH_BUILD_ALLOCATING);
|
||||
/* Fall through. */
|
||||
/* FALLTHROUGH */
|
||||
|
||||
case PHJ_BUILD_HASHING_INNER:
|
||||
|
||||
@ -1181,13 +1181,13 @@ ExecParallelHashIncreaseNumBatches(HashJoinTable hashtable)
|
||||
/* All other participants just flush their tuples to disk. */
|
||||
ExecParallelHashCloseBatchAccessors(hashtable);
|
||||
}
|
||||
/* Fall through. */
|
||||
/* FALLTHROUGH */
|
||||
|
||||
case PHJ_GROW_BATCHES_ALLOCATING:
|
||||
/* Wait for the above to be finished. */
|
||||
BarrierArriveAndWait(&pstate->grow_batches_barrier,
|
||||
WAIT_EVENT_HASH_GROW_BATCHES_ALLOCATING);
|
||||
/* Fall through. */
|
||||
/* FALLTHROUGH */
|
||||
|
||||
case PHJ_GROW_BATCHES_REPARTITIONING:
|
||||
/* Make sure that we have the current dimensions and buckets. */
|
||||
@ -1200,7 +1200,7 @@ ExecParallelHashIncreaseNumBatches(HashJoinTable hashtable)
|
||||
/* Wait for the above to be finished. */
|
||||
BarrierArriveAndWait(&pstate->grow_batches_barrier,
|
||||
WAIT_EVENT_HASH_GROW_BATCHES_REPARTITIONING);
|
||||
/* Fall through. */
|
||||
/* FALLTHROUGH */
|
||||
|
||||
case PHJ_GROW_BATCHES_DECIDING:
|
||||
|
||||
@ -1255,7 +1255,7 @@ ExecParallelHashIncreaseNumBatches(HashJoinTable hashtable)
|
||||
dsa_free(hashtable->area, pstate->old_batches);
|
||||
pstate->old_batches = InvalidDsaPointer;
|
||||
}
|
||||
/* Fall through. */
|
||||
/* FALLTHROUGH */
|
||||
|
||||
case PHJ_GROW_BATCHES_FINISHING:
|
||||
/* Wait for the above to complete. */
|
||||
@ -1533,13 +1533,13 @@ ExecParallelHashIncreaseNumBuckets(HashJoinTable hashtable)
|
||||
/* Clear the flag. */
|
||||
pstate->growth = PHJ_GROWTH_OK;
|
||||
}
|
||||
/* Fall through. */
|
||||
/* FALLTHROUGH */
|
||||
|
||||
case PHJ_GROW_BUCKETS_ALLOCATING:
|
||||
/* Wait for the above to complete. */
|
||||
BarrierArriveAndWait(&pstate->grow_buckets_barrier,
|
||||
WAIT_EVENT_HASH_GROW_BUCKETS_ALLOCATING);
|
||||
/* Fall through. */
|
||||
/* FALLTHROUGH */
|
||||
|
||||
case PHJ_GROW_BUCKETS_REINSERTING:
|
||||
/* Reinsert all tuples into the hash table. */
|
||||
|
@ -340,7 +340,7 @@ ExecHashJoinImpl(PlanState *pstate, bool parallel)
|
||||
else
|
||||
node->hj_JoinState = HJ_NEED_NEW_OUTER;
|
||||
|
||||
/* FALL THRU */
|
||||
/* FALLTHROUGH */
|
||||
|
||||
case HJ_NEED_NEW_OUTER:
|
||||
|
||||
@ -413,7 +413,7 @@ ExecHashJoinImpl(PlanState *pstate, bool parallel)
|
||||
/* OK, let's scan the bucket for matches */
|
||||
node->hj_JoinState = HJ_SCAN_BUCKET;
|
||||
|
||||
/* FALL THRU */
|
||||
/* FALLTHROUGH */
|
||||
|
||||
case HJ_SCAN_BUCKET:
|
||||
|
||||
@ -1137,13 +1137,13 @@ ExecParallelHashJoinNewBatch(HashJoinState *hjstate)
|
||||
if (BarrierArriveAndWait(batch_barrier,
|
||||
WAIT_EVENT_HASH_BATCH_ELECTING))
|
||||
ExecParallelHashTableAlloc(hashtable, batchno);
|
||||
/* Fall through. */
|
||||
/* FALLTHROUGH */
|
||||
|
||||
case PHJ_BATCH_ALLOCATING:
|
||||
/* Wait for allocation to complete. */
|
||||
BarrierArriveAndWait(batch_barrier,
|
||||
WAIT_EVENT_HASH_BATCH_ALLOCATING);
|
||||
/* Fall through. */
|
||||
/* FALLTHROUGH */
|
||||
|
||||
case PHJ_BATCH_LOADING:
|
||||
/* Start (or join in) loading tuples. */
|
||||
@ -1163,7 +1163,7 @@ ExecParallelHashJoinNewBatch(HashJoinState *hjstate)
|
||||
sts_end_parallel_scan(inner_tuples);
|
||||
BarrierArriveAndWait(batch_barrier,
|
||||
WAIT_EVENT_HASH_BATCH_LOADING);
|
||||
/* Fall through. */
|
||||
/* FALLTHROUGH */
|
||||
|
||||
case PHJ_BATCH_PROBING:
|
||||
|
||||
|
@ -69,7 +69,7 @@ ExecLimit(PlanState *pstate)
|
||||
*/
|
||||
recompute_limits(node);
|
||||
|
||||
/* FALL THRU */
|
||||
/* FALLTHROUGH */
|
||||
|
||||
case LIMIT_RESCAN:
|
||||
|
||||
@ -216,7 +216,7 @@ ExecLimit(PlanState *pstate)
|
||||
}
|
||||
|
||||
Assert(node->lstate == LIMIT_WINDOWEND_TIES);
|
||||
/* FALL THRU */
|
||||
/* FALLTHROUGH */
|
||||
|
||||
case LIMIT_WINDOWEND_TIES:
|
||||
if (ScanDirectionIsForward(direction))
|
||||
|
@ -2123,7 +2123,7 @@ pam_passwd_conv_proc(int num_msg, const struct pam_message **msg,
|
||||
ereport(LOG,
|
||||
(errmsg("error from underlying PAM layer: %s",
|
||||
msg[i]->msg)));
|
||||
/* FALL THROUGH */
|
||||
/* FALLTHROUGH */
|
||||
case PAM_TEXT_INFO:
|
||||
/* we don't bother to log TEXT_INFO messages */
|
||||
if ((reply[i].resp = strdup("")) == NULL)
|
||||
|
@ -1582,7 +1582,7 @@ find_nonnullable_rels_walker(Node *node, bool top_level)
|
||||
* the intersection of the sets of nonnullable rels, just as
|
||||
* for OR. Fall through to share code.
|
||||
*/
|
||||
/* FALL THRU */
|
||||
/* FALLTHROUGH */
|
||||
case OR_EXPR:
|
||||
|
||||
/*
|
||||
@ -1807,7 +1807,7 @@ find_nonnullable_vars_walker(Node *node, bool top_level)
|
||||
* the intersection of the sets of nonnullable vars, just as
|
||||
* for OR. Fall through to share code.
|
||||
*/
|
||||
/* FALL THRU */
|
||||
/* FALLTHROUGH */
|
||||
case OR_EXPR:
|
||||
|
||||
/*
|
||||
|
@ -737,7 +737,7 @@ transformColumnDefinition(CreateStmtContext *cxt, ColumnDef *column)
|
||||
errmsg("primary key constraints are not supported on foreign tables"),
|
||||
parser_errposition(cxt->pstate,
|
||||
constraint->location)));
|
||||
/* FALL THRU */
|
||||
/* FALLTHROUGH */
|
||||
|
||||
case CONSTR_UNIQUE:
|
||||
if (cxt->isforeign)
|
||||
|
@ -2571,7 +2571,7 @@ get_matching_list_bounds(PartitionPruneContext *context,
|
||||
|
||||
case BTGreaterEqualStrategyNumber:
|
||||
inclusive = true;
|
||||
/* fall through */
|
||||
/* FALLTHROUGH */
|
||||
case BTGreaterStrategyNumber:
|
||||
off = partition_list_bsearch(partsupfunc,
|
||||
partcollation,
|
||||
@ -2606,7 +2606,7 @@ get_matching_list_bounds(PartitionPruneContext *context,
|
||||
|
||||
case BTLessEqualStrategyNumber:
|
||||
inclusive = true;
|
||||
/* fall through */
|
||||
/* FALLTHROUGH */
|
||||
case BTLessStrategyNumber:
|
||||
off = partition_list_bsearch(partsupfunc,
|
||||
partcollation,
|
||||
@ -2853,7 +2853,7 @@ get_matching_range_bounds(PartitionPruneContext *context,
|
||||
|
||||
case BTGreaterEqualStrategyNumber:
|
||||
inclusive = true;
|
||||
/* fall through */
|
||||
/* FALLTHROUGH */
|
||||
case BTGreaterStrategyNumber:
|
||||
|
||||
/*
|
||||
@ -2934,7 +2934,7 @@ get_matching_range_bounds(PartitionPruneContext *context,
|
||||
|
||||
case BTLessEqualStrategyNumber:
|
||||
inclusive = true;
|
||||
/* fall through */
|
||||
/* FALLTHROUGH */
|
||||
case BTLessStrategyNumber:
|
||||
|
||||
/*
|
||||
|
@ -5902,19 +5902,19 @@ bgworker_should_start_now(BgWorkerStartTime start_time)
|
||||
case PM_RUN:
|
||||
if (start_time == BgWorkerStart_RecoveryFinished)
|
||||
return true;
|
||||
/* fall through */
|
||||
/* FALLTHROUGH */
|
||||
|
||||
case PM_HOT_STANDBY:
|
||||
if (start_time == BgWorkerStart_ConsistentState)
|
||||
return true;
|
||||
/* fall through */
|
||||
/* FALLTHROUGH */
|
||||
|
||||
case PM_RECOVERY:
|
||||
case PM_STARTUP:
|
||||
case PM_INIT:
|
||||
if (start_time == BgWorkerStart_PostmasterStart)
|
||||
return true;
|
||||
/* fall through */
|
||||
/* FALLTHROUGH */
|
||||
|
||||
}
|
||||
|
||||
|
@ -303,7 +303,7 @@ pg_wc_isdigit(pg_wchar c)
|
||||
case PG_REGEX_LOCALE_WIDE:
|
||||
if (sizeof(wchar_t) >= 4 || c <= (pg_wchar) 0xFFFF)
|
||||
return iswdigit((wint_t) c);
|
||||
/* FALL THRU */
|
||||
/* FALLTHROUGH */
|
||||
case PG_REGEX_LOCALE_1BYTE:
|
||||
return (c <= (pg_wchar) UCHAR_MAX &&
|
||||
isdigit((unsigned char) c));
|
||||
@ -312,7 +312,7 @@ pg_wc_isdigit(pg_wchar c)
|
||||
if (sizeof(wchar_t) >= 4 || c <= (pg_wchar) 0xFFFF)
|
||||
return iswdigit_l((wint_t) c, pg_regex_locale->info.lt);
|
||||
#endif
|
||||
/* FALL THRU */
|
||||
/* FALLTHROUGH */
|
||||
case PG_REGEX_LOCALE_1BYTE_L:
|
||||
#ifdef HAVE_LOCALE_T
|
||||
return (c <= (pg_wchar) UCHAR_MAX &&
|
||||
@ -339,7 +339,7 @@ pg_wc_isalpha(pg_wchar c)
|
||||
case PG_REGEX_LOCALE_WIDE:
|
||||
if (sizeof(wchar_t) >= 4 || c <= (pg_wchar) 0xFFFF)
|
||||
return iswalpha((wint_t) c);
|
||||
/* FALL THRU */
|
||||
/* FALLTHROUGH */
|
||||
case PG_REGEX_LOCALE_1BYTE:
|
||||
return (c <= (pg_wchar) UCHAR_MAX &&
|
||||
isalpha((unsigned char) c));
|
||||
@ -348,7 +348,7 @@ pg_wc_isalpha(pg_wchar c)
|
||||
if (sizeof(wchar_t) >= 4 || c <= (pg_wchar) 0xFFFF)
|
||||
return iswalpha_l((wint_t) c, pg_regex_locale->info.lt);
|
||||
#endif
|
||||
/* FALL THRU */
|
||||
/* FALLTHROUGH */
|
||||
case PG_REGEX_LOCALE_1BYTE_L:
|
||||
#ifdef HAVE_LOCALE_T
|
||||
return (c <= (pg_wchar) UCHAR_MAX &&
|
||||
@ -375,7 +375,7 @@ pg_wc_isalnum(pg_wchar c)
|
||||
case PG_REGEX_LOCALE_WIDE:
|
||||
if (sizeof(wchar_t) >= 4 || c <= (pg_wchar) 0xFFFF)
|
||||
return iswalnum((wint_t) c);
|
||||
/* FALL THRU */
|
||||
/* FALLTHROUGH */
|
||||
case PG_REGEX_LOCALE_1BYTE:
|
||||
return (c <= (pg_wchar) UCHAR_MAX &&
|
||||
isalnum((unsigned char) c));
|
||||
@ -384,7 +384,7 @@ pg_wc_isalnum(pg_wchar c)
|
||||
if (sizeof(wchar_t) >= 4 || c <= (pg_wchar) 0xFFFF)
|
||||
return iswalnum_l((wint_t) c, pg_regex_locale->info.lt);
|
||||
#endif
|
||||
/* FALL THRU */
|
||||
/* FALLTHROUGH */
|
||||
case PG_REGEX_LOCALE_1BYTE_L:
|
||||
#ifdef HAVE_LOCALE_T
|
||||
return (c <= (pg_wchar) UCHAR_MAX &&
|
||||
@ -411,7 +411,7 @@ pg_wc_isupper(pg_wchar c)
|
||||
case PG_REGEX_LOCALE_WIDE:
|
||||
if (sizeof(wchar_t) >= 4 || c <= (pg_wchar) 0xFFFF)
|
||||
return iswupper((wint_t) c);
|
||||
/* FALL THRU */
|
||||
/* FALLTHROUGH */
|
||||
case PG_REGEX_LOCALE_1BYTE:
|
||||
return (c <= (pg_wchar) UCHAR_MAX &&
|
||||
isupper((unsigned char) c));
|
||||
@ -420,7 +420,7 @@ pg_wc_isupper(pg_wchar c)
|
||||
if (sizeof(wchar_t) >= 4 || c <= (pg_wchar) 0xFFFF)
|
||||
return iswupper_l((wint_t) c, pg_regex_locale->info.lt);
|
||||
#endif
|
||||
/* FALL THRU */
|
||||
/* FALLTHROUGH */
|
||||
case PG_REGEX_LOCALE_1BYTE_L:
|
||||
#ifdef HAVE_LOCALE_T
|
||||
return (c <= (pg_wchar) UCHAR_MAX &&
|
||||
@ -447,7 +447,7 @@ pg_wc_islower(pg_wchar c)
|
||||
case PG_REGEX_LOCALE_WIDE:
|
||||
if (sizeof(wchar_t) >= 4 || c <= (pg_wchar) 0xFFFF)
|
||||
return iswlower((wint_t) c);
|
||||
/* FALL THRU */
|
||||
/* FALLTHROUGH */
|
||||
case PG_REGEX_LOCALE_1BYTE:
|
||||
return (c <= (pg_wchar) UCHAR_MAX &&
|
||||
islower((unsigned char) c));
|
||||
@ -456,7 +456,7 @@ pg_wc_islower(pg_wchar c)
|
||||
if (sizeof(wchar_t) >= 4 || c <= (pg_wchar) 0xFFFF)
|
||||
return iswlower_l((wint_t) c, pg_regex_locale->info.lt);
|
||||
#endif
|
||||
/* FALL THRU */
|
||||
/* FALLTHROUGH */
|
||||
case PG_REGEX_LOCALE_1BYTE_L:
|
||||
#ifdef HAVE_LOCALE_T
|
||||
return (c <= (pg_wchar) UCHAR_MAX &&
|
||||
@ -483,7 +483,7 @@ pg_wc_isgraph(pg_wchar c)
|
||||
case PG_REGEX_LOCALE_WIDE:
|
||||
if (sizeof(wchar_t) >= 4 || c <= (pg_wchar) 0xFFFF)
|
||||
return iswgraph((wint_t) c);
|
||||
/* FALL THRU */
|
||||
/* FALLTHROUGH */
|
||||
case PG_REGEX_LOCALE_1BYTE:
|
||||
return (c <= (pg_wchar) UCHAR_MAX &&
|
||||
isgraph((unsigned char) c));
|
||||
@ -492,7 +492,7 @@ pg_wc_isgraph(pg_wchar c)
|
||||
if (sizeof(wchar_t) >= 4 || c <= (pg_wchar) 0xFFFF)
|
||||
return iswgraph_l((wint_t) c, pg_regex_locale->info.lt);
|
||||
#endif
|
||||
/* FALL THRU */
|
||||
/* FALLTHROUGH */
|
||||
case PG_REGEX_LOCALE_1BYTE_L:
|
||||
#ifdef HAVE_LOCALE_T
|
||||
return (c <= (pg_wchar) UCHAR_MAX &&
|
||||
@ -519,7 +519,7 @@ pg_wc_isprint(pg_wchar c)
|
||||
case PG_REGEX_LOCALE_WIDE:
|
||||
if (sizeof(wchar_t) >= 4 || c <= (pg_wchar) 0xFFFF)
|
||||
return iswprint((wint_t) c);
|
||||
/* FALL THRU */
|
||||
/* FALLTHROUGH */
|
||||
case PG_REGEX_LOCALE_1BYTE:
|
||||
return (c <= (pg_wchar) UCHAR_MAX &&
|
||||
isprint((unsigned char) c));
|
||||
@ -528,7 +528,7 @@ pg_wc_isprint(pg_wchar c)
|
||||
if (sizeof(wchar_t) >= 4 || c <= (pg_wchar) 0xFFFF)
|
||||
return iswprint_l((wint_t) c, pg_regex_locale->info.lt);
|
||||
#endif
|
||||
/* FALL THRU */
|
||||
/* FALLTHROUGH */
|
||||
case PG_REGEX_LOCALE_1BYTE_L:
|
||||
#ifdef HAVE_LOCALE_T
|
||||
return (c <= (pg_wchar) UCHAR_MAX &&
|
||||
@ -555,7 +555,7 @@ pg_wc_ispunct(pg_wchar c)
|
||||
case PG_REGEX_LOCALE_WIDE:
|
||||
if (sizeof(wchar_t) >= 4 || c <= (pg_wchar) 0xFFFF)
|
||||
return iswpunct((wint_t) c);
|
||||
/* FALL THRU */
|
||||
/* FALLTHROUGH */
|
||||
case PG_REGEX_LOCALE_1BYTE:
|
||||
return (c <= (pg_wchar) UCHAR_MAX &&
|
||||
ispunct((unsigned char) c));
|
||||
@ -564,7 +564,7 @@ pg_wc_ispunct(pg_wchar c)
|
||||
if (sizeof(wchar_t) >= 4 || c <= (pg_wchar) 0xFFFF)
|
||||
return iswpunct_l((wint_t) c, pg_regex_locale->info.lt);
|
||||
#endif
|
||||
/* FALL THRU */
|
||||
/* FALLTHROUGH */
|
||||
case PG_REGEX_LOCALE_1BYTE_L:
|
||||
#ifdef HAVE_LOCALE_T
|
||||
return (c <= (pg_wchar) UCHAR_MAX &&
|
||||
@ -591,7 +591,7 @@ pg_wc_isspace(pg_wchar c)
|
||||
case PG_REGEX_LOCALE_WIDE:
|
||||
if (sizeof(wchar_t) >= 4 || c <= (pg_wchar) 0xFFFF)
|
||||
return iswspace((wint_t) c);
|
||||
/* FALL THRU */
|
||||
/* FALLTHROUGH */
|
||||
case PG_REGEX_LOCALE_1BYTE:
|
||||
return (c <= (pg_wchar) UCHAR_MAX &&
|
||||
isspace((unsigned char) c));
|
||||
@ -600,7 +600,7 @@ pg_wc_isspace(pg_wchar c)
|
||||
if (sizeof(wchar_t) >= 4 || c <= (pg_wchar) 0xFFFF)
|
||||
return iswspace_l((wint_t) c, pg_regex_locale->info.lt);
|
||||
#endif
|
||||
/* FALL THRU */
|
||||
/* FALLTHROUGH */
|
||||
case PG_REGEX_LOCALE_1BYTE_L:
|
||||
#ifdef HAVE_LOCALE_T
|
||||
return (c <= (pg_wchar) UCHAR_MAX &&
|
||||
@ -631,7 +631,7 @@ pg_wc_toupper(pg_wchar c)
|
||||
return pg_ascii_toupper((unsigned char) c);
|
||||
if (sizeof(wchar_t) >= 4 || c <= (pg_wchar) 0xFFFF)
|
||||
return towupper((wint_t) c);
|
||||
/* FALL THRU */
|
||||
/* FALLTHROUGH */
|
||||
case PG_REGEX_LOCALE_1BYTE:
|
||||
/* force C behavior for ASCII characters, per comments above */
|
||||
if (c <= (pg_wchar) 127)
|
||||
@ -644,7 +644,7 @@ pg_wc_toupper(pg_wchar c)
|
||||
if (sizeof(wchar_t) >= 4 || c <= (pg_wchar) 0xFFFF)
|
||||
return towupper_l((wint_t) c, pg_regex_locale->info.lt);
|
||||
#endif
|
||||
/* FALL THRU */
|
||||
/* FALLTHROUGH */
|
||||
case PG_REGEX_LOCALE_1BYTE_L:
|
||||
#ifdef HAVE_LOCALE_T
|
||||
if (c <= (pg_wchar) UCHAR_MAX)
|
||||
@ -675,7 +675,7 @@ pg_wc_tolower(pg_wchar c)
|
||||
return pg_ascii_tolower((unsigned char) c);
|
||||
if (sizeof(wchar_t) >= 4 || c <= (pg_wchar) 0xFFFF)
|
||||
return towlower((wint_t) c);
|
||||
/* FALL THRU */
|
||||
/* FALLTHROUGH */
|
||||
case PG_REGEX_LOCALE_1BYTE:
|
||||
/* force C behavior for ASCII characters, per comments above */
|
||||
if (c <= (pg_wchar) 127)
|
||||
@ -688,7 +688,7 @@ pg_wc_tolower(pg_wchar c)
|
||||
if (sizeof(wchar_t) >= 4 || c <= (pg_wchar) 0xFFFF)
|
||||
return towlower_l((wint_t) c, pg_regex_locale->info.lt);
|
||||
#endif
|
||||
/* FALL THRU */
|
||||
/* FALLTHROUGH */
|
||||
case PG_REGEX_LOCALE_1BYTE_L:
|
||||
#ifdef HAVE_LOCALE_T
|
||||
if (c <= (pg_wchar) UCHAR_MAX)
|
||||
|
@ -1589,7 +1589,7 @@ ReorderBufferCommit(ReorderBuffer *rb, TransactionId xid,
|
||||
change = specinsert;
|
||||
change->action = REORDER_BUFFER_CHANGE_INSERT;
|
||||
|
||||
/* intentionally fall through */
|
||||
/* FALLTHROUGH */
|
||||
case REORDER_BUFFER_CHANGE_INSERT:
|
||||
case REORDER_BUFFER_CHANGE_UPDATE:
|
||||
case REORDER_BUFFER_CHANGE_DELETE:
|
||||
|
@ -215,7 +215,7 @@ WalReceiverMain(void)
|
||||
case WALRCV_STOPPING:
|
||||
/* If we've already been requested to stop, don't start up. */
|
||||
walrcv->walRcvState = WALRCV_STOPPED;
|
||||
/* fall through */
|
||||
/* FALLTHROUGH */
|
||||
|
||||
case WALRCV_STOPPED:
|
||||
SpinLockRelease(&walrcv->mutex);
|
||||
|
@ -183,7 +183,7 @@ ShutdownWalRcv(void)
|
||||
case WALRCV_WAITING:
|
||||
case WALRCV_RESTARTING:
|
||||
walrcv->walRcvState = WALRCV_STOPPING;
|
||||
/* fall through */
|
||||
/* FALLTHROUGH */
|
||||
case WALRCV_STOPPING:
|
||||
walrcvpid = walrcv->pid;
|
||||
break;
|
||||
|
@ -1883,7 +1883,7 @@ ExecDropStmt(DropStmt *stmt, bool isTopLevel)
|
||||
if (stmt->concurrent)
|
||||
PreventInTransactionBlock(isTopLevel,
|
||||
"DROP INDEX CONCURRENTLY");
|
||||
/* fall through */
|
||||
/* FALLTHROUGH */
|
||||
|
||||
case OBJECT_TABLE:
|
||||
case OBJECT_SEQUENCE:
|
||||
|
@ -3425,7 +3425,7 @@ DCH_from_char(FormatNode *node, const char *in, TmFromChar *out,
|
||||
case DCH_FF5:
|
||||
case DCH_FF6:
|
||||
out->ff = n->key->id - DCH_FF1 + 1;
|
||||
/* fall through */
|
||||
/* FALLTHROUGH */
|
||||
case DCH_US: /* microsecond */
|
||||
len = from_char_parse_int_len(&out->us, &s,
|
||||
n->key->id == DCH_US ? 6 :
|
||||
|
@ -637,7 +637,7 @@ pushJsonbValueScalar(JsonbParseState **pstate, JsonbIteratorToken seq,
|
||||
break;
|
||||
case WJB_END_OBJECT:
|
||||
uniqueifyJsonbObject(&(*pstate)->contVal);
|
||||
/* fall through! */
|
||||
/* FALLTHROUGH */
|
||||
case WJB_END_ARRAY:
|
||||
/* Steps here common to WJB_END_OBJECT case */
|
||||
Assert(!scalarVal);
|
||||
|
@ -3866,14 +3866,14 @@ timestamp_trunc(PG_FUNCTION_ARGS)
|
||||
tm->tm_year = ((tm->tm_year + 999) / 1000) * 1000 - 999;
|
||||
else
|
||||
tm->tm_year = -((999 - (tm->tm_year - 1)) / 1000) * 1000 + 1;
|
||||
/* FALL THRU */
|
||||
/* FALLTHROUGH */
|
||||
case DTK_CENTURY:
|
||||
/* see comments in timestamptz_trunc */
|
||||
if (tm->tm_year > 0)
|
||||
tm->tm_year = ((tm->tm_year + 99) / 100) * 100 - 99;
|
||||
else
|
||||
tm->tm_year = -((99 - (tm->tm_year - 1)) / 100) * 100 + 1;
|
||||
/* FALL THRU */
|
||||
/* FALLTHROUGH */
|
||||
case DTK_DECADE:
|
||||
/* see comments in timestamptz_trunc */
|
||||
if (val != DTK_MILLENNIUM && val != DTK_CENTURY)
|
||||
@ -3883,25 +3883,25 @@ timestamp_trunc(PG_FUNCTION_ARGS)
|
||||
else
|
||||
tm->tm_year = -((8 - (tm->tm_year - 1)) / 10) * 10;
|
||||
}
|
||||
/* FALL THRU */
|
||||
/* FALLTHROUGH */
|
||||
case DTK_YEAR:
|
||||
tm->tm_mon = 1;
|
||||
/* FALL THRU */
|
||||
/* FALLTHROUGH */
|
||||
case DTK_QUARTER:
|
||||
tm->tm_mon = (3 * ((tm->tm_mon - 1) / 3)) + 1;
|
||||
/* FALL THRU */
|
||||
/* FALLTHROUGH */
|
||||
case DTK_MONTH:
|
||||
tm->tm_mday = 1;
|
||||
/* FALL THRU */
|
||||
/* FALLTHROUGH */
|
||||
case DTK_DAY:
|
||||
tm->tm_hour = 0;
|
||||
/* FALL THRU */
|
||||
/* FALLTHROUGH */
|
||||
case DTK_HOUR:
|
||||
tm->tm_min = 0;
|
||||
/* FALL THRU */
|
||||
/* FALLTHROUGH */
|
||||
case DTK_MINUTE:
|
||||
tm->tm_sec = 0;
|
||||
/* FALL THRU */
|
||||
/* FALLTHROUGH */
|
||||
case DTK_SECOND:
|
||||
fsec = 0;
|
||||
break;
|
||||
@ -4007,14 +4007,14 @@ timestamptz_trunc_internal(text *units, TimestampTz timestamp, pg_tz *tzp)
|
||||
tm->tm_year = ((tm->tm_year + 999) / 1000) * 1000 - 999;
|
||||
else
|
||||
tm->tm_year = -((999 - (tm->tm_year - 1)) / 1000) * 1000 + 1;
|
||||
/* FALL THRU */
|
||||
/* FALLTHROUGH */
|
||||
case DTK_CENTURY:
|
||||
/* truncating to the century? as above: -100, 1, 101... */
|
||||
if (tm->tm_year > 0)
|
||||
tm->tm_year = ((tm->tm_year + 99) / 100) * 100 - 99;
|
||||
else
|
||||
tm->tm_year = -((99 - (tm->tm_year - 1)) / 100) * 100 + 1;
|
||||
/* FALL THRU */
|
||||
/* FALLTHROUGH */
|
||||
case DTK_DECADE:
|
||||
|
||||
/*
|
||||
@ -4028,26 +4028,26 @@ timestamptz_trunc_internal(text *units, TimestampTz timestamp, pg_tz *tzp)
|
||||
else
|
||||
tm->tm_year = -((8 - (tm->tm_year - 1)) / 10) * 10;
|
||||
}
|
||||
/* FALL THRU */
|
||||
/* FALLTHROUGH */
|
||||
case DTK_YEAR:
|
||||
tm->tm_mon = 1;
|
||||
/* FALL THRU */
|
||||
/* FALLTHROUGH */
|
||||
case DTK_QUARTER:
|
||||
tm->tm_mon = (3 * ((tm->tm_mon - 1) / 3)) + 1;
|
||||
/* FALL THRU */
|
||||
/* FALLTHROUGH */
|
||||
case DTK_MONTH:
|
||||
tm->tm_mday = 1;
|
||||
/* FALL THRU */
|
||||
/* FALLTHROUGH */
|
||||
case DTK_DAY:
|
||||
tm->tm_hour = 0;
|
||||
redotz = true; /* for all cases >= DAY */
|
||||
/* FALL THRU */
|
||||
/* FALLTHROUGH */
|
||||
case DTK_HOUR:
|
||||
tm->tm_min = 0;
|
||||
/* FALL THRU */
|
||||
/* FALLTHROUGH */
|
||||
case DTK_MINUTE:
|
||||
tm->tm_sec = 0;
|
||||
/* FALL THRU */
|
||||
/* FALLTHROUGH */
|
||||
case DTK_SECOND:
|
||||
fsec = 0;
|
||||
break;
|
||||
@ -4195,33 +4195,33 @@ interval_trunc(PG_FUNCTION_ARGS)
|
||||
case DTK_MILLENNIUM:
|
||||
/* caution: C division may have negative remainder */
|
||||
tm->tm_year = (tm->tm_year / 1000) * 1000;
|
||||
/* FALL THRU */
|
||||
/* FALLTHROUGH */
|
||||
case DTK_CENTURY:
|
||||
/* caution: C division may have negative remainder */
|
||||
tm->tm_year = (tm->tm_year / 100) * 100;
|
||||
/* FALL THRU */
|
||||
/* FALLTHROUGH */
|
||||
case DTK_DECADE:
|
||||
/* caution: C division may have negative remainder */
|
||||
tm->tm_year = (tm->tm_year / 10) * 10;
|
||||
/* FALL THRU */
|
||||
/* FALLTHROUGH */
|
||||
case DTK_YEAR:
|
||||
tm->tm_mon = 0;
|
||||
/* FALL THRU */
|
||||
/* FALLTHROUGH */
|
||||
case DTK_QUARTER:
|
||||
tm->tm_mon = 3 * (tm->tm_mon / 3);
|
||||
/* FALL THRU */
|
||||
/* FALLTHROUGH */
|
||||
case DTK_MONTH:
|
||||
tm->tm_mday = 0;
|
||||
/* FALL THRU */
|
||||
/* FALLTHROUGH */
|
||||
case DTK_DAY:
|
||||
tm->tm_hour = 0;
|
||||
/* FALL THRU */
|
||||
/* FALLTHROUGH */
|
||||
case DTK_HOUR:
|
||||
tm->tm_min = 0;
|
||||
/* FALL THRU */
|
||||
/* FALLTHROUGH */
|
||||
case DTK_MINUTE:
|
||||
tm->tm_sec = 0;
|
||||
/* FALL THRU */
|
||||
/* FALLTHROUGH */
|
||||
case DTK_SECOND:
|
||||
fsec = 0;
|
||||
break;
|
||||
|
@ -264,7 +264,7 @@ TS_execute_ternary(GinChkVal *gcv, QueryItem *curitem, bool in_phrase)
|
||||
/* Pass down in_phrase == true in case there's a NOT below */
|
||||
in_phrase = true;
|
||||
|
||||
/* FALL THRU */
|
||||
/* FALLTHROUGH */
|
||||
|
||||
case OP_AND:
|
||||
val1 = TS_execute_ternary(gcv, curitem + curitem->qoperator.left,
|
||||
|
@ -1042,7 +1042,7 @@ hash_search_with_hash_value(HTAB *hashp,
|
||||
case HASH_ENTER_NULL:
|
||||
/* ENTER_NULL does not work with palloc-based allocator */
|
||||
Assert(hashp->alloc != DynaHashAlloc);
|
||||
/* FALL THRU */
|
||||
/* FALLTHROUGH */
|
||||
|
||||
case HASH_ENTER:
|
||||
/* Return existing element if found, else create one */
|
||||
|
@ -1263,7 +1263,7 @@ pg_utf8_increment(unsigned char *charptr, int length)
|
||||
charptr[3]++;
|
||||
break;
|
||||
}
|
||||
/* FALL THRU */
|
||||
/* FALLTHROUGH */
|
||||
case 3:
|
||||
a = charptr[2];
|
||||
if (a < 0xBF)
|
||||
@ -1271,7 +1271,7 @@ pg_utf8_increment(unsigned char *charptr, int length)
|
||||
charptr[2]++;
|
||||
break;
|
||||
}
|
||||
/* FALL THRU */
|
||||
/* FALLTHROUGH */
|
||||
case 2:
|
||||
a = charptr[1];
|
||||
switch (*charptr)
|
||||
@ -1291,7 +1291,7 @@ pg_utf8_increment(unsigned char *charptr, int length)
|
||||
charptr[1]++;
|
||||
break;
|
||||
}
|
||||
/* FALL THRU */
|
||||
/* FALLTHROUGH */
|
||||
case 1:
|
||||
a = *charptr;
|
||||
if (a == 0x7F || a == 0xDF || a == 0xEF || a == 0xF4)
|
||||
|
@ -8436,7 +8436,7 @@ ExecSetVariableStmt(VariableSetStmt *stmt, bool isTopLevel)
|
||||
case VAR_SET_DEFAULT:
|
||||
if (stmt->is_local)
|
||||
WarnNoTransactionBlock(isTopLevel, "SET LOCAL");
|
||||
/* fall through */
|
||||
/* FALLTHROUGH */
|
||||
case VAR_RESET:
|
||||
if (strcmp(stmt->name, "transaction_isolation") == 0)
|
||||
WarnNoTransactionBlock(isTopLevel, "RESET TRANSACTION");
|
||||
|
@ -178,13 +178,13 @@ hash_bytes(const unsigned char *k, int keylen)
|
||||
{
|
||||
case 11:
|
||||
c += ((uint32) k[10] << 8);
|
||||
/* fall through */
|
||||
/* FALLTHROUGH */
|
||||
case 10:
|
||||
c += ((uint32) k[9] << 16);
|
||||
/* fall through */
|
||||
/* FALLTHROUGH */
|
||||
case 9:
|
||||
c += ((uint32) k[8] << 24);
|
||||
/* fall through */
|
||||
/* FALLTHROUGH */
|
||||
case 8:
|
||||
/* the lowest byte of c is reserved for the length */
|
||||
b += ka[1];
|
||||
@ -192,22 +192,22 @@ hash_bytes(const unsigned char *k, int keylen)
|
||||
break;
|
||||
case 7:
|
||||
b += ((uint32) k[6] << 8);
|
||||
/* fall through */
|
||||
/* FALLTHROUGH */
|
||||
case 6:
|
||||
b += ((uint32) k[5] << 16);
|
||||
/* fall through */
|
||||
/* FALLTHROUGH */
|
||||
case 5:
|
||||
b += ((uint32) k[4] << 24);
|
||||
/* fall through */
|
||||
/* FALLTHROUGH */
|
||||
case 4:
|
||||
a += ka[0];
|
||||
break;
|
||||
case 3:
|
||||
a += ((uint32) k[2] << 8);
|
||||
/* fall through */
|
||||
/* FALLTHROUGH */
|
||||
case 2:
|
||||
a += ((uint32) k[1] << 16);
|
||||
/* fall through */
|
||||
/* FALLTHROUGH */
|
||||
case 1:
|
||||
a += ((uint32) k[0] << 24);
|
||||
/* case 0: nothing left to add */
|
||||
@ -217,13 +217,13 @@ hash_bytes(const unsigned char *k, int keylen)
|
||||
{
|
||||
case 11:
|
||||
c += ((uint32) k[10] << 24);
|
||||
/* fall through */
|
||||
/* FALLTHROUGH */
|
||||
case 10:
|
||||
c += ((uint32) k[9] << 16);
|
||||
/* fall through */
|
||||
/* FALLTHROUGH */
|
||||
case 9:
|
||||
c += ((uint32) k[8] << 8);
|
||||
/* fall through */
|
||||
/* FALLTHROUGH */
|
||||
case 8:
|
||||
/* the lowest byte of c is reserved for the length */
|
||||
b += ka[1];
|
||||
@ -231,22 +231,22 @@ hash_bytes(const unsigned char *k, int keylen)
|
||||
break;
|
||||
case 7:
|
||||
b += ((uint32) k[6] << 16);
|
||||
/* fall through */
|
||||
/* FALLTHROUGH */
|
||||
case 6:
|
||||
b += ((uint32) k[5] << 8);
|
||||
/* fall through */
|
||||
/* FALLTHROUGH */
|
||||
case 5:
|
||||
b += k[4];
|
||||
/* fall through */
|
||||
/* FALLTHROUGH */
|
||||
case 4:
|
||||
a += ka[0];
|
||||
break;
|
||||
case 3:
|
||||
a += ((uint32) k[2] << 16);
|
||||
/* fall through */
|
||||
/* FALLTHROUGH */
|
||||
case 2:
|
||||
a += ((uint32) k[1] << 8);
|
||||
/* fall through */
|
||||
/* FALLTHROUGH */
|
||||
case 1:
|
||||
a += k[0];
|
||||
/* case 0: nothing left to add */
|
||||
@ -280,35 +280,35 @@ hash_bytes(const unsigned char *k, int keylen)
|
||||
{
|
||||
case 11:
|
||||
c += ((uint32) k[10] << 8);
|
||||
/* fall through */
|
||||
/* FALLTHROUGH */
|
||||
case 10:
|
||||
c += ((uint32) k[9] << 16);
|
||||
/* fall through */
|
||||
/* FALLTHROUGH */
|
||||
case 9:
|
||||
c += ((uint32) k[8] << 24);
|
||||
/* fall through */
|
||||
/* FALLTHROUGH */
|
||||
case 8:
|
||||
/* the lowest byte of c is reserved for the length */
|
||||
b += k[7];
|
||||
/* fall through */
|
||||
/* FALLTHROUGH */
|
||||
case 7:
|
||||
b += ((uint32) k[6] << 8);
|
||||
/* fall through */
|
||||
/* FALLTHROUGH */
|
||||
case 6:
|
||||
b += ((uint32) k[5] << 16);
|
||||
/* fall through */
|
||||
/* FALLTHROUGH */
|
||||
case 5:
|
||||
b += ((uint32) k[4] << 24);
|
||||
/* fall through */
|
||||
/* FALLTHROUGH */
|
||||
case 4:
|
||||
a += k[3];
|
||||
/* fall through */
|
||||
/* FALLTHROUGH */
|
||||
case 3:
|
||||
a += ((uint32) k[2] << 8);
|
||||
/* fall through */
|
||||
/* FALLTHROUGH */
|
||||
case 2:
|
||||
a += ((uint32) k[1] << 16);
|
||||
/* fall through */
|
||||
/* FALLTHROUGH */
|
||||
case 1:
|
||||
a += ((uint32) k[0] << 24);
|
||||
/* case 0: nothing left to add */
|
||||
@ -318,35 +318,35 @@ hash_bytes(const unsigned char *k, int keylen)
|
||||
{
|
||||
case 11:
|
||||
c += ((uint32) k[10] << 24);
|
||||
/* fall through */
|
||||
/* FALLTHROUGH */
|
||||
case 10:
|
||||
c += ((uint32) k[9] << 16);
|
||||
/* fall through */
|
||||
/* FALLTHROUGH */
|
||||
case 9:
|
||||
c += ((uint32) k[8] << 8);
|
||||
/* fall through */
|
||||
/* FALLTHROUGH */
|
||||
case 8:
|
||||
/* the lowest byte of c is reserved for the length */
|
||||
b += ((uint32) k[7] << 24);
|
||||
/* fall through */
|
||||
/* FALLTHROUGH */
|
||||
case 7:
|
||||
b += ((uint32) k[6] << 16);
|
||||
/* fall through */
|
||||
/* FALLTHROUGH */
|
||||
case 6:
|
||||
b += ((uint32) k[5] << 8);
|
||||
/* fall through */
|
||||
/* FALLTHROUGH */
|
||||
case 5:
|
||||
b += k[4];
|
||||
/* fall through */
|
||||
/* FALLTHROUGH */
|
||||
case 4:
|
||||
a += ((uint32) k[3] << 24);
|
||||
/* fall through */
|
||||
/* FALLTHROUGH */
|
||||
case 3:
|
||||
a += ((uint32) k[2] << 16);
|
||||
/* fall through */
|
||||
/* FALLTHROUGH */
|
||||
case 2:
|
||||
a += ((uint32) k[1] << 8);
|
||||
/* fall through */
|
||||
/* FALLTHROUGH */
|
||||
case 1:
|
||||
a += k[0];
|
||||
/* case 0: nothing left to add */
|
||||
@ -417,13 +417,13 @@ hash_bytes_extended(const unsigned char *k, int keylen, uint64 seed)
|
||||
{
|
||||
case 11:
|
||||
c += ((uint32) k[10] << 8);
|
||||
/* fall through */
|
||||
/* FALLTHROUGH */
|
||||
case 10:
|
||||
c += ((uint32) k[9] << 16);
|
||||
/* fall through */
|
||||
/* FALLTHROUGH */
|
||||
case 9:
|
||||
c += ((uint32) k[8] << 24);
|
||||
/* fall through */
|
||||
/* FALLTHROUGH */
|
||||
case 8:
|
||||
/* the lowest byte of c is reserved for the length */
|
||||
b += ka[1];
|
||||
@ -431,22 +431,22 @@ hash_bytes_extended(const unsigned char *k, int keylen, uint64 seed)
|
||||
break;
|
||||
case 7:
|
||||
b += ((uint32) k[6] << 8);
|
||||
/* fall through */
|
||||
/* FALLTHROUGH */
|
||||
case 6:
|
||||
b += ((uint32) k[5] << 16);
|
||||
/* fall through */
|
||||
/* FALLTHROUGH */
|
||||
case 5:
|
||||
b += ((uint32) k[4] << 24);
|
||||
/* fall through */
|
||||
/* FALLTHROUGH */
|
||||
case 4:
|
||||
a += ka[0];
|
||||
break;
|
||||
case 3:
|
||||
a += ((uint32) k[2] << 8);
|
||||
/* fall through */
|
||||
/* FALLTHROUGH */
|
||||
case 2:
|
||||
a += ((uint32) k[1] << 16);
|
||||
/* fall through */
|
||||
/* FALLTHROUGH */
|
||||
case 1:
|
||||
a += ((uint32) k[0] << 24);
|
||||
/* case 0: nothing left to add */
|
||||
@ -456,13 +456,13 @@ hash_bytes_extended(const unsigned char *k, int keylen, uint64 seed)
|
||||
{
|
||||
case 11:
|
||||
c += ((uint32) k[10] << 24);
|
||||
/* fall through */
|
||||
/* FALLTHROUGH */
|
||||
case 10:
|
||||
c += ((uint32) k[9] << 16);
|
||||
/* fall through */
|
||||
/* FALLTHROUGH */
|
||||
case 9:
|
||||
c += ((uint32) k[8] << 8);
|
||||
/* fall through */
|
||||
/* FALLTHROUGH */
|
||||
case 8:
|
||||
/* the lowest byte of c is reserved for the length */
|
||||
b += ka[1];
|
||||
@ -470,22 +470,22 @@ hash_bytes_extended(const unsigned char *k, int keylen, uint64 seed)
|
||||
break;
|
||||
case 7:
|
||||
b += ((uint32) k[6] << 16);
|
||||
/* fall through */
|
||||
/* FALLTHROUGH */
|
||||
case 6:
|
||||
b += ((uint32) k[5] << 8);
|
||||
/* fall through */
|
||||
/* FALLTHROUGH */
|
||||
case 5:
|
||||
b += k[4];
|
||||
/* fall through */
|
||||
/* FALLTHROUGH */
|
||||
case 4:
|
||||
a += ka[0];
|
||||
break;
|
||||
case 3:
|
||||
a += ((uint32) k[2] << 16);
|
||||
/* fall through */
|
||||
/* FALLTHROUGH */
|
||||
case 2:
|
||||
a += ((uint32) k[1] << 8);
|
||||
/* fall through */
|
||||
/* FALLTHROUGH */
|
||||
case 1:
|
||||
a += k[0];
|
||||
/* case 0: nothing left to add */
|
||||
@ -519,35 +519,35 @@ hash_bytes_extended(const unsigned char *k, int keylen, uint64 seed)
|
||||
{
|
||||
case 11:
|
||||
c += ((uint32) k[10] << 8);
|
||||
/* fall through */
|
||||
/* FALLTHROUGH */
|
||||
case 10:
|
||||
c += ((uint32) k[9] << 16);
|
||||
/* fall through */
|
||||
/* FALLTHROUGH */
|
||||
case 9:
|
||||
c += ((uint32) k[8] << 24);
|
||||
/* fall through */
|
||||
/* FALLTHROUGH */
|
||||
case 8:
|
||||
/* the lowest byte of c is reserved for the length */
|
||||
b += k[7];
|
||||
/* fall through */
|
||||
/* FALLTHROUGH */
|
||||
case 7:
|
||||
b += ((uint32) k[6] << 8);
|
||||
/* fall through */
|
||||
/* FALLTHROUGH */
|
||||
case 6:
|
||||
b += ((uint32) k[5] << 16);
|
||||
/* fall through */
|
||||
/* FALLTHROUGH */
|
||||
case 5:
|
||||
b += ((uint32) k[4] << 24);
|
||||
/* fall through */
|
||||
/* FALLTHROUGH */
|
||||
case 4:
|
||||
a += k[3];
|
||||
/* fall through */
|
||||
/* FALLTHROUGH */
|
||||
case 3:
|
||||
a += ((uint32) k[2] << 8);
|
||||
/* fall through */
|
||||
/* FALLTHROUGH */
|
||||
case 2:
|
||||
a += ((uint32) k[1] << 16);
|
||||
/* fall through */
|
||||
/* FALLTHROUGH */
|
||||
case 1:
|
||||
a += ((uint32) k[0] << 24);
|
||||
/* case 0: nothing left to add */
|
||||
@ -557,35 +557,35 @@ hash_bytes_extended(const unsigned char *k, int keylen, uint64 seed)
|
||||
{
|
||||
case 11:
|
||||
c += ((uint32) k[10] << 24);
|
||||
/* fall through */
|
||||
/* FALLTHROUGH */
|
||||
case 10:
|
||||
c += ((uint32) k[9] << 16);
|
||||
/* fall through */
|
||||
/* FALLTHROUGH */
|
||||
case 9:
|
||||
c += ((uint32) k[8] << 8);
|
||||
/* fall through */
|
||||
/* FALLTHROUGH */
|
||||
case 8:
|
||||
/* the lowest byte of c is reserved for the length */
|
||||
b += ((uint32) k[7] << 24);
|
||||
/* fall through */
|
||||
/* FALLTHROUGH */
|
||||
case 7:
|
||||
b += ((uint32) k[6] << 16);
|
||||
/* fall through */
|
||||
/* FALLTHROUGH */
|
||||
case 6:
|
||||
b += ((uint32) k[5] << 8);
|
||||
/* fall through */
|
||||
/* FALLTHROUGH */
|
||||
case 5:
|
||||
b += k[4];
|
||||
/* fall through */
|
||||
/* FALLTHROUGH */
|
||||
case 4:
|
||||
a += ((uint32) k[3] << 24);
|
||||
/* fall through */
|
||||
/* FALLTHROUGH */
|
||||
case 3:
|
||||
a += ((uint32) k[2] << 16);
|
||||
/* fall through */
|
||||
/* FALLTHROUGH */
|
||||
case 2:
|
||||
a += ((uint32) k[1] << 8);
|
||||
/* fall through */
|
||||
/* FALLTHROUGH */
|
||||
case 1:
|
||||
a += k[0];
|
||||
/* case 0: nothing left to add */
|
||||
|
@ -1452,12 +1452,12 @@ pg_utf8_islegal(const unsigned char *source, int length)
|
||||
a = source[3];
|
||||
if (a < 0x80 || a > 0xBF)
|
||||
return false;
|
||||
/* FALL THRU */
|
||||
/* FALLTHROUGH */
|
||||
case 3:
|
||||
a = source[2];
|
||||
if (a < 0x80 || a > 0xBF)
|
||||
return false;
|
||||
/* FALL THRU */
|
||||
/* FALLTHROUGH */
|
||||
case 2:
|
||||
a = source[1];
|
||||
switch (*source)
|
||||
@ -1483,7 +1483,7 @@ pg_utf8_islegal(const unsigned char *source, int length)
|
||||
return false;
|
||||
break;
|
||||
}
|
||||
/* FALL THRU */
|
||||
/* FALLTHROUGH */
|
||||
case 1:
|
||||
a = *source;
|
||||
if (a >= 0x80 && a < 0xC2)
|
||||
|
@ -391,7 +391,7 @@ DecodeInterval(char **field, int *ftype, int nf, /* int range, */
|
||||
tmask = DTK_M(TZ);
|
||||
break;
|
||||
}
|
||||
/* FALL THROUGH */
|
||||
/* FALLTHROUGH */
|
||||
|
||||
case DTK_DATE:
|
||||
case DTK_NUMBER:
|
||||
|
@ -375,7 +375,7 @@ retry_masked:
|
||||
REMEMBER_EPIPE(spinfo, true);
|
||||
|
||||
#ifdef ECONNRESET
|
||||
/* FALL THRU */
|
||||
/* FALLTHROUGH */
|
||||
|
||||
case ECONNRESET:
|
||||
#endif
|
||||
|
@ -3186,7 +3186,7 @@ exec_stmt_return(PLpgSQL_execstate *estate, PLpgSQL_stmt_return *stmt)
|
||||
/* fulfill promise if needed, then handle like regular var */
|
||||
plpgsql_fulfill_promise(estate, (PLpgSQL_var *) retvar);
|
||||
|
||||
/* FALL THRU */
|
||||
/* FALLTHROUGH */
|
||||
|
||||
case PLPGSQL_DTYPE_VAR:
|
||||
{
|
||||
@ -3332,7 +3332,7 @@ exec_stmt_return_next(PLpgSQL_execstate *estate,
|
||||
/* fulfill promise if needed, then handle like regular var */
|
||||
plpgsql_fulfill_promise(estate, (PLpgSQL_var *) retvar);
|
||||
|
||||
/* FALL THRU */
|
||||
/* FALLTHROUGH */
|
||||
|
||||
case PLPGSQL_DTYPE_VAR:
|
||||
{
|
||||
@ -5423,7 +5423,7 @@ exec_eval_datum(PLpgSQL_execstate *estate,
|
||||
/* fulfill promise if needed, then handle like regular var */
|
||||
plpgsql_fulfill_promise(estate, (PLpgSQL_var *) datum);
|
||||
|
||||
/* FALL THRU */
|
||||
/* FALLTHROUGH */
|
||||
|
||||
case PLPGSQL_DTYPE_VAR:
|
||||
{
|
||||
|
@ -464,7 +464,7 @@ nextch2:
|
||||
/* set zero padding if no nonzero digits yet */
|
||||
if (accum == 0 && !pointflag)
|
||||
zpad = '0';
|
||||
/* FALL THRU */
|
||||
/* FALLTHROUGH */
|
||||
case '1':
|
||||
case '2':
|
||||
case '3':
|
||||
|
@ -55,6 +55,11 @@ ifeq (,$(ZIC))
|
||||
ZIC= ./zic
|
||||
endif
|
||||
|
||||
# zic.c doesn't compile cleanly with our default
|
||||
# -Wimplicit-fallthrough=4, and we don't want to touch the file since
|
||||
# it's third-party code, so downgrade to 3 for that file.
|
||||
zic.o: CFLAGS := $(subst -Wimplicit-fallthrough=4,-Wimplicit-fallthrough=3,$(CFLAGS))
|
||||
|
||||
zic: $(ZICOBJS) | submake-libpgport
|
||||
$(CC) $(CFLAGS) $(ZICOBJS) $(LDFLAGS) $(LDFLAGS_EX) $(LIBS) -o $@$(X)
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user