diff options
Diffstat (limited to 'src/cuda-sim/ptx.y')
| -rw-r--r-- | src/cuda-sim/ptx.y | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/src/cuda-sim/ptx.y b/src/cuda-sim/ptx.y index 360be51..f8b29c4 100644 --- a/src/cuda-sim/ptx.y +++ b/src/cuda-sim/ptx.y @@ -44,6 +44,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. %token CALLTARGETS_DIRECTIVE %token <int_value> CONST_DIRECTIVE %token CONSTPTR_DIRECTIVE +%token PTR_DIRECTIVE %token ENTRY_DIRECTIVE %token EXTERN_DIRECTIVE %token FILE_DIRECTIVE @@ -242,9 +243,20 @@ param_list: /*empty*/ | param_entry { add_directive(); } | param_list COMMA {func_header_info(",");} param_entry { add_directive(); } -param_entry: PARAM_DIRECTIVE { add_space_spec(param_space_unclassified,0); } variable_spec identifier_spec { add_function_arg(); } +param_entry: PARAM_DIRECTIVE { add_space_spec(param_space_unclassified,0); } variable_spec ptr_spec identifier_spec { add_function_arg(); } | REG_DIRECTIVE { add_space_spec(reg_space,0); } variable_spec identifier_spec { add_function_arg(); } +ptr_spec: /*empty*/ + | PTR_DIRECTIVE ptr_space_spec ptr_align_spec + | PTR_DIRECTIVE ptr_align_spec + +ptr_space_spec: GLOBAL_DIRECTIVE + | LOCAL_DIRECTIVE + | CONST_DIRECTIVE + | SHARED_DIRECTIVE + +ptr_align_spec: ALIGN_DIRECTIVE INT_OPERAND + statement_block: LEFT_BRACE statement_list RIGHT_BRACE statement_list: directive_statement { add_directive(); } |
