IAR Information Center for Arm

If the compiler warning is ignored, the linker will issue an error:

Error[Li005]: no definition for "__get_SB"
void f(int x) < if (7 - x != 4) < printf("exit 1\n"); return; >if (7 - x != 4) < printf("exit 2\n"); return; >printf("exit 3\n"); return; >
int ff(int *); int f(int i) < switch (i) < case 1: < int j1; i = ff(&j1); i += j1; break; >case 2: < int j2; i = ff(&j2); i += j2; break; >> return i; >
class Other final < public: ~Other() <> >; class Base < public: virtual ~Base() = default; >; template class Derived : public Base < public: // ***** Spurious error Pe766 here ~Derived() override = default; private: Other other; >; // ***** Spurious warning Pe768 here class Derived2 : public Derivedint> <>;
void f(char *p, signed long v, char m) < char tmp[2] = < 4, 2 >; char r; switch (m) < case 1: < *p = ((char)(v)); >break; case 2: < *p = ((char)((v * 255) / 100)); r = ((char)((v * 255) % 100)); if ((r >= 50) && ((*p) < 255)) < (*p)++; >> break; case 3: < *p = ((char)(v)); >break; case 4: < memcpy(p, &tmp[0], 2); >break; case 5: < memcpy(p, &tmp[0], 2); >break; > >
typedef struct refPic < struct refPic *refPic; >refPic; typedef struct < refPic refPic[20]; refPic refPicList[20]; >picBuffer;
struct X < alignas(8) static constexpr short sh[2]; >;
if (((64 - 1u) < (levelState - 1u))) < __set_BASEPRI(64); >State->Level = levelState;
struct S < int i; constexpr S(): i<> <> >; struct X < constexpr X(): p(&u.i) <>// Note: p references inside u S u; int *p; >; struct Y: X < constexpr Y() <>>; constexpr Y y; // Error[Pe2807]: initialization is not constant 
struct A < int x : 8; int y : 8; >; struct A f(int x, int y) < struct A id; id.x = x; // Triggers Go029 erroneously id.y = y; return id; >
templateint n> class Class < public: static long test(long x) < if constexpr(n < 0) < return 0; > else < return 1; > > // Warning[Pe940]: missing return statement at end of non-void function >;

User guide corrections

Miscellaneous