@@ -480,5 +480,27 @@ TEST_F(LinkerScriptLexerTest, checkDataCommands) {
480
480
lexAndCheckTokens (ExpectedTokens);
481
481
}
482
482
483
+ TEST_F (LinkerScriptLexerTest, checkDefinedTest) {
484
+ llvm::StringRef testRef = " EXTERN(extern_defined) \n SECTIONS { . = \
485
+ DEFINED(defined) ? 0x11000 : .;.foo : { *(.foo*) }" ;
486
+ setupCallToLinkScriptLexer (testRef);
487
+ llvm::SmallVector<ScriptToken> ExpectedTokens (
488
+ {ScriptToken::LS_EXTERN, ScriptToken::BracektBegin,
489
+ ScriptToken::Identifier, ScriptToken::BracektEnd,
490
+ ScriptToken::LS_SECTIONS, ScriptToken::CurlyBegin,
491
+ ScriptToken::Dot, ScriptToken::Assign,
492
+ ScriptToken::LS_DEFINED, ScriptToken::BracektBegin,
493
+ ScriptToken::Identifier, ScriptToken::BracektEnd,
494
+ ScriptToken::QuestionMark, ScriptToken::Hexdecimal,
495
+ ScriptToken::Colon, ScriptToken::Dot,
496
+ ScriptToken::Semicolon, ScriptToken::Identifier,
497
+ ScriptToken::Colon, ScriptToken::CurlyBegin,
498
+ ScriptToken::Asterisk, ScriptToken::BracektBegin,
499
+ ScriptToken::Identifier, ScriptToken::BracektEnd,
500
+ ScriptToken::CurlyEnd});
501
+
502
+ lexAndCheckTokens (ExpectedTokens);
503
+ }
504
+
483
505
} // namespace elf
484
506
} // namespace lld
0 commit comments