[cfe-dev] [RFC] Fix Clang test case failure on ARM

James Molloy james at jamesmolloy.co.uk
Mon Apr 30 11:19:15 PDT 2012


Hi,

Personally, I'd create a new RUN line, and have one run as x86 and the
other as ARM.

That would mean you could be strict in the pattern match still and not
relax it and deal with the fallout of false positives.

Cheers,

James

On 30 April 2012 17:23, 陳韋任 <chenwj at iis.sinica.edu.tw> wrote:
> Hi Eli,
>
>> >  Clang :: CodeGenCXX/virt-call-offsets.cpp
>
>  Below is the difference of x86 and arm output.
>
> x86:
>  @x = global { i64, i64 } { i64 1, i64 0 }" align 8
>
> arm:
>  @x = global { i32, i32 } { i32 0, i32 1 }, align 4
>
> According to TNorthover on IRC, this could be x86 and ARM C++ ABI difference on
> member function pointers (Sec. 3.2.1 in [1]), so both of them are correct. I am
> not sure how to write the correct pattern for x86 and arm. The pattern below is
> O.K. for x86 and arm, but I think this pattern doesn't guarantee the order (1, 0)
> and (0, 1) for x86 and arm respectively, which means "{ i32 0, i32 0 }" pass, too.
>
> // CHECK: @x = global { i{{[0-9]+}}, i{{[0-9]+}} } { i{{[0-9]+}} {{0|1}}, i{{[0-9]+}} {{1|0}} }
>
> Any idea on how to make the pattern better? Thanks.
>
> Regards,
> chenwj
>
> [1]
> http://infocenter.arm.com/help/topic/com.arm.doc.ihi0041c/IHI0041C_cppabi.pdf
>
> --
> Wei-Ren Chen (陳韋任)
> Computer Systems Lab, Institute of Information Science,
> Academia Sinica, Taiwan (R.O.C.)
> Tel:886-2-2788-3799 #1667
> Homepage: http://people.cs.nctu.edu.tw/~chenwj
>
> _______________________________________________
> cfe-dev mailing list
> cfe-dev at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev




More information about the cfe-dev mailing list