| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
|
|
| |
For some reason .lcomm uses byte alignment and .comm log2 alignment so we can't
use the same setting for both. Fix this by reintroducing the LCOMM enum.
I verified this against mingw's gcc.
llvm-svn: 163420
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Darwin lied about not supporting .lcomm and turned it into zerofill in the
asm parser. Push the zerofill-conversion down into macho-specific code.
- This makes the tri-state LCOMMType enum superfluous, there are no targets
without .lcomm.
- Do proper error reporting when trying to use .lcomm with alignment on a target
that doesn't support it.
- .comm and .lcomm alignment was parsed in bytes on COFF, should be power of 2.
- Fixes PR13755 (.lcomm crashes on ELF).
llvm-svn: 163395
|
|
|
|
| |
llvm-svn: 162826
|
|
|
|
|
|
| |
on a patch by Andy/PaX. I added the support for dot and dollar.
llvm-svn: 162298
|
|
|
|
|
|
|
| |
consistent with the other "expected identifier" errors.
Extracted from the Andy/PaX patch. I added the test.
llvm-svn: 162291
|
|
|
|
| |
llvm-svn: 162283
|
|
|
|
| |
llvm-svn: 162282
|
|
|
|
| |
llvm-svn: 162281
|
|
|
|
|
|
| |
Committing it first as it makes the "real" patch a lot easier to read.
llvm-svn: 161491
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Empty macro arguments at the end of the list should be as-if not specified at
all, but those in the middle of the list need to be kept so as not to screw
up the positional numbering. E.g.:
.macro foo
foo_-bash___:
nop
.endm
foo 1, 2, 3, 4
foo 1, , 3, 4
Should create two labels, "foo_1_2_3_4" and "foo_1__3_4".
rdar://11948769
llvm-svn: 161002
|
|
|
|
| |
llvm-svn: 160621
|
|
|
|
| |
llvm-svn: 160475
|
|
|
|
|
|
|
|
| |
AsmParser::ParseStatement.
Patch by Vladimir Medic.
llvm-svn: 159768
|
|
|
|
| |
llvm-svn: 158604
|
|
|
|
|
|
|
| |
Patch extracted from a larger one by the PaX team. I added the testcases
and tightened error handling a bit.
llvm-svn: 158523
|
|
|
|
|
|
|
| |
vector. No functionality change.
Extracted from a patch by the PaX Team.
llvm-svn: 157909
|
|
|
|
|
|
| |
Part of a patch by the PaX Team.
llvm-svn: 157908
|
|
|
|
| |
llvm-svn: 157885
|
|
|
|
| |
llvm-svn: 156716
|
|
|
|
|
|
| |
for nesting.
llvm-svn: 156714
|
|
|
|
|
|
| |
Based on a patch by Team PaX.
llvm-svn: 156709
|
|
|
|
|
|
|
|
| |
unsupported.
Patch by Team PaX!
llvm-svn: 156708
|
|
|
|
| |
llvm-svn: 156707
|
|
|
|
|
|
| |
Based on a patch from PaX Team.
llvm-svn: 156706
|
|
|
|
|
|
| |
Based on a patch from PaX Team.
llvm-svn: 156705
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Previously, an unsupported/unknown assembler directive issued a warning.
That's generally unsafe, and inconsistent with the behaviour of pretty
much every system assembler. Now that the MC assemblers are mature
enough to be the default on multiple targets, it's reasonable to
issue errors for these.
For target or platform directives that need to stay warnings, we
should add explicit handlers for them in, e.g., ELFAsmParser.cpp,
DarwinAsmParser.cpp, et. al., and issue the warning there.
rdar://9246275
llvm-svn: 155926
|
|
|
|
|
|
|
|
|
|
|
|
| |
The caller is already responsible for eating any additional input on the
line. Putting an additional EatToEndOfStatement() in ParseStatement()
causes an entire extra statement to be consumed when treating warnings
as errors. For example, test/MC/macros.s will assert() because the
.endmacro directive is missed as a result.
rdar://11355843
llvm-svn: 155925
|
|
|
|
|
|
|
|
|
| |
A trailing comma means no argument at all (i.e., as if the comma were not
present), not an empty argument to the invokee.
rdar://11252521
llvm-svn: 154863
|
|
|
|
| |
llvm-svn: 153502
|
|
|
|
|
|
| |
rdar://11027851
llvm-svn: 153137
|
|
|
|
|
|
|
|
| |
evaluated to '1' when the argument list was empty (should be '0').
rdar://11057257
llvm-svn: 152967
|
|
|
|
| |
llvm-svn: 149967
|
|
|
|
|
|
| |
parser change dialect on the fly.
llvm-svn: 149396
|
|
|
|
| |
llvm-svn: 149179
|
|
|
|
| |
llvm-svn: 149175
|
|
|
|
|
|
| |
messages and allows us to fix PR11865.
llvm-svn: 149174
|
|
|
|
|
|
| |
Provide source line number information.
llvm-svn: 149101
|
|
|
|
| |
llvm-svn: 148733
|
|
|
|
| |
llvm-svn: 148578
|
|
|
|
|
|
|
| |
directives was in the wrong place and getting triggered incorectly with a
cpp .file directive. This change fixes that and adds a test case.
llvm-svn: 147951
|
|
|
|
| |
llvm-svn: 147880
|
|
|
|
|
|
|
| |
functional change in r147860 to use DW_TAG_label's instead TAG_subprogram's.
This only changes names and updates comments. No functional change.
llvm-svn: 147877
|
|
|
|
| |
llvm-svn: 147356
|
|
|
|
| |
llvm-svn: 147352
|
|
|
|
|
|
| |
buffer copy. Suggestion by Chris Lattner!
llvm-svn: 146614
|
|
|
|
|
|
| |
getStreamer().EmitBytes. Suggestion by Benjamin Kramer!
llvm-svn: 146599
|
|
|
|
|
|
| |
it to the streamer. rdar://10383898
llvm-svn: 146592
|
|
|
|
|
|
|
|
|
|
| |
generates the dwarf Compile Unit DIE and a dwarf subprogram DIE for each
non-temporary label.
The next part will be to get the clang driver to enable this when assembling
a .s file. rdar://9275556
llvm-svn: 146262
|
|
|
|
|
|
| |
Thanks to Nick for spotting this!
llvm-svn: 143556
|
|
|
|
|
|
|
|
|
|
|
|
| |
-g flag. In this part we generate the .file for the source being assembled and
the .loc's for the assembled instructions.
The next part will be to generate the dwarf Compile Unit DIE and a dwarf
subprogram DIE for each non-temporary label.
Once the next part is done test cases will be added. rdar://9275556
llvm-svn: 143509
|