 -			*anssizp2 = orig_anssizp - aligned_resplen;
 -			*ansp2 = *ansp + aligned_resplen;
 -#endif
+-#if __GNUC_PREREQ (4, 7)
 -			DIAG_POP_NEEDS_COMMENT;
+-#endif
 -		} else {
 -			/* The first reply did not fit into the
 -			   user-provided buffer.  Maybe the second

 	int recvresp2 = buf2 == NULL;
 	uint16_t rlen16;
  read_len:
@@ -767,36 +855,14 @@ send_vc(res_state statp,
 	u_char **thisansp;
 	int *thisresplenp;
 	if ((recvresp1 | recvresp2) == 0 || buf2 == NULL) {

-	// int anssiz = *anssizp;
-	HEADER *anhp = (HEADER *) ans;
+	HEADER *anhp = (HEADER *) *ansp;
	struct sockaddr_in6 *nsap = EXT(statp).nsaddrs[ns];
 	int truncating, connreset, n;
 	/* On some architectures compiler might emit a warning indicating
@@ -731,6 +817,8 @@ send_vc(res_state statp,
