r243085 - Fix the cc1as crash when it outputs assembly

Hans Wennborg hans at chromium.org
Wed Aug 5 13:19:40 PDT 2015


Ping?

On Thu, Jul 30, 2015 at 10:20 AM, Hans Wennborg <hans at chromium.org> wrote:
> Rafael: ping?
>
> This is probably not terribly important, but I would like to get it off my list.
>
> On Wed, Jul 29, 2015 at 10:16 AM, Hans Wennborg <hans at chromium.org> wrote:
>> Ping?
>>
>> On Mon, Jul 27, 2015 at 1:29 PM, Hans Wennborg <hans at chromium.org> wrote:
>>> Rafael, I don't know who's the owner here but you're probably in the
>>> best position to comment on whether this is ok for merging to 3.7.
>>> What do you think?
>>>
>>> On Fri, Jul 24, 2015 at 10:53 AM, Hans Wennborg <hans at chromium.org> wrote:
>>>> Is this something we should merge to 3.7?
>>>>
>>>> On Thu, Jul 23, 2015 at 7:12 PM, Steven Wu <stevenwu at apple.com> wrote:
>>>>> Author: steven_wu
>>>>> Date: Thu Jul 23 21:12:43 2015
>>>>> New Revision: 243085
>>>>>
>>>>> URL: http://llvm.org/viewvc/llvm-project?rev=243085&view=rev
>>>>> Log:
>>>>> Fix the cc1as crash when it outputs assembly
>>>>>
>>>>> In clang cc1as_main, when the output file type is “asm”, AsmStreamer
>>>>> owns a formatted_raw_ostream which has a reference to FDOS
>>>>> (raw_ostream), so AsmStreamer must be closed before FDOS is closed.
>>>>>
>>>>> Added:
>>>>>     cfe/trunk/test/Misc/cc1as-asm.s
>>>>> Modified:
>>>>>     cfe/trunk/tools/driver/cc1as_main.cpp
>>>>>
>>>>> Added: cfe/trunk/test/Misc/cc1as-asm.s
>>>>> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Misc/cc1as-asm.s?rev=243085&view=auto
>>>>> ==============================================================================
>>>>> --- cfe/trunk/test/Misc/cc1as-asm.s (added)
>>>>> +++ cfe/trunk/test/Misc/cc1as-asm.s Thu Jul 23 21:12:43 2015
>>>>> @@ -0,0 +1,3 @@
>>>>> +// Run cc1as asm output path just to make sure it works
>>>>> +// REQUIRES: x86-registered-target
>>>>> +// RUN: %clang -cc1as -triple x86_64-apple-macosx10.10.0 -filetype asm %s -o /dev/null
>>>>>
>>>>> Modified: cfe/trunk/tools/driver/cc1as_main.cpp
>>>>> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/tools/driver/cc1as_main.cpp?rev=243085&r1=243084&r2=243085&view=diff
>>>>> ==============================================================================
>>>>> --- cfe/trunk/tools/driver/cc1as_main.cpp (original)
>>>>> +++ cfe/trunk/tools/driver/cc1as_main.cpp Thu Jul 23 21:12:43 2015
>>>>> @@ -406,6 +406,9 @@ static bool ExecuteAssembler(AssemblerIn
>>>>>      Failed = Parser->Run(Opts.NoInitialTextSection);
>>>>>    }
>>>>>
>>>>> +  // Close Streamer first.
>>>>> +  // It might have a reference to the output stream.
>>>>> +  Str.reset();
>>>>>    // Close the output stream early.
>>>>>    BOS.reset();
>>>>>    FDOS.reset();


More information about the cfe-commits mailing list