In documentation, I've found that table_constraint is used in the ALTER TABLE synopsis but that definition of table_constraint is missing, so I submitted bug #14873.
I found the table_constraint definition in the CREATE TABLE synopsis and I just copied/pasted it on the ALTER TABLE synopsis.
The patch should apply to MASTER.I build and tested it successfully on my computer.
There shouldn't be any platform-specific content.
You will find enclosed my patch. I tried my best to follow instructions on how to submit a patch.