r243085 - Fix the cc1as crash when it outputs assembly

Hans Wennborg hans at chromium.org
Thu Jul 30 10:20:24 PDT 2015


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