Function entry points (annotation variations)

Compilers indicate function entry points in a wide variety of ways:

Some compilers annotate only the leading { as the function entry point:

image\var_fun.gif

Some compilers annotate the first executable statement as the entry point. If there are no executable statements, as for example in an empty function, the leading { is annotated instead. Variable declarations without initialization clauses do not count as executable statements in this sense.

image\var_fun2.gif

Some compilers annotate the leading { and the first local variable declaration:

image\var_fun3.gif

Some compilers annotate the first local variable declaration as the function entry point. It does not matter if the variable is declared static or not. If there are no local variables, the leading { is annotated as the function entry point.

Some compilers annotate the line containing the first statement and the line following local variable declarations, even if that line is blank:

image\var_fun4.gif

Some compilers annotate the function declaration and the first statement.

Some compilers annotate the leading { and the first executable statement.