Microcode: Fix a very old bug with parsing external labels in microcode.
authorGabe Black <gblack@eecs.umich.edu>
Thu, 9 Oct 2008 07:07:21 +0000 (00:07 -0700)
committerGabe Black <gblack@eecs.umich.edu>
Thu, 9 Oct 2008 07:07:21 +0000 (00:07 -0700)
src/arch/micro_asm.py

index 36c9919c095e766b0bf38c05d15c995d34160d80..0982f6b89a69c4dcf0bdae01cae30172d7d31913 100644 (file)
@@ -242,7 +242,10 @@ def t_params_PARAMS(t):
 def t_asm_ID(t):
     r'[A-Za-z_]\w*'
     t.type = reserved_map.get(t.value, 'ID')
-    t.lexer.begin('params')
+    # If the ID is really "extern", we shouldn't start looking for parameters
+    # yet. The real ID, the label itself, is coming up.
+    if t.type != 'EXTERN':
+        t.lexer.begin('params')
     return t
 
 # If there is a label and you're -not- in the assembler (which would be caught