Accept 'weak' as a linkage type. For now, just turn it into linkonce linkage
authorChris Lattner <sabre@nondot.org>
Fri, 10 Oct 2003 04:54:02 +0000 (04:54 +0000)
committerChris Lattner <sabre@nondot.org>
Fri, 10 Oct 2003 04:54:02 +0000 (04:54 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8998 91177308-0d34-0410-b5e6-96231b3b80d8

lib/AsmParser/Lexer.l
lib/AsmParser/llvmAsmParser.y

index 6e69262c5f27310ca60bf62acbda207511ad0ab0..0a9d2c3e8f9b49762496b54e3bf6547d2f63d046 100644 (file)
@@ -170,6 +170,7 @@ constant        { return CONSTANT; }
 const           { return CONST; }
 internal        { return INTERNAL; }
 linkonce        { return LINKONCE; }
+weak            { return WEAK; }
 appending       { return APPENDING; }
 uninitialized   { return EXTERNAL; }    /* Deprecated, turn into external */
 external        { return EXTERNAL; }
index 4543fcdc49c8a6403449c297f52f872ac81be2f4..dcfb94365733a1436daac82715e574ce21042761 100644 (file)
@@ -697,7 +697,7 @@ Module *RunVMAsmParser(const std::string &Filename, FILE *F) {
 
 %token IMPLEMENTATION ZEROINITIALIZER TRUE FALSE BEGINTOK ENDTOK
 %token DECLARE GLOBAL CONSTANT VOLATILE
-%token TO EXCEPT DOTDOTDOT NULL_TOK CONST INTERNAL LINKONCE APPENDING
+%token TO EXCEPT DOTDOTDOT NULL_TOK CONST INTERNAL LINKONCE WEAK  APPENDING
 %token OPAQUE NOT EXTERNAL TARGET ENDIAN POINTERSIZE LITTLE BIG
 
 // Basic Block Terminating Operators 
@@ -763,6 +763,7 @@ OptAssign : Name '=' {
 
 OptLinkage : INTERNAL  { $$ = GlobalValue::InternalLinkage; } |
              LINKONCE  { $$ = GlobalValue::LinkOnceLinkage; } |
+             WEAK      { $$ = GlobalValue::LinkOnceLinkage; /* FIXME */ } |
              APPENDING { $$ = GlobalValue::AppendingLinkage; } |
              /*empty*/ { $$ = GlobalValue::ExternalLinkage; };