The last patch fixed some of the warnings. The rest I’m seeing from clang are simple stuff:

warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
aka
assignments in for loops & if/while statements should be wrapped in parens
warning: '&&' within '||' [-Wlogical-op-parentheses], so added paren wraps
switch statement not handling all enumerations, so added default: break;

Note: this is only for sources used by libpd.

Here’s a patch: