summaryrefslogtreecommitdiffstats
path: root/llvm/lib/MC/MCParser/AsmLexer.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Revert r15266. This fixes llvm.org/pr15266.Rafael Espindola2013-02-141-40/+19
| | | | llvm-svn: 175173
* [ms-inline asm] Add support for lexing binary integers with a [bB] suffix.Chad Rosier2013-02-121-19/+40
| | | | | | | | | | | | | | This is complicated by backward labels (e.g., 0b can be both a backward label and a binary zero). The current implementation assumes [0-9]b is always a label and thus it's possible for 0b and 1b to not be interpreted correctly for ms-style inline assembly. However, this is relatively simple to fix in the inline assembly (i.e., drop the [bB]). This patch also limits backward labels to [0-9]b, so that only 0b and 1b are ambiguous. Part of rdar://12470373 llvm-svn: 174983
* Update error message due to previous commit, r174926.Chad Rosier2013-02-121-1/+3
| | | | llvm-svn: 174927
* [ms-inline asm] Add support for lexing hexidecimal integers with a [hH] suffix.Chad Rosier2013-02-121-14/+47
| | | | | | Part of rdar://12470373 llvm-svn: 174926
* Use the new script to sort the includes of every file under lib.Chandler Carruth2012-12-031-2/+2
| | | | | | | | | | | | | | | | | Sooooo many of these had incorrect or strange main module includes. I have manually inspected all of these, and fixed the main module include to be the nearest plausible thing I could find. If you own or care about any of these source files, I encourage you to take some time and check that these edits were sensible. I can't have broken anything (I strictly added headers, and reordered them, never removed), but they may not be the headers you'd really like to identify as containing the API being implemented. Many forward declarations and missing includes were added to a header files to allow them to parse cleanly when included first. The main module rule does in fact have its merits. =] llvm-svn: 169131
* Add support for macro parameters/arguments delimited by spaces,Preston Gurd2012-09-191-2/+11
| | | | | | | | | | to improve compatibility with GNU as. Based on a patch by PaX Team. Fixed assertion failures on non-Darwin and added additional test cases. llvm-svn: 164248
* Handle missing newline at EOF more gracefully in MC AsmLexer.Jim Grosbach2011-09-151-1/+8
| | | | | | | | | If we see an EOF w/o a preceding end-of-line, return an EndOfStatement token before returning the Eof token. Based on patch by Stepan Dyatkovskiy. llvm-svn: 139798
* Move state var to private class member.Jim Grosbach2011-09-141-1/+1
| | | | llvm-svn: 139697
* First step in supporting #line directives in assembler. This step parses theKevin Enderby2011-09-131-1/+22
| | | | | | | | | #line directives with the needed support in the lexer. Next will be to build a simple file/line# table mapping source SMLoc's for later use by diagnostics. And the last step will be to get the diagnostics to use the mapping for file and line numbers. llvm-svn: 139669
* allow \r's in .s files.Chris Lattner2011-08-041-1/+1
| | | | llvm-svn: 136908
* Basic support for macros with explicit arguments.Rafael Espindola2011-06-051-0/+1
| | | | | | | | | | | We still don't handle * default values * :req * :vararg * \() llvm-svn: 132656
* Match case for invalid constant error messages and add a newEric Christopher2011-04-121-5/+5
| | | | | | test for invalid hexadecimals. llvm-svn: 129326
* Lex, and then fail on invalid constants.Eric Christopher2011-04-111-1/+1
| | | | | | | | Testcase forthcoming. rdar://8490596 llvm-svn: 129309
* Clean up assembly statement separator support.Jim Grosbach2011-03-241-4/+14
| | | | | | | | The MC asm lexer wasn't honoring a non-default (anything but ';') statement separator. Fix that, and generalize a bit to support multi-character statement separators. llvm-svn: 128227
* More whitespace cleanup...Jim Grosbach2011-02-111-40/+40
| | | | llvm-svn: 125388
* Generalize a previous change, fixing PR8855 - an valid large immediateChris Lattner2010-12-251-6/+6
| | | | | | rejected by the mc assembler. llvm-svn: 122557
* Add missing standard headers. Patch by Joerg Sonnenberger!Nick Lewycky2010-12-191-0/+1
| | | | llvm-svn: 122193
* Add support for lexing single quotes like 'c'.Roman Divacky2010-12-181-0/+37
| | | | | | This fixed 8615. llvm-svn: 122150
* MC/AsmLexer: Fix bug in source location for Slash token.Daniel Dunbar2010-10-251-1/+1
| | | | llvm-svn: 117298
* MC/AsmParser: Handle exponents in floating point literals.Daniel Dunbar2010-09-271-9/+30
| | | | llvm-svn: 114861
* MC/AsmParser: Handle a missed case of floating literals in the lexer.Daniel Dunbar2010-09-241-1/+1
| | | | llvm-svn: 114733
* MC/Lexer: Add 'Real' token type for floating point literals.Daniel Dunbar2010-09-241-5/+24
| | | | llvm-svn: 114718
* fix rdar://7997827 - Accept and ignore LL and ULL suffixes on integer literals.Chris Lattner2010-08-241-2/+26
| | | | | | Also fix 0b010 syntax to actually work while we're at it :-) llvm-svn: 111876
* MC: Move getLoc() to MCAsmLexer().Daniel Dunbar2010-07-121-5/+0
| | | | llvm-svn: 108154
* Convert some tab stops into spaces.Duncan Sands2010-07-121-1/+1
| | | | llvm-svn: 108130
* Add support for parsing the ELF .type assembler directive.Matt Fleming2010-05-211-0/+1
| | | | llvm-svn: 104316
* Incorporate Daniel's suggestion and use !isdigit(CurPtr[0]) and notKevin Enderby2010-05-181-1/+1
| | | | | | | CurPtr[0] == '\n' when testing the character after a "0b" when looking to see if it part of a something like "jmp 0b". llvm-svn: 104039
* Fixed the problem with a branch to "0b" that was not parsed by llvm-mcKevin Enderby2010-05-181-1/+0
| | | | | | | correctly. The Lexer was incorrectly eating the newline casusing it to branch to address 0. Updated the test case to use a "0:" label and a branch to "0b". llvm-svn: 104038
* Added support in MC for Directional Local Labels.Kevin Enderby2010-05-171-5/+7
| | | | llvm-svn: 103989
* Revert r103137, fix for $ in labels. It looks like we can't actually handle thisDaniel Dunbar2010-05-061-16/+7
| | | | | | | | | | | | at the token level. Consider the following horrible test case: a = 1 .globl $a movl ($a), %eax movl $a, %eax movl $$a, %eax llvm-svn: 103178
* fix rdar://7946934 - in some limited cases, the assembler shouldChris Lattner2010-05-051-7/+16
| | | | | | allow $ at the start of a symbol name. llvm-svn: 103137
* implement mc asmparser support for '.', which gets theChris Lattner2010-04-141-0/+5
| | | | | | | | | | | | | | | | | | | current PC. rdar://7834775 We now produce an identical .o file compared to the cctools assembler for something like this: _f0: L0: jmp L1 .long . - L0 L1: jmp A .long . - L1 .zerofill __DATA,_bss,A,0 llvm-svn: 101227
* add a hack to allow parsing negative minint. rdar://7751341Chris Lattner2010-03-131-2/+8
| | | | llvm-svn: 98442
* stop using strtoll, it gives windows heartburn.Chris Lattner2010-01-221-8/+24
| | | | llvm-svn: 94167
* move some files out of the llvm-mc tool into the MCParser library soChris Lattner2010-01-221-0/+304
other tools can link it. llvm-svn: 94131
OpenPOWER on IntegriCloud