Index: head/lib/libpmc/Makefile =================================================================== --- head/lib/libpmc/Makefile +++ head/lib/libpmc/Makefile @@ -7,6 +7,7 @@ INCS= pmc.h pmclog.h pmcformat.h CFLAGS+= -I${.CURDIR} +CWARNFLAGS.gcc+= -Wno-shadow .if ${MACHINE_ARCH} == "amd64" || ${MACHINE_ARCH} == "i386" Index: head/usr.sbin/pmc/Makefile =================================================================== --- head/usr.sbin/pmc/Makefile +++ head/usr.sbin/pmc/Makefile @@ -5,7 +5,8 @@ .include PROG_CXX= pmc MAN= -CXXFLAGS+= -O0 +CXXFLAGS+= -O0 -std=c++14 +CWARNFLAGS.gcc+= -Wno-redundant-decls LIBADD= kvm pmc m ncursesw pmcstat elf Index: head/usr.sbin/pmc/cmd_pmc_filter.cc =================================================================== --- head/usr.sbin/pmc/cmd_pmc_filter.cc +++ head/usr.sbin/pmc/cmd_pmc_filter.cc @@ -68,7 +68,6 @@ #include #include "cmd_pmc.h" -#include #include #include @@ -182,11 +181,11 @@ pmc_log_event(int fd, struct pmclog_ev *ev, bool json) { int len; - void *buf; + const void *buf; if (json) { string ret = event_to_json(ev); - buf = (void*)ret.c_str(); + buf = ret.c_str(); len = ret.size(); } else { len = ev->pl_len; @@ -233,7 +232,7 @@ pmclog_close(ps); if ((ps = static_cast < struct pmclog_parse_state *>(pmclog_open(infd)))== NULL) errx(EX_OSERR, "ERROR: Cannot allocate pmclog parse state: %s\n", strerror(errno)); - if ((pe = (typeof(pe)) malloc(sizeof(*pe) * pmccount)) == NULL) + if ((pe = (struct pmcid_ent *) malloc(sizeof(*pe) * pmccount)) == NULL) errx(EX_OSERR, "ERROR: failed to allocate pmcid map"); i = 0; while (pmclog_read(ps, &ev) == 0 && i < pmccount) {