tree 0574ba08baf40efa677572e8f1326317a196175f
parent 253c122ed62d5e9a32a9806e83c47a389a6435bf
author Than McIntosh <thanm@google.com> 1670262915 -0500
committer Than McIntosh <thanm@google.com> 1670606488 +0000

gollvm: add support for "dummy" C compilation

When the Go command kicks off a build with gccgo/gollvm, it does a
couple of test compiles to see whether the compiler supports specific
command line flags; this is done to enable building with older
versions of gccgo/gollvm that may not support newer flags such as
"-fgo-importcfg" or "-ffile-prefix-map". The test compiles are done
using a sequence of this form:

   <compiler> <flag_to_be_tested> -c -x c - -o /dev/null < /dev/null

Specific example:

  gccgo -fgo-importcfg=/dev/null -c -x c - -o /dev/null < /dev/null

An empty input file is used, and output is redirected to /dev/null,
but also (crucially) the Go command passes "-x c", meaning "the input
language I want you to compile is C, not Go". This mode of compilation
is supported by gccgo, but not gollvm (gollvm doesn't have an embedded
C compiler). As a result, all such checks currently fail with gollvm.

This patch works around this problem by relaxing gollvm's restrictions
on the use of "-x c". Specifically, the option is accepted and a dummy
compilation is kicked off, but the input is required to be zero sized,
and no output is generated. This allows the test compiles used by the
Go command to do the right thing (e.g. check to see if a given command
line flag is supported/accepted).

Updates golang/go#45880.

Change-Id: I5c45681949926b28e9a1df4754dec37da4d2c9f8
Reviewed-on: https://go-review.googlesource.com/c/gollvm/+/455216
Reviewed-by: Cherry Mui <cherryyz@google.com>
