r210584 - Fix crash with x86_64-pc-win32-macho target. <rdar://problem/17235840>

Bob Wilson bob.wilson at apple.com
Tue Jun 10 18:04:10 PDT 2014


Thanks for fixing the output to the source tree. I should have caught that.

I don’t especially know what to test for here. I wasn’t involved in setting up this win32-macho stuff, and I don’t know much about how it works. Apparently whoever did set it up neglected to add any tests. I won’t claim this is a good test, but it is far better than what we had before (nothing!). If someone who knows about this can provide a better test, then that would be great.

On Jun 10, 2014, at 6:00 PM, David Blaikie <dblaikie at gmail.com> wrote:

> I've modified this test so it doesn't write to the source tree (by
> adding -o /dev/null) in r210618, but I'll echo Ried and Eric's
> sentiments and add one of my own:
> 
> "test this command doesn't crash" is a fairly poor test case. Please
> verify that whatever behavior you expect (and I'm sure it's something
> more precise than "does anything other than crash") actually occurs
> (using FileCheck, presumably). Crashes are a great way to find missing
> test coverage, and simply adding a "this doesn't crash" test is a real
> lost opportunity to actually test whatever we had failed to test
> previously.
> 
> And, yes, as Eric/Reid said, if you've found missing test coverage in
> other areas, add that to the relevant test directories. The driver
> should be tested in test/Driver.
> 
> On Tue, Jun 10, 2014 at 4:58 PM, Bob Wilson <bob.wilson at apple.com> wrote:
>> It would be sufficient, but since I think any future breakage of this is
>> equally likely to come from the driver, I intentionally made the test to run
>> through the driver.
>> 
>> On Jun 10, 2014, at 3:09 PM, Reid Kleckner <rnk at google.com> wrote:
>> 
>> This runline is sufficient, then:
>> // RUN: %clang_cc1 %s -triple x86_64-pc-win32-macho -emit-llvm-only
>> 
>> 
>> On Tue, Jun 10, 2014 at 2:46 PM, Bob Wilson <bob.wilson at apple.com> wrote:
>>> 
>>> The most important check is for header search, but I was hoping it might
>>> serve as an overall sanity check for other issues. I already found one issue
>>> with i386 that is not exposed with -fsyntax-only. (I’m looking at that now
>>> and will fix it if there’s an easy solution.) I don’t feel strongly about
>>> this test, so in the interest of reducing testing time, I’ll change it to
>>> use -fsyntax-only.
>>> 
>>>> On Jun 10, 2014, at 2:29 PM, Eric Christopher <echristo at gmail.com>
>>>> wrote:
>>>> 
>>>> What are you trying to test with this test? It's currently invoking
>>>> the backend and I'm not sure I see a reason for it given the original
>>>> change is only to header search?
>>>> 
>>>> -eric
>>>> 
>>>> On Tue, Jun 10, 2014 at 2:07 PM, Bob Wilson <bob.wilson at apple.com>
>>>> wrote:
>>>>> Author: bwilson
>>>>> Date: Tue Jun 10 16:07:12 2014
>>>>> New Revision: 210584
>>>>> 
>>>>> URL: http://llvm.org/viewvc/llvm-project?rev=210584&view=rev
>>>>> Log:
>>>>> Fix crash with x86_64-pc-win32-macho target. <rdar://problem/17235840>
>>>>> 
>>>>> The changes in r204978 broke win32-macho targets. There were checks
>>>>> added for
>>>>> MSVC and Itanium environments as special cases, and win32-macho needs
>>>>> to be
>>>>> treated the same way.
>>>>> 
>>>>> Added:
>>>>>   cfe/trunk/test/Misc/win32-macho.c
>>>>> Modified:
>>>>>   cfe/trunk/lib/Frontend/InitHeaderSearch.cpp
>>>>> 
>>>>> Modified: cfe/trunk/lib/Frontend/InitHeaderSearch.cpp
>>>>> URL:
>>>>> http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Frontend/InitHeaderSearch.cpp?rev=210584&r1=210583&r2=210584&view=diff
>>>>> 
>>>>> ==============================================================================
>>>>> --- cfe/trunk/lib/Frontend/InitHeaderSearch.cpp (original)
>>>>> +++ cfe/trunk/lib/Frontend/InitHeaderSearch.cpp Tue Jun 10 16:07:12
>>>>> 2014
>>>>> @@ -472,7 +472,8 @@ void InitHeaderSearch::AddDefaultInclude
>>>>> 
>>>>>  case llvm::Triple::Win32:
>>>>>    if (triple.getEnvironment() == llvm::Triple::MSVC ||
>>>>> -        triple.getEnvironment() == llvm::Triple::Itanium)
>>>>> +        triple.getEnvironment() == llvm::Triple::Itanium ||
>>>>> +        triple.getObjectFormat() == llvm::Triple::MachO)
>>>>>      return;
>>>>>    break;
>>>>>  }
>>>>> 
>>>>> Added: cfe/trunk/test/Misc/win32-macho.c
>>>>> URL:
>>>>> http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Misc/win32-macho.c?rev=210584&view=auto
>>>>> 
>>>>> ==============================================================================
>>>>> --- cfe/trunk/test/Misc/win32-macho.c (added)
>>>>> +++ cfe/trunk/test/Misc/win32-macho.c Tue Jun 10 16:07:12 2014
>>>>> @@ -0,0 +1,2 @@
>>>>> +// Check that basic use of win32-macho targets works.
>>>>> +// RUN: %clang -c -target x86_64-pc-win32-macho %s
>>>>> 
>>>>> 
>>>>> _______________________________________________
>>>>> cfe-commits mailing list
>>>>> cfe-commits at cs.uiuc.edu
>>>>> http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
>>> 
>>> 
>>> _______________________________________________
>>> cfe-commits mailing list
>>> cfe-commits at cs.uiuc.edu
>>> http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
>> 
>> 
>> 
>> 
>> _______________________________________________
>> cfe-commits mailing list
>> cfe-commits at cs.uiuc.edu
>> http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
>> 





More information about the cfe-commits mailing list