[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