Danville man charged with first-degree murder