summaryrefslogtreecommitdiffstats
path: root/clang/test/CodeGen/ms-inline-asm.cpp
Commit message (Collapse)AuthorAgeFilesLines
* ms-inline-asm: Scope inline asm labels to functionsEhsan Akhgari2014-09-221-0/+17
| | | | | | | | | | | | | | | | Summary: This fixes PR20023. In order to implement this scoping rule, we piggy back on the existing LabelDecl machinery, by creating LabelDecl's that will carry the "internal" name of the inline assembly label, which we will rewrite the asm label to. Reviewers: rnk Subscribers: cfe-commits Differential Revision: http://reviews.llvm.org/D4589 llvm-svn: 218230
* MS inline asm: Tests for r214550Reid Kleckner2014-08-011-1/+1
| | | | | | | | | These tests seem like an exception to the rule against assembly emitting tests in clang. I made an LLVM side change that can only be tested by setting up the inline assembly machinery that is only implemented by Clang. llvm-svn: 214552
* Fix test/CodeGen/ms-inline-asm.cpp from r213916.Ehsan Akhgari2014-07-251-1/+1
| | | | llvm-svn: 213918
* clang-cl: Merge adjacent single-line __asm blocksEhsan Akhgari2014-07-251-24/+5
| | | | | | | | | | | | | | | | | Summary: This patch extends the __asm parser to make it keep parsing input tokens as inline assembly if a single-line __asm line is followed by another line starting with __asm too. It also makes sure that we correctly keep matching braces in such situations by separating the notions of how many braces we are matching and whether we are in single-line asm block mode. Reviewers: rnk Subscribers: cfe-commits Differential Revision: http://reviews.llvm.org/D4598 llvm-svn: 213916
* Support field references to struct names and c++11 aliases from inline asm.Nico Weber2014-05-061-1/+31
| | | | | | This is in addition to the existing support for typedefs. llvm-svn: 208053
* Update clang MS inline asm tests for r196939Reid Kleckner2013-12-101-1/+1
| | | | llvm-svn: 196940
* clang/test: REQUIRES: s/x86-64-registered-target/x86-registered-target/NAKAMURA Takumi2013-12-041-1/+1
| | | | llvm-svn: 196350
* Don't pass -O0 to clang_cc1, it is the default.Rafael Espindola2013-09-041-1/+1
| | | | llvm-svn: 189910
* CHECK-LABEL-ify some code gen tests to improve diagnostic experience when ↵Stephen Lin2013-08-151-3/+3
| | | | | | tests fail. llvm-svn: 188447
* [ms-inline asm] Don't diagnose an empty lookup for inline assmebly. This happenChad Rosier2013-05-241-0/+8
| | | | | | | | | | | | | for labels in inline assembly that aren't in the lookup tables. E.g., __asm { a: jmp a } rdar://13983623 llvm-svn: 182659
* Move parsing of identifiers in MS-style inline assembly intoJohn McCall2013-05-031-15/+62
| | | | | | | | | | | | | | | | | | | | | the actual parser and support arbitrary id-expressions. We're actually basically set up to do arbitrary expressions here if we wanted to. Assembly operands permit things like A::x to be written regardless of language mode, which forces us to embellish the evaluation context logic somewhat. The logic here under template instantiation is incorrect; we need to preserve the fact that an expression was unevaluated. Of course, template instantiation in general is fishy here because we have no way of delaying semantic analysis in the MC parser. It's all just fishy. I've also fixed the serialization of MS asm statements. This commit depends on an LLVM commit. llvm-svn: 180976
* Add test case for r179343.Chad Rosier2013-04-111-0/+22
| | | | llvm-svn: 179344
* Test case for r179339.Chad Rosier2013-04-111-0/+10
| | | | llvm-svn: 179340
* Update test case for r179323.Chad Rosier2013-04-111-3/+3
| | | | llvm-svn: 179324
* [ms-inline asm] Test case for r178566.Chad Rosier2013-04-021-0/+26
llvm-svn: 178568
OpenPOWER on IntegriCloud