The implementation replaces all atomic directives by enclosing the target statement with a special, named critical construct. This will enforce exclusive access between all atomic regions in the program, whether or not these regions update the same or different storage locations.