0

I'm not sure how to find out what version of ARM compiler(armcc) is required for any given attribute to be supported.

For example __atribute__((noinline))?

See http://www.keil.com/support/man/docs/armcc/armcc_chr1359124975804.htm

Peter Cordes
  • 328,167
  • 45
  • 605
  • 847
  • 1
    Failing a useful answer, there's always "manually dig through [all of the old compiler user guides and/or release notes](http://infocenter.arm.com/help/topic/com.arm.doc.set.swdev/index.html)"... (and if you find yourself back beyond RVDS 4.0, you've probably gone too far) – Notlikethat Aug 12 '16 at 21:02
  • But I'm building which uses different versions of armcc :( – Djordje Zivanovic Aug 12 '16 at 21:06

1 Answers1

3

To address the titular question directly, the earliest version of armcc for which __attribute__((noinline)) is supported is version 3.0. I found that out the hard way, though; I don't know of any quick-reference for which versions introduced particular features.

Notlikethat
  • 20,095
  • 3
  • 40
  • 77
  • I've sometimes put code on http://gcc.godbolt.org/ and flipped through old gcc versions to find when something was first supported. (From gcc 4.4 to 6.1 currently.) Also, if a clang version doesn't support it, you know that whatever version of `__GNUC__` and `__GNUC_MINOR__` it defines isn't high enough to include that feature. – Peter Cordes Aug 13 '16 at 04:07