Skip to content

Commit 2e9c8c7

Browse files
authored
Merge pull request github#10907 from cklin/document-assume-small-delta
QL language spec: pragma[assume_small_delta]
2 parents 471a596 + 9df7259 commit 2e9c8c7

File tree

1 file changed

+15
-13
lines changed

1 file changed

+15
-13
lines changed

docs/codeql/ql-language-reference/ql-language-specification.rst

Lines changed: 15 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -639,7 +639,7 @@ Various kinds of syntax can have *annotations* applied to them. Annotations are
639639
| "override"
640640
| "query"
641641

642-
argsAnnotation ::= "pragma" "[" ("inline" | "noinline" | "nomagic" | "noopt") "]"
642+
argsAnnotation ::= "pragma" "[" ("inline" | "noinline" | "nomagic" | "noopt" | "assume_small_delta") "]"
643643
| "language" "[" "monotonicAggregates" "]"
644644
| "bindingset" "[" (variable ( "," variable)*)? "]"
645645

@@ -687,17 +687,19 @@ Parameterized annotations take some additional arguments.
687687

688688
The parameterized annotation ``pragma`` supplies compiler pragmas, and may be applied in various contexts depending on the pragma in question.
689689

690-
+--------------+---------+------------+-------------------+-----------------------+---------+--------+---------+---------+
691-
| Pragma | Classes | Characters | Member predicates | Non-member predicates | Imports | Fields | Modules | Aliases |
692-
+==============+=========+============+===================+=======================+=========+========+=========+=========+
693-
| ``inline`` | | yes | yes | yes | | | | |
694-
+--------------+---------+------------+-------------------+-----------------------+---------+--------+---------+---------+
695-
| ``noinline`` | | yes | yes | yes | | | | |
696-
+--------------+---------+------------+-------------------+-----------------------+---------+--------+---------+---------+
697-
| ``nomagic`` | | yes | yes | yes | | | | |
698-
+--------------+---------+------------+-------------------+-----------------------+---------+--------+---------+---------+
699-
| ``noopt`` | | yes | yes | yes | | | | |
700-
+--------------+---------+------------+-------------------+-----------------------+---------+--------+---------+---------+
690+
+---------------------------+---------+------------+-------------------+-----------------------+---------+--------+---------+---------+
691+
| Pragma | Classes | Characters | Member predicates | Non-member predicates | Imports | Fields | Modules | Aliases |
692+
+===========================+=========+============+===================+=======================+=========+========+=========+=========+
693+
| ``inline`` | | yes | yes | yes | | | | |
694+
+---------------------------+---------+------------+-------------------+-----------------------+---------+--------+---------+---------+
695+
| ``noinline`` | | yes | yes | yes | | | | |
696+
+---------------------------+---------+------------+-------------------+-----------------------+---------+--------+---------+---------+
697+
| ``nomagic`` | | yes | yes | yes | | | | |
698+
+---------------------------+---------+------------+-------------------+-----------------------+---------+--------+---------+---------+
699+
| ``noopt`` | | yes | yes | yes | | | | |
700+
+---------------------------+---------+------------+-------------------+-----------------------+---------+--------+---------+---------+
701+
| ``assume_small_delta`` | | yes | yes | yes | | | | |
702+
+---------------------------+---------+------------+-------------------+-----------------------+---------+--------+---------+---------+
701703

702704
The parameterized annotation ``language`` supplies language pragmas which change the behavior of the language. Language pragmas apply at the scope level, and are inherited by nested scopes.
703705

@@ -2048,7 +2050,7 @@ The complete grammar for QL is as follows:
20482050
| "override"
20492051
| "query"
20502052

2051-
argsAnnotation ::= "pragma" "[" ("noinline" | "nomagic" | "noopt") "]"
2053+
argsAnnotation ::= "pragma" "[" ("inline" | "noinline" | "nomagic" | "noopt" | "assume_small_delta") "]"
20522054
| "language" "[" "monotonicAggregates" "]"
20532055
| "bindingset" "[" (variable ( "," variable)*)? "]"
20542056

0 commit comments

Comments
 (0)