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 information about annotating parallel sites, see Annotating Parallel Sites and Tasks and the discussion of site annotations in the About Annotations.

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