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 , 16 years ago
comment:2 by , 16 years ago
| Owner: | changed from to |
|---|---|
| Status: | new → assigned |
comment:3 by , 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 , 16 years ago
| Resolution: | → fixed |
|---|---|
| Status: | assigned → closed |

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.