@@ -273,11 +273,10 @@ TEST_F(LinkerScriptLexerTest, checkAddrTest) {
273
273
274
274
TEST_F (LinkerScriptLexerTest, checkAlignEmptyTest) {
275
275
llvm::StringRef testRef = " SECTIONS { \
276
- . = SIZEOF_HEADERS; \
277
- abc : {} \
278
- . = ALIGN(0x1000); \
279
- foo : { *(foo) } \
280
- }" ;
276
+ . = SIZEOF_HEADERS; \
277
+ abc : {} \
278
+ . = ALIGN(0x1000); \
279
+ foo : { *(foo) }}" ;
281
280
setupCallToLinkScriptLexer (testRef);
282
281
llvm::SmallVector<ScriptToken> ExpectedTokens ({ScriptToken::LS_SECTIONS,
283
282
ScriptToken::CurlyBegin,
@@ -371,5 +370,19 @@ TEST_F(LinkerScriptLexerTest, checkMemoryTest) {
371
370
lexAndCheckTokens (ExpectedTokens);
372
371
}
373
372
373
+ TEST_F (LinkerScriptLexerTest, checkCONSTRUCTORS) {
374
+ llvm::StringRef testRef = " SECTIONS {foo : {*(.foo) CONSTRUCTORS}}" ;
375
+ setupCallToLinkScriptLexer (testRef);
376
+ llvm::SmallVector<ScriptToken> ExpectedTokens (
377
+ {ScriptToken::LS_SECTIONS, ScriptToken::CurlyBegin,
378
+ ScriptToken::Identifier, ScriptToken::Colon, ScriptToken::CurlyBegin,
379
+ ScriptToken::Asterisk, ScriptToken::BracektBegin,
380
+ ScriptToken::Identifier, ScriptToken::BracektEnd,
381
+ ScriptToken::LS_CONSTRUCTORS, ScriptToken::CurlyEnd,
382
+ ScriptToken::CurlyEnd});
383
+
384
+ lexAndCheckTokens (ExpectedTokens);
385
+ }
386
+
374
387
} // namespace elf
375
388
} // namespace lld
0 commit comments