Zombie comment, I saw this error message today (I know it's not yours, but it looks like you touched it recently): This error message is a lot more dramatic than clang's error messages – could this be changed to start with a lowercase letter, and to not end in a "!"? Also, I think it's "look up" with a space when used as a verb.
2014-03-06 11:19 GMT-08:00 Reid Kleckner <[email protected]>: > Author: rnk > Date: Thu Mar 6 13:19:36 2014 > New Revision: 203147 > > URL: http://llvm.org/viewvc/llvm-project?rev=203147&view=rev > Log: > Add tests for MS inline asm change r203146 > > Modified: > cfe/trunk/test/CodeGen/ms-inline-asm.c > cfe/trunk/test/Sema/ms-inline-asm.c > > Modified: cfe/trunk/test/CodeGen/ms-inline-asm.c > URL: > http://llvm.org/viewvc/llvm-project/cfe/trunk/test/CodeGen/ms-inline-asm.c?rev=203147&r1=203146&r2=203147&view=diff > ============================================================================== > --- cfe/trunk/test/CodeGen/ms-inline-asm.c (original) > +++ cfe/trunk/test/CodeGen/ms-inline-asm.c Thu Mar 6 13:19:36 2014 > @@ -445,3 +445,18 @@ void cpuid() { > // CHECK-LABEL: define void @cpuid > // CHECK: call void asm sideeffect inteldialect "cpuid", > "~{eax},~{ebx},~{ecx},~{edx},~{dirflag},~{fpsr},~{flags}"() > } > + > +typedef struct { > + int a; > + int b; > +} A; > + > +void t39() { > + __asm mov eax, [eax].A.b > + __asm mov eax, [eax] A.b > + __asm mov eax, fs:[0] A.b > + // CHECK-LABEL: define void @t39 > + // CHECK: call void asm sideeffect inteldialect "mov eax, [eax].4", > "~{eax},~{dirflag},~{fpsr},~{flags}"() > + // CHECK: call void asm sideeffect inteldialect "mov eax, [eax] .4", > "~{eax},~{dirflag},~{fpsr},~{flags}"() > + // CHECK: call void asm sideeffect inteldialect "mov eax, fs:[$$0] .4", > "~{eax},~{dirflag},~{fpsr},~{flags}"() > +} > > Modified: cfe/trunk/test/Sema/ms-inline-asm.c > URL: > http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Sema/ms-inline-asm.c?rev=203147&r1=203146&r2=203147&view=diff > ============================================================================== > --- cfe/trunk/test/Sema/ms-inline-asm.c (original) > +++ cfe/trunk/test/Sema/ms-inline-asm.c Thu Mar 6 13:19:36 2014 > @@ -75,3 +75,29 @@ int t2(int *arr, int i) { > //__asm mov eax, [arr + i]; > return 0; > } > + > +typedef struct { > + int a; > + int b; > +} A; > + > +void t3() { > + __asm mov eax, [eax] UndeclaredId // expected-error {{unknown token in > expression}} > + > + // FIXME: Only emit one diagnostic here. > + // expected-error@+2 {{unexpected type name 'A': expected expression}} > + // expected-error@+1 {{unknown token in expression}} > + __asm mov eax, [eax] A > +} > + > +void t4() { > + // The dot in the "intel dot operator" is optional in MSVC. MSVC also does > + // global field lookup, but we don't. > + __asm mov eax, [0] A.a > + __asm mov eax, [0].A.a > + __asm mov eax, [0].a // expected-error {{Unable to lookup field > reference!}} > + __asm mov eax, fs:[0] A.a > + __asm mov eax, fs:[0].A.a > + __asm mov eax, fs:[0].a // expected-error {{Unable to lookup field > reference!}} > + __asm mov eax, fs:[0]. A.a // expected-error {{Unexpected token type!}} > +} > > > _______________________________________________ > cfe-commits mailing list > [email protected] > http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits _______________________________________________ cfe-commits mailing list [email protected] http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
