Index: src/frontc/cabs2cil.ml
===================================================================
--- src/frontc/cabs2cil.ml	(revision 12098)
+++ src/frontc/cabs2cil.ml	(working copy)
@@ -4722,7 +4722,7 @@
         try (sf, duplicateChunk sf) 
         with Failure _ -> 
           let lab = newLabelName "_L" in
-          (gotoChunk lab lu, consLabel lab sf !currentLoc false)
+          (gotoChunk lab !currentLoc, consLabel lab sf !currentLoc false)
       in
       let st' = compileCondExp ce2 st sf1 in
       let sf' = sf2 in
@@ -4734,7 +4734,7 @@
         try (st, duplicateChunk st) 
         with Failure _ -> 
           let lab = newLabelName "_L" in
-          (gotoChunk lab lu, consLabel lab st !currentLoc false)
+          (gotoChunk lab !currentLoc, consLabel lab st !currentLoc false)
       in
       let st' = st1 in
       let sf' = compileCondExp ce2 st2 sf in
Index: src/cil.ml
===================================================================
--- src/cil.ml	(revision 12098)
+++ src/cil.ml	(working copy)
@@ -3723,7 +3723,7 @@
           | _ :: rest -> pickLabel rest
         in
         match pickLabel !sref.labels with
-          Some l -> text ("goto " ^ l ^ ";")
+          Some lbl -> self#pLineDirective l ++ text ("goto " ^ lbl ^ ";")
         | None -> 
             ignore (error "Cannot find label for target of goto");
             text "goto __invalid_label;"
