mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-09 04:38:03 +02:00
python: Explicitly add the 'L' suffix on Python 3
Python 2 had two integer types: int and long. Python 3 dropped the latter, as it made the int type automatically support bigger numbers. As a result, Python 3 lost the 'L' suffix on integer litterals. This probably doesn't make much difference when compiling the generated C code, but adding it explicitly means that both Python 2 and 3 generate the exact same C code anyway, which makes it easier to compare and check for discrepencies when moving to Python 3. Signed-off-by: Mathieu Bridon <bochecha@daitauha.fr> Reviewed-by: Dylan Baker <dylan@pnwbakers.com>
This commit is contained in:
parent
a71df20855
commit
ad363913e6
1 changed files with 10 additions and 1 deletions
|
|
@ -139,7 +139,16 @@ class Constant(Value):
|
|||
if isinstance(self.value, (int, long)):
|
||||
return hex(self.value)
|
||||
elif isinstance(self.value, float):
|
||||
return hex(struct.unpack('Q', struct.pack('d', self.value))[0])
|
||||
i = struct.unpack('Q', struct.pack('d', self.value))[0]
|
||||
h = hex(i)
|
||||
|
||||
# On Python 2 this 'L' suffix is automatically added, but not on Python 3
|
||||
# Adding it explicitly makes the generated file identical, regardless
|
||||
# of the Python version running this script.
|
||||
if h[-1] != 'L' and i > sys.maxsize:
|
||||
h += 'L'
|
||||
|
||||
return h
|
||||
else:
|
||||
assert False
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue