summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/mapi/glapi/gen/gl_marshal.py16
1 files changed, 12 insertions, 4 deletions
diff --git a/src/mapi/glapi/gen/gl_marshal.py b/src/mapi/glapi/gen/gl_marshal.py
index 062afe566fd..efa4d9e6f90 100644
--- a/src/mapi/glapi/gen/gl_marshal.py
+++ b/src/mapi/glapi/gen/gl_marshal.py
@@ -173,11 +173,19 @@ class PrintCode(gl_XML.gl_print_base):
with indent():
for p in func.fixed_params:
if p.count:
- out('const {0} * {1} = cmd->{1};'.format(
- p.get_base_type_string(), p.name))
+ p_decl = '{0} * {1} = cmd->{1};'.format(
+ p.get_base_type_string(), p.name)
else:
- out('const {0} {1} = cmd->{1};'.format(
- p.type_string(), p.name))
+ p_decl = '{0} {1} = cmd->{1};'.format(
+ p.type_string(), p.name)
+
+ if not p_decl.startswith('const '):
+ # Declare all local function variables as const, even if
+ # the original parameter is not const.
+ p_decl = 'const ' + p_decl
+
+ out(p_decl)
+
if func.variable_params:
for p in func.variable_params:
out('const {0} * {1};'.format(