PIC16 question

In my ongoing work on refactoring the asmprinters, I've found that PIC16 doesn't put ':' after labels in some cases. Specifically, it looks like basic block labels are emitted without a ':':

  movwf @__floatunsidf.frame. + 2
  movlp .BB1_2
  goto .BB1_2
.BB1_2 ; %bb7
  movlw 0
  banksel @__floatunsidf.frame.

but that functions and global variables are. Does lack of a colon mean that the label is private to the file? Is a colon on the basic block harmful (IOW, can I just emit basic block labels with a colon even though they aren't currently)?

-Chris

Chris Lattner wrote:

In my ongoing work on refactoring the asmprinters, I've found that PIC16 doesn't put ':' after labels in some cases. Specifically, it looks like basic block labels are emitted without a ':':

  movwf @__floatunsidf.frame. + 2
  movlp .BB1_2
  goto .BB1_2
.BB1_2 ; %bb7
  movlw 0
  banksel @__floatunsidf.frame.

but that functions and global variables are. Does lack of a colon mean that the label is private to the file? Is a colon on the basic block harmful

(IOW, can I just emit basic block labels with a colon even though they aren't currently)?
  

Yes.
A ':' does not make any difference to pic16 labels.
They are optional.
- Sanjiv

Great, thanks Sanjiv!

-Chris