From: Sanjiv Gupta Date: Mon, 15 Feb 2010 17:19:13 +0000 (+0000) Subject: Re-applying 96173 with corresponding changes in test. X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=aed63cbe10bbef09e2bb75592760b7dc8007bbfe;p=clang Re-applying 96173 with corresponding changes in test. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@96242 91177308-0d34-0410-b5e6-96231b3b80d8 --- 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))) //