Every Synthesis tool comes with document which tell what is supported
and what is not from HDL. It also includes better RTL coding guidelines.
So search for the doc and read it first before you even start writing the RTL.
Any good verilog book shall give the list of synthesisable and non-synthesisable language functions/syntax.
The systhesis tool document also has the list.
The best reference is verilog reference manual whihc would clearly explain this issue.
i think it is better to read the reference manual of the tool u want to use rather than lrm because every tool comes with different features and different synthesizable capabilities........so go through the manual of synplify to clarify ur doubts