mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2026-04-26 12:20:42 +00:00
Add a new "available_externally" linkage type. This is intended
to support C99 inline, GNU extern inline, etc. Related bugzilla's include PR3517, PR3100, & PR2933. Nothing uses this yet, but it appears to work. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@68940 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@@ -487,6 +487,7 @@ lltok::Kind LLLexer::LexIdentifier() {
|
||||
|
||||
KEYWORD(private);
|
||||
KEYWORD(internal);
|
||||
KEYWORD(available_externally);
|
||||
KEYWORD(linkonce);
|
||||
KEYWORD(linkonce_odr);
|
||||
KEYWORD(weak);
|
||||
|
||||
@@ -764,6 +764,9 @@ bool LLParser::ParseOptionalLinkage(unsigned &Res, bool &HasLinkage) {
|
||||
case lltok::kw_weak_odr: Res = GlobalValue::WeakODRLinkage; break;
|
||||
case lltok::kw_linkonce: Res = GlobalValue::LinkOnceAnyLinkage; break;
|
||||
case lltok::kw_linkonce_odr: Res = GlobalValue::LinkOnceODRLinkage; break;
|
||||
case lltok::kw_available_externally:
|
||||
Res = GlobalValue::AvailableExternallyLinkage;
|
||||
break;
|
||||
case lltok::kw_appending: Res = GlobalValue::AppendingLinkage; break;
|
||||
case lltok::kw_dllexport: Res = GlobalValue::DLLExportLinkage; break;
|
||||
case lltok::kw_common: Res = GlobalValue::CommonLinkage; break;
|
||||
|
||||
@@ -37,7 +37,7 @@ namespace lltok {
|
||||
kw_global, kw_constant,
|
||||
|
||||
kw_private, kw_internal, kw_linkonce, kw_linkonce_odr, kw_weak, kw_weak_odr,
|
||||
kw_appending, kw_dllimport, kw_dllexport, kw_common,
|
||||
kw_appending, kw_dllimport, kw_dllexport, kw_common,kw_available_externally,
|
||||
kw_default, kw_hidden, kw_protected,
|
||||
kw_extern_weak,
|
||||
kw_external, kw_thread_local,
|
||||
|
||||
Reference in New Issue
Block a user