Author: Armin Rigo <[email protected]>
Branch: 
Changeset: r83423:7c96ec092272
Date: 2016-03-29 13:31 +0200
http://bitbucket.org/pypy/pypy/changeset/7c96ec092272/

Log:    Don't capture the '@xxx' part of labels inside the label itself. It
        means a ".long .L123@GOTOFF" fails to match a ".L123:" somewhere
        else.

diff --git a/rpython/translator/c/gcc/trackgcroot.py 
b/rpython/translator/c/gcc/trackgcroot.py
--- a/rpython/translator/c/gcc/trackgcroot.py
+++ b/rpython/translator/c/gcc/trackgcroot.py
@@ -1123,7 +1123,7 @@
     REG2LOC = dict((_reg, LOC_REG | ((_i+1)<<2))
                    for _i, _reg in enumerate(CALLEE_SAVE_REGISTERS))
     OPERAND = r'(?:[-\w$%+.:@"]+(?:[(][\w%,]+[)])?|[(][\w%,]+[)])'
-    LABEL   = r'([a-zA-Z_$.][a-zA-Z0-9_$@.]*)'
+    LABEL   = r'([a-zA-Z_$.][a-zA-Z0-9_$.]*)(?:@[@a-zA-Z0-9_$.]*)?'
     OFFSET_LABELS   = 2**30
     TOP_OF_STACK_MINUS_WORD = '-4(%esp)'
 
@@ -1185,7 +1185,7 @@
     REG2LOC = dict((_reg, LOC_REG | ((_i+1)<<2))
                    for _i, _reg in enumerate(CALLEE_SAVE_REGISTERS))
     OPERAND = r'(?:[-\w$%+.:@"]+(?:[(][\w%,]+[)])?|[(][\w%,]+[)])'
-    LABEL   = r'([a-zA-Z_$.][a-zA-Z0-9_$@.]*)'
+    LABEL   = r'([a-zA-Z_$.][a-zA-Z0-9_$.]*)(?:@[@a-zA-Z0-9_$.]*)?'
     OFFSET_LABELS   = 2**30
     TOP_OF_STACK_MINUS_WORD = '-8(%rsp)'
 
_______________________________________________
pypy-commit mailing list
[email protected]
https://mail.python.org/mailman/listinfo/pypy-commit

Reply via email to