[cfe-dev] svn update then make gives cc1 error: unrecognized command line option '-Wcovered-switch-default'

Eli Friedman eli.friedman at gmail.com
Fri Oct 5 18:48:50 PDT 2012


On Fri, Oct 5, 2012 at 6:38 PM, Larry Evans <cppljevans at suddenlink.net> wrote:
> On 10/05/12 20:31, Eli Friedman wrote:
>> On Fri, Oct 5, 2012 at 5:58 PM, Larry Evans <cppljevans at suddenlink.net> wrote:
>>> On 10/05/12 19:35, Eli Friedman wrote:
>>>> On Fri, Oct 5, 2012 at 5:25 PM, Larry Evans <cppljevans at suddenlink.net> wrote:
>>>>> On 10/05/12 13:32, Larry Evans wrote:
>>>>>   I just ran svn update:
>>>>>
>>>>>   ~/download/llvm/svn/llvm $ svn update
>>>>>   ~/download/llvm/svn/llvm/tools/clang $ svn update
>>>>>   ~/download/llvm/svn/llvm/tools $ svn co
>>>>>   http://llvm.org/svn/llvm-project/clang-tools-extra/trunk extra
>>>>>   ~/download/llvm/svn/llvm/projects/compiler-rt $ svn update
>>>>>
>>>>>   However, make resulted in:
>>>>>
>>>>>   .
>>>>>   .
>>>>>   .
>>>>>   llvm[1]: Compiling regexec.c for Debug+Asserts build
>>>>>   cc1: error: unrecognized command line option "-Wcovered-switch-default"
>>>>>   /bin/rm: cannot remove
>>>>>
>>>>> `/home/evansl/download/llvm/svn/build/lib/Support/Debug+Asserts/regexec.d.tmp':
>>>>>   No such file or directory
>>>>>   make[1]: ***
>>>>>   [/home/evansl/download/llvm/svn/build/lib/Support/Debug+Asserts/regexec.o]
>>>>>   Error 1
>>>>>   make[1]: Leaving directory
>>>>>   `/home/evansl/download/llvm/svn/build/lib/Support'
>>>>>   make: *** [all] Error 1
>>>>>   ~/download/llvm/svn/build $
>>>>>
>>>>>   How can this be corrected?
>>>>>
>>>>>   My system is:
>>>>>
>>>>>   uname -a
>>>>>   Linux evansl-desktop 2.6.32-41-generic #90-Ubuntu SMP Tue May 22
>>>>>   11:29:51 UTC 2012 x86_64 GNU/Linux
>>>>>
>>>>>   TIA.
>>>>>
>>>>>   -regards,
>>>>>   Larry
>>>>> SOLVED:
>>>>>
>>>>> Changed Makefile.config to remove the COVERED_SWITCH_DEFAULT macro,
>>>>> and now it's working:
>>>>>
>>>>>   ~/download/llvm/svn/build $ cat Makefile.config|grep switch
>>>>>   # -Wcovered-switch-default
>>>>>   #COVERED_SWITCH_DEFAULT = -Wcovered-switch-default
>>>>>   ~/download/llvm/svn/build $ make
>>>>>   llvm[0]: Constructing LLVMBuild project information.
>>>>>   make[1]: Entering directory
>>>>> `/home/evansl/download/llvm/svn/build/lib/Support'
>>>>>   llvm[1]: Compiling regexec.c for Debug+Asserts build
>>>>>   llvm[1]: Compiling system_error.cpp for Debug+Asserts build
>>>>>   llvm[1]: Building Debug+Asserts Archive Library libLLVMSupport.a
>>>>
>>>> Err, this is a guess, but it's possible you're setting the C++
>>>> compiler to clang++, but not setting the C compiler to clang.
>>>>
>>>> -Eli
>>>
>>> Thanks Eli.
>>>
>>> I've not set anything directly.  I did do the configure step:
>>>
>>> ~/download/llvm/svn/llvm $ cd ..
>>> ~/download/llvm/svn $ cd build
>>> ~/download/llvm/svn/build $ ls ../llvn/configure
>>> ../llvn/configure: No such file or directory
>>> ~/download/llvm/svn/build $ ls ../llvm/configure
>>> ../llvm/configure
>>> ~/download/llvm/svn/build $ ../llvm/configure
>>> checking for clang... no
>>> checking for llvm-gcc... no
>>> checking for gcc... gcc
>>> .
>>> .
>>> .
>>>
>>> and maybe that did what you say.  Hmmm.  This is not the
>>> 1st time I've built clang; so, maybe something's left over
>>> from the last build.
>>>
>>> Where would I check to see which compiler is being used?
>>
>> You can look in config.log for lines starting with CC= and CXX= .
>>
>> -Eli
> Thanks,  config.log contains:
>
> CC='gcc'
>
> and:
>
> CXX='clang++'

Okay.  I suppose that's theoretically a combination we should support,
but I doubt anyone cares in practice.

What's the output of "which clang" and "which clang++"?  Do you have
CC or CXX set in your environment?

-Eli



More information about the cfe-dev mailing list