llvm/test/MC/AsmParser
Oliver Stannard f4f85607e0 [Assembler] Better error messages for .org directive
Currently, the error messages we emit for the .org directive when the
expression is not absolute or is out of range do not include the line
number of the directive, so it can be hard to track down the problem if
a file contains many .org directives.

This patch stores the source location in the MCOrgFragment, so that it
can be used for diagnostics emitted during layout.

Since layout is an iterative process, and the errors are detected during
each iteration, it would have been possible for errors to be reported
multiple times. To prevent this, I've made the assembler bail out after
each iteration if any errors have been reported. This will still allow
multiple unrelated errors to be reported in the common case where they
are all detected in the first round of layout.

Differential Revision: https://reviews.llvm.org/D27411



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@289643 91177308-0d34-0410-b5e6-96231b3b80d8
2016-12-14 10:43:58 +00:00
..
AArch64 [MC] Fix Various End Of Line Comment checkings 2016-10-24 14:35:29 +00:00
align_invalid.s
assignment.s
at-pseudo-variable-bad.s [MC] Fix Error Location for ParseIdentifier 2016-10-12 13:58:07 +00:00
at-pseudo-variable.s [MC] [IAS] Add support for the \@ .macro pseudo-variable. 2015-04-27 10:50:29 +00:00
bad-macro.s
cfi-unfinished-frame.s
cfi-window-save.s Implements parsing and emitting of .cfi_window_save in MC. 2013-09-26 14:49:40 +00:00
comments-x86-darwin.s Followup to 258750; update all MC tests to use .p2align . 2016-01-26 00:27:59 +00:00
conditional_asm.s MCAsmParser: full support for gas' '.if{cond} expression' directives 2014-06-18 20:57:28 +00:00
dash-n.s
defsym_error1.s Teaching llvm-mc how to understand the defsym command line option. This allows integer-constant symbols to be defined on the command line and used during assembly. 2015-06-07 01:46:24 +00:00
defsym_error2.s Teaching llvm-mc how to understand the defsym command line option. This allows integer-constant symbols to be defined on the command line and used during assembly. 2015-06-07 01:46:24 +00:00
defsym.s Teaching llvm-mc how to understand the defsym command line option. This allows integer-constant symbols to be defined on the command line and used during assembly. 2015-06-07 01:46:24 +00:00
directive_abort.s
directive_align.s Followup to 258750; update all MC tests to use .p2align . 2016-01-26 00:27:59 +00:00
directive_ascii.s
directive_comm.s
directive_darwin_section.s
directive_dc.s [MC] Support .dc directives in assembler parser 2016-08-23 21:34:53 +00:00
directive_dcb.s [MC] Support .dcb directives in assembler parser 2016-09-23 19:25:15 +00:00
directive_desc.s
directive_ds.s [MC] Support .ds directives in assembler parser 2016-09-23 21:53:36 +00:00
directive_elf_size.s
directive_end-2.s AsmParser: add support for .end directive 2013-12-18 02:53:03 +00:00
directive_end.s AsmParser: add support for .end directive 2013-12-18 02:53:03 +00:00
directive_file-2.s PR11740: Disable assembly debug info when assembly already contains line directives 2016-05-26 00:22:26 +00:00
directive_file.s MCNullStreamer: assign file IDs to resolve crashes and errors 2014-06-19 17:15:36 +00:00
directive_fill.s [MC] Support symbolic expressions in assembly directives 2016-05-28 05:57:48 +00:00
directive_incbin.s [MC] Support skip and count for .incbin directive 2016-09-23 00:41:06 +00:00
directive_include.s Improve handling of .file, .include and .incbin directives to 2013-09-05 19:14:26 +00:00
directive_lcomm.s
directive_line.s MCNullStreamer: assign file IDs to resolve crashes and errors 2014-06-19 17:15:36 +00:00
directive_loc.s MCNullStreamer: assign file IDs to resolve crashes and errors 2014-06-19 17:15:36 +00:00
directive_lsym.s
directive_org.s
directive_rept-diagnostics.s AsmParser: cleanup diagnostics for .rep/.rept 2013-12-28 06:39:29 +00:00
directive_rept.s IAS: support .rep as an alias for .rept 2013-12-28 05:54:33 +00:00
directive_seh.s Rearrange the CHECK lines in this test to make failure more obvious. 2014-06-10 20:16:47 +00:00
directive_set.s MC: Don't emit .no_dead_strip on targets which don't support it 2014-12-24 04:11:42 +00:00
directive_space.s [MC] Support symbolic expressions in assembly directives 2016-05-28 05:57:48 +00:00
directive_subsections_via_symbols.s
directive_symbol_attrs.s
directive_tbss.s
directive_tdata.s
directive_thread_init_func.s
directive_tlv.s
directive_values.s MC: Fix .octa output for APInts with BitWidth > 128 2014-02-01 16:52:33 +00:00
directive_zerofill.s
directive-err-diagnostics.s Asm Parser: support .error directive 2014-02-23 23:02:23 +00:00
directive-err.s Asm Parser: support .error directive 2014-02-23 23:02:23 +00:00
directive-warning.s Let the integrated assembler understand .warning, PR20428. 2014-07-24 16:26:06 +00:00
dollars-in-identifiers.s
dot-symbol-assignment-backwards.s [Assembler] Better error messages for .org directive 2016-12-14 10:43:58 +00:00
dot-symbol-assignment.s Add support for assigning to . in AsmParser. 2014-02-17 20:48:32 +00:00
dot-symbol-non-absolute.s Simplify .org processing and make it a bit more powerful. 2015-11-04 23:50:29 +00:00
dot-symbol.s Add support for assigning to . in AsmParser. 2014-02-17 20:48:32 +00:00
equ.s [AsmParser] Diagnose empty symbol for .set directive 2016-12-01 18:00:36 +00:00
expr_symbol_modifiers.s
expr-shr.s [LLVM] Remove unwanted --check-prefix=CHECK from unit tests. NFC. 2016-04-19 23:51:52 +00:00
exprs-invalid.s [MC] Fix Various End Of Line Comment checkings 2016-10-24 14:35:29 +00:00
exprs.s [MC] Use LShr for constant evaluation of ">>" on non-arm64 darwin. 2015-11-11 00:51:36 +00:00
extern.s
floating-literals.s Ignore Lexing errors in macro body definitions 2016-06-02 17:15:05 +00:00
hash-directive.s Refactor and cleanup Assembly Parsing / Lexing 2016-06-17 16:06:17 +00:00
hello.s
if-diagnostics.s MCAsmParser: full support for gas' '.if{cond} expression' directives 2014-06-18 20:57:28 +00:00
ifb.s
ifc.s MCAsmParser: handle space properly for .ifc/.ifnc 2014-02-23 15:53:36 +00:00
ifdef.s
ifeqs-diagnostics.s Add support for .ifnes psuedo-op. 2015-03-18 14:20:54 +00:00
ifeqs.s AsmParser: support .ifeqs directive 2014-02-23 23:02:18 +00:00
ifndef.s
ifnes.s Add support for .ifnes psuedo-op. 2015-03-18 14:20:54 +00:00
incbin_abcd
inline-comments.ll Provide support for preserving assembly comments 2016-07-11 12:42:14 +00:00
invalid-asm-variant.s [MC] Make llvm-mc fail cleanly on invalid output asm variant. 2016-10-31 18:36:31 +00:00
invalid-input-assertion.s MC: remove unnecessary restriction on tests 2014-05-23 02:56:51 +00:00
labels.s
line_with_hash.s
lit.local.cfg Reduce verbiage of lit.local.cfg files 2014-06-09 22:42:55 +00:00
macro_parsing.s Ignore Lexing errors in macro body definitions 2016-06-02 17:15:05 +00:00
macro-args.s
macro-def-in-instantiation.s AsmParser: Parse (and ignore) nested .macro definitions. 2014-02-09 16:22:00 +00:00
macro-err1.s MCAsmParser: better handling for named arguments 2014-02-17 00:40:17 +00:00
macro-exitm.s Let the integrated assembler understand .exitm, PR20426. 2014-07-24 17:08:39 +00:00
macro-irp.s AsmParser: Fix nested .irp/.irpc 2016-03-01 08:18:28 +00:00
macro-irpc.s AsmParser: Fix nested .irp/.irpc 2016-03-01 08:18:28 +00:00
macro-max-depth.s [MC] Add command-line option to choose the max nest level in asm macros. 2016-07-27 05:51:56 +00:00
macro-qualifier-diagnostics.s MCAsmParser: support required parameters 2014-02-19 03:00:29 +00:00
macro-qualifier.s MCAsmParser: support required parameters 2014-02-19 03:00:29 +00:00
macro-rept-err1.s
macro-rept-err2.s
macro-rept.s
macros-argument-parsing-diagnostics.s MCAsmParser: better handling for named arguments 2014-02-17 00:40:17 +00:00
macros-argument-parsing.s MCAsmParser: add some mixed argument tests 2014-02-17 00:40:22 +00:00
macros-darwin-vararg.s Fix a bunch of trivial cases of 'CHECK[^:]*$' in the tests. NFCI 2015-08-10 19:01:27 +00:00
macros-darwin.s MC: Better management of macro arguments 2014-01-29 18:57:46 +00:00
macros-gas.s [MC] Fixed parsing of macro arguments where expressions with spaces are present. 2016-02-11 13:48:49 +00:00
macros-parsing.s
pr11865.s
pr28805.ll Revert r276895 "[MC][X86] Fix Intel Operand assembly parsing for .set ids" 2016-08-01 23:00:01 +00:00
pr28921.s Prevent out of order HashDirective lexing in AsmLexer. 2016-10-03 13:48:27 +00:00
preserve-comments.s [MC] Cleanup Error Handling in AsmParser 2016-07-18 15:24:03 +00:00
purgem.s
reassign.s [MC/AsmParser] Avoid setting MCSymbol.IsUsed in some cases 2015-08-31 17:44:53 +00:00
rename.s Centralize the handling of unique ids for temporary labels. 2015-03-17 20:07:06 +00:00
section_names.s
section.s Relax these tests a bit. 2015-05-22 21:37:13 +00:00
secure_log_unique.s llvm/test/MC/AsmParser/secure_log_unique.s: Use env(1) here. Then r186611 can be reverted. 2013-07-19 01:26:08 +00:00
undefined-local-symbol.s MC: Don't crash after issuing a diagnostic. 2015-10-16 22:07:59 +00:00
uppercase-hex.s [MCParser] Accept uppercase radix variants 0X and 0B 2016-03-18 18:22:07 +00:00
vararg-default-value.s Integrated assbemler, macros: added 'vararg' argument qualifier support. 2014-04-23 06:56:28 +00:00
vararg.s Fix a bunch of trivial cases of 'CHECK[^:]*$' in the tests. NFCI 2015-08-10 19:01:27 +00:00
variables-invalid.s
variables.s