On Tue, Dec 9, 2014 at 1:55 PM, Eric Christopher <[email protected]> wrote:
> > > On Fri Dec 05 2014 at 3:56:09 PM Eric Christopher <[email protected]> > wrote: > >> Hi Oliver, >> >> I'm sorry for the thread archaeology, but I didn't see this when it went >> in. >> >> >>> [ARM] Change default ABI for AArch32 to be "aapcs" (was "apcs-gnu") >>> >>> The current default abi when no environment is given is "apcs-gnu", >>> which is obsolete. This patch changes the default to "aapcs". "aapcs" >>> has both >>> hard- and soft-float variants, so the -mhard-float, -msoft-float and >>> -mfloat-abi= options now all behave as expected when no environment is >>> specified in the triple. >>> >>> >> Is there an actual compelling reason to make this change? Does it get us >> conformity with any other tools? >> >> As a note, you also didn't change the backend to match this which is >> causing me some amount of annoyance in trying to get everything to agree. >> I'm unraveling it, but it's taking some time. :) >> >> > > Ping? Do you have a reason for this change? Basically it means a lot of > updating the back end if we want them to agree for no good reason so I'm of > mind to revert this. > I feel like Oliver's change here is a good thing. AAPCS has been around for quite some time now and its time that tools moved on. iOS is the only environment that I can think of that uses APCS any longer (and I'd like to say that we only support the variant used for that environment) as most Linux distributions have switched AAPCS. -eric > > >> While writing this I also noticed that a preprocessor test claims to be >>> checking darwin, but is actually checking the defaults, which are >>> different for darwin. >>> >>> >> Weird. >> >> >>> >>> -// RUN: %clang -target arm -arch armv7s -x c -E -dM %s -o - | FileCheck >>> --check-prefix=ARM-DARWIN-NO-EABI %s >>> -// RUN: %clang -target arm -arch armv6m -x c -E -dM %s -o - | FileCheck >>> --check-prefix=ARM-DARWIN-NO-EABI %s >>> -// RUN: %clang -target arm -arch armv7m -x c -E -dM %s -o - | FileCheck >>> --check-prefix=ARM-DARWIN-NO-EABI %s >>> -// RUN: %clang -target arm -arch armv7em -x c -E -dM %s -o - | >>> FileCheck --check-prefix=ARM-DARWIN-NO-EABI %s >>> +// RUN: %clang -target arm-apple-darwin-eabi -arch armv7s -x c -E -dM >>> %s -o - | FileCheck --check-prefix=ARM-DARWIN-NO-EABI %s >>> +// RUN: %clang -target arm-apple-darwin-eabi -arch armv6m -x c -E -dM >>> %s -o - | FileCheck --check-prefix=ARM-DARWIN-EABI %s >>> +// RUN: %clang -target arm-apple-darwin-eabi -arch armv7m -x c -E -dM >>> %s -o - | FileCheck --check-prefix=ARM-DARWIN-EABI %s >>> +// RUN: %clang -target arm-apple-darwin-eabi -arch armv7em -x c -E -dM >>> %s -o - | FileCheck --check-prefix=ARM-DARWIN-EABI %s >>> // RUN: %clang -target thumbv7-apple-darwin-eabi -arch armv7 -x c -E >>> -dM %s -o - | FileCheck --check-prefix=ARM-DARWIN-NO-EABI %s >>> // ARM-DARWIN-NO-EABI-NOT: #define __ARM_EABI__ 1 >>> +// ARM-DARWIN-EABI: #define __ARM_EABI__ 1 >>> >>> >> I don't think this change is quite correct, it would be better to use a >> triple that acutally exists and then maybe -mabi instead? cc'ing Tim as he >> put that part in originally. >> >> -eric >> > > _______________________________________________ > cfe-commits mailing list > [email protected] > http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits > > -- Saleem Abdulrasool compnerd (at) compnerd (dot) org
_______________________________________________ cfe-commits mailing list [email protected] http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
