| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
| |
"#if !defined(NDEBUG) || defined(LLVM_ENABLE_DUMP)"
No functional change. Update r163344.
llvm-svn: 163679
|
| |
|
|
| |
llvm-svn: 163547
|
| |
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
| |
No functional change.
llvm-svn: 163344
|
| |
|
|
| |
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
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
There are situations where inline ASM may want to change the section -- for
instance, to create a variable in the .data section. However, it cannot do this
without (potentially) restoring to the wrong section. E.g.:
asm volatile (".section __DATA, __data\n\t"
".globl _fnord\n\t"
"_fnord: .quad 1f\n\t"
".text\n\t"
"1:" :::);
This may be wrong if this is inlined into a function that has a "section"
attribute. The user should use `.pushsection' and `.popsection' here instead.
The addition of `.previous' is added for completeness.
<rdar://problem/12048387>
llvm-svn: 161477
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Use a dedicated MachO load command to annotate data-in-code regions.
This is the same format the linker produces for final executable images,
allowing consistency of representation and use of introspection tools
for both object and executable files.
Data-in-code regions are annotated via ".data_region"/".end_data_region"
directive pairs, with an optional region type.
data_region_directive := ".data_region" { region_type }
region_type := "jt8" | "jt16" | "jt32" | "jta32"
end_data_region_directive := ".end_data_region"
The previous handling of ARM-style "$d.*" labels was broken and has
been removed. Specifically, it didn't handle ARM vs. Thumb mode when
marking the end of the section.
rdar://11459456
llvm-svn: 157062
|
| |
|
|
| |
llvm-svn: 156716
|
| |
|
|
|
|
| |
for nesting.
llvm-svn: 156714
|
| |
|
|
| |
llvm-svn: 156712
|
| |
|
|
|
|
| |
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
|