aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/Basic/Targets.cpp12
-rw-r--r--test/Preprocessor/init.c9
2 files changed, 12 insertions, 9 deletions
diff --git a/lib/Basic/Targets.cpp b/lib/Basic/Targets.cpp
index b96e17d892..c1cd96e361 100644
--- a/lib/Basic/Targets.cpp
+++ b/lib/Basic/Targets.cpp
@@ -1619,23 +1619,25 @@ namespace {
virtual void getTargetDefines(const LangOptions &Opts,
MacroBuilder &Builder) const {
Builder.defineMacro("__pic16");
+ Builder.defineMacro("__PIC16");
Builder.defineMacro("rom", "__attribute__((address_space(1)))");
Builder.defineMacro("ram", "__attribute__((address_space(0)))");
- Builder.defineMacro("_section(SectName)",
+ Builder.defineMacro("__section(SectName)",
"__attribute__((section(SectName)))");
Builder.defineMacro("near",
"__attribute__((section(\"Address=NEAR\")))");
- Builder.defineMacro("_address(Addr)",
+ Builder.defineMacro("__address(Addr)",
"__attribute__((section(\"Address=\"#Addr)))");
- Builder.defineMacro("_CONFIG(conf)", "asm(\"CONFIG \"#conf)");
- Builder.defineMacro("_interrupt",
+ Builder.defineMacro("__config(conf)", "asm(\"CONFIG \"#conf)");
+ Builder.defineMacro("__idlocs(value)", "asm(\"__IDLOCS \"#value)");
+ Builder.defineMacro("interrupt",
"__attribute__((section(\"interrupt=0x4\"))) \
__attribute__((used))");
}
virtual void getTargetBuiltins(const Builtin::Info *&Records,
unsigned &NumRecords) const {}
virtual const char *getVAListDeclaration() const {
- return "";
+ return "typedef char* __builtin_va_list;";
}
virtual const char *getClobbers() const {
return "";
diff --git a/test/Preprocessor/init.c b/test/Preprocessor/init.c
index a1485b6501..00ea92c26b 100644
--- a/test/Preprocessor/init.c
+++ b/test/Preprocessor/init.c
@@ -443,7 +443,7 @@
//
// RUN: %clang_cc1 -E -dM -ffreestanding -triple=pic16-none-none < /dev/null | FileCheck -check-prefix PIC16 %s
//
-// PIC16:#define _CONFIG(conf) asm("CONFIG "#conf)
+// PIC16:#define __config(conf) asm("CONFIG "#conf)
// PIC16:#define __CHAR_BIT__ 8
// PIC16:#define __DBL_DENORM_MIN__ 1.40129846e-45F
// PIC16:#define __DBL_DIG__ 6
@@ -518,9 +518,10 @@
// PIC16:#define __clang__ 1
// PIC16:#define __llvm__ 1
// PIC16:#define __pic16 1
-// PIC16:#define _address(Addr) __attribute__((section("Address="#Addr)))
-// PIC16:#define _interrupt __attribute__((section("interrupt=0x4"))) __attribute__((used))
-// PIC16:#define _section(SectName) __attribute__((section(SectName)))
+// PIC16:#define __PIC16 1
+// PIC16:#define __address(Addr) __attribute__((section("Address="#Addr)))
+// PIC16:#define interrupt __attribute__((section("interrupt=0x4"))) __attribute__((used))
+// PIC16:#define __section(SectName) __attribute__((section(SectName)))
// PIC16:#define ram __attribute__((address_space(0)))
// PIC16:#define rom __attribute__((address_space(1)))
//