• Russ Cox's avatar
    cmd/gc: make cmd/gc a real library · 349ecfb0
    Russ Cox authored
    cmd/gc contains symbol references into the back end dirs like 6g.
    It also contains a few files that include the back end header files and
    are compiled separately for each back end, despite being in cmd/gc.
    cmd/gc also defines main, which makes at least one reverse symbol
    reference unavoidable. (Otherwise you can't get into back-end code.)
    
    This was all expedient, but it's too tightly coupled, especially for a
    program written Go.
    
    Make cmd/gc into a true library, letting the back end define main and
    call into cmd/gc after making the necessary references available.
    cmd/gc being a real library will ease the transition to Go.
    
    Change-Id: I4fb9a0e2b11a32f1d024b3c56fc3bd9ee458842c
    Reviewed-on: https://go-review.googlesource.com/3277Reviewed-by: 's avatarRob Pike <r@golang.org>
    349ecfb0
sinit.c 29 KB