Patent ID: 8826258

Claim:
A method of generating a computer program, the method comprising: independently compiling a plurality of source code modules to generate a plurality of respective object modules comprising machine code and symbols other than machine code for providing information to a linker, different ones of the object modules comprising different respective threads explicitly designated by a user to be executed in parallel; in each of the object modules, inserting at least one of said symbols to indicate a property of the object module's thread potentially conflicting with a corresponding property of a thread of another of said object module as a result of parallel execution of those threads; executing the linker to perform a linking process on said object modules, the linking process comprising: assessing the symbols in conjunction with one another to determine whether a conflict exists between the threads of two or more of the respective object modules; and linking the object modules to generate a computer program in which said threads are executable in parallel, wherein the linking is performed in dependence on said assessment.