Missing End Site

Occurs when a site-begin annotation is executed but the corresponding site-end annotation is not executed before the thread or application exits.

Problem type: Missing end site

ID

Code Location

Description

1

Start site

Represents the location and the associated call stack when the parallel site execution began.

Example

void main()
{
    ANNOTATE_SITE_BEGIN(site1);  // Begin parallel site
        return;
    ANNOTATE_SITE_END();         
}

This example's execution skips the end-site annotation, ANNOTATE_SITE_END().

Possible Correction Strategies

Always execute an ANNOTATE_SITE_END() annotation after executing an ANNOTATE_SITE_BEGIN(sitename) annotation. This omission can be caused by throw exceptions, return, break, continue, and goto statements or keywords. All control flow paths out of a site need to use the ANNOTATE_SITE_END() annotations.

For more complete information about compiler optimizations, see our Optimization Notice.