r243085 - Fix the cc1as crash when it outputs assembly

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


Thanks! r244116.

 - Hans

On Wed, Aug 5, 2015 at 1:23 PM, Rafael Espíndola
<rafael.espindola at gmail.com> wrote:
> It is probably very safe, so fine by me.
>
> On 5 August 2015 at 16:19, Hans Wennborg <hans at chromium.org> wrote:
>> 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