Labour has accused David Cameron of "hypocrisy" after he revealed he had owned shares in an offshore fund set up by his late father.

On Thursday, the PM said he sold the shares before he entered Number 10 in 2010 and had paid all UK taxes due on profits from the £30,000 sale.

He said the firm, Blairmore Holdings, had not been set up to avoid tax.

Labour's deputy leader Tom Watson said the PM had called people who invested in similar schemes "morally wrong".

Business Minister Nick Boles said "with the benefit of hindsight" it might have been better if the PM had revealed details of his shareholdings when the allegations first surfaced on Monday but he understood Mr Cameron's "natural human instinct to rally round his father".

The key point, he insisted, was that the prime minister had paid all the taxes expected of him, British media reports.