http://llvm.org/bugs/show_bug.cgi?id=20431

            Bug ID: 20431
           Summary: `getTok().getIdentifier() == ".rept"` check in
                    AsmParser::parseMacroLikeBody() looks wrong
           Product: libraries
           Version: trunk
          Hardware: PC
                OS: All
            Status: NEW
          Severity: normal
          Priority: P
         Component: MC
          Assignee: [email protected]
          Reporter: [email protected]
                CC: [email protected]
    Classification: Unclassified

AsmParser::parseMacroLikeBody() contains

    if (Lexer.is(AsmToken::Identifier) &&
        (getTok().getIdentifier() == ".rept")) {
      ++NestLevel;
    }

to support nested .rept blocks. This was added in
http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20120528/143967.html

The function is also used for .irp and .irpc though – since there's no check
for .irp and .irpc in that line, these can't be nested, and the three
directives can't be nested with each other either. Only .rept can be nested
with itself.

>From svn history, this looks like an oversight, not like a conscious decision.

-- 
You are receiving this mail because:
You are on the CC list for the bug.
_______________________________________________
LLVMbugs mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/llvmbugs

Reply via email to