Index: clang/lib/Basic/Targets/AVR.cpp =================================================================== --- clang/lib/Basic/Targets/AVR.cpp +++ clang/lib/Basic/Targets/AVR.cpp @@ -309,6 +309,8 @@ Builder.defineMacro("__AVR__"); Builder.defineMacro("__ELF__"); Builder.defineMacro("__flash", "__attribute__((address_space(1)))"); + Builder.defineMacro("__UINT16_TYPE__", "unsigned int"); + Builder.defineMacro("__INT16_TYPE__", "int"); if (!this->CPU.empty()) { auto It = llvm::find_if( Index: clang/test/CodeGen/builtins.cpp =================================================================== --- clang/test/CodeGen/builtins.cpp +++ clang/test/CodeGen/builtins.cpp @@ -1,6 +1,5 @@ // RUN: %clang_cc1 -std=c++11 -triple x86_64-linux-gnu -ffreestanding -verify %s // RUN: %clang_cc1 -std=c++11 -triple i686-pc-linux-gnu -ffreestanding -verify %s -// RUN: %clang_cc1 -std=c++11 -triple avr-unknown-unknown -ffreestanding -verify %s // expected-no-diagnostics Index: clang/test/Preprocessor/init.c =================================================================== --- clang/test/Preprocessor/init.c +++ clang/test/Preprocessor/init.c @@ -1941,7 +1941,7 @@ // AVR:#define __GXX_ABI_VERSION 1002 // AVR:#define __INT16_C_SUFFIX__ // AVR:#define __INT16_MAX__ 32767 -// AVR:#define __INT16_TYPE__ short +// AVR:#define __INT16_TYPE__ int // AVR:#define __INT32_C_SUFFIX__ L // AVR:#define __INT32_MAX__ 2147483647L // AVR:#define __INT32_TYPE__ long int @@ -2016,7 +2016,7 @@ // AVR:#define __SIZE_TYPE__ unsigned int // AVR:#define __STDC__ 1 // AVR:#define __UINT16_MAX__ 65535U -// AVR:#define __UINT16_TYPE__ unsigned short +// AVR:#define __UINT16_TYPE__ unsigned int // AVR:#define __UINT32_C_SUFFIX__ UL // AVR:#define __UINT32_MAX__ 4294967295UL // AVR:#define __UINT32_TYPE__ long unsigned int