Re-applying 96173 with corresponding changes in test.

llvm-svn: 96242
This commit is contained in:
Sanjiv Gupta 2010-02-15 17:19:13 +00:00
parent 63cedef74b
commit af56d377f1
2 changed files with 12 additions and 9 deletions

View File

@ -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 "";

View File

@ -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)))
//