Opened 16 years ago

Closed 16 years ago

#247 closed enhancement (fixed)

add guard expression to system function

Reported by: Stephen Siegel Owned by: zirkel
Priority: major Milestone: Release 1.0
Component: front Version: 1.0
Keywords: Cc:

Description

When declaring a library system function with #pragma TASS system there also needs to be a way to declare a guard expression for the system function. Right now, system functions are treated like regular function calls, so the guard is always "true". However some system functions require non-trivial guards. Example: MPI_Send or MPI_Recv.

How about an optional form of the pragma like this:

#pragma TASS system guard <TASS expression>

?

Change History (4)

comment:1 by Stephen Siegel, 16 years ago

I have added the ability to specify guards at the model level. It now requires modifications to the front end. The grammar, TreeBuilder, and ModelBuilder need to be modified to add support for the optional guard form. I put a TODO comment at the point in the Model Builder where the change needs to take place.

comment:2 by Stephen Siegel, 16 years ago

Owner: changed from ywei to zirkel
Status: newassigned

comment:3 by zirkel, 16 years ago

Front end support has been added, and the guard is being correctly set. However, currently TASS will verify a program as correct even if there is a system function whose guard is never true. See examples/fooLibraryUse/guardedSystemFunctionFail.c

comment:4 by zirkel, 16 years ago

Resolution: fixed
Status: assignedclosed
Note: See TracTickets for help on using tickets.