John McCain has criticised Donald Trump after he withdrew the US’s endorsement of a G7 communique and threatened to start a trade war with Canada.

“To our allies: bipartisan majorities of Americans remain pro-free trade, pro-globalization & supportive of alliances based on 70 years of shared values,” the veteran Republican politician and one time rival to Mr Trump for the presidency, tweeted

“Americans stand with you, even if our president doesn’t,” the senator added.

Mr Trump refused to back down from his decision to impose international tariffs on goods including steel and aluminium imports as a part of his so-called "America First" strategy.

So the leaders US, France, Germany, the UK, Japan, Italy, and Canada issued the communique without US backing.

Tweeting afterwards, Mr Trump also offered a stark warning to the rest of the G7 and said if they wish to retaliate to the US issuing tariffs they were “making a mistake”.

He went on to attack Canadian Prime Minister Justin Trudeau on Twitter, calling him “dishonest and weak”.

He wrote: “PM Justin Trudeau of Canada acted so meek and mild during our G7 meetings only to give a news conference after I left saying that, ‘US Tariffs were kind of insulting’ and he ‘will not be pushed around.’ Very dishonest & weak. Our Tariffs are in response to his of 270 per cent on dairy!”

The communique had been confirmed by Canadian Prime Minster Justin Trudeau, who conceded that Mr Trump's tough talk on trade showed there was a lot of work to be done between the countries, but nevertheless portrayed the joint statement as a positive step towards international cooperation.