This revision was automatically updated to reflect the committed changes.
Closed by commit rL266415: [MSVC Compat] Implementation of __unaligned (MS
extension) as a type qualifier (authored by asbokhan).
Changed prior to commit:
http://reviews.llvm.org/D18596?vs=53509&id=53854#toc
Repository:
andreybokhanko marked an inline comment as done.
andreybokhanko added a comment.
Reid, thank you!
Yours,
Andrey
Repository:
rL LLVM
http://reviews.llvm.org/D18596
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
http://lists.llvm.org/cgi-
rnk accepted this revision.
rnk added a comment.
This revision is now accepted and ready to land.
Thanks! This looks great.
Comment at: test/SemaCXX/MicrosoftExtensions.cpp:89
@@ +88,3 @@
+void foo_unaligned(int *arg) {}
+void foo_unaligned(__unaligned int *arg) {}
+void foo_una
andreybokhanko marked an inline comment as done.
Comment at: test/SemaCXX/MicrosoftExtensions.cpp:89
@@ +88,3 @@
+void foo_unaligned(int *arg) {}
+void foo_unaligned(__unaligned int *arg) {}
+void foo_unaligned(int arg) {} // expected-note {{previous definition is here}}
-
andreybokhanko updated this revision to Diff 53509.
andreybokhanko added a comment.
1. Added more comprehensive overloading tests
2. Added a warning (in C mode) / error (in C++ mode) on __unaligned to
non-__unaligned type conversion
Andrey
http://reviews.llvm.org/D18596
Files:
include/clang
rnk added inline comments.
Comment at: test/SemaCXX/MicrosoftExtensions.cpp:89
@@ -84,1 +88,3 @@
+void foo_unaligned(int arg) {}
+void foo_unaligned(__unaligned int *arg) {}
Surely we can come up with some tougher overloading test cases. I noticed MSVC
generate
andreybokhanko updated this revision to Diff 53022.
andreybokhanko added a comment.
This patch implements "__unaligned" as a qualifier (as per David Majnemer's
request).
Most of the changes are miscellaneous small stuff one has to add when adding a
new qualifier.
Other notable things are:
- O
andreybokhanko added a comment.
In http://reviews.llvm.org/D18596#392341, @majnemer wrote:
> In http://reviews.llvm.org/D18596#392098, @andreybokhanko wrote:
>
> > Do we want to do this for an ignored qualifier? I don't see any practical
> > purpose.
>
>
> It's not ignored for Windows on ARM.
majnemer added a comment.
In http://reviews.llvm.org/D18596#392098, @andreybokhanko wrote:
> In http://reviews.llvm.org/D18596#388295, @aaron.ballman wrote:
>
> > Regression is a bit of a question mark, to me depending on the diagnostic.
> > I think warning the user "this has absolutely no effec
andreybokhanko added a comment.
In http://reviews.llvm.org/D18596#388295, @aaron.ballman wrote:
> Regression is a bit of a question mark, to me depending on the diagnostic. I
> think warning the user "this has absolutely no effect" is a reasonable
> diagnostic for that situation -- the user wro
andreybokhanko updated this revision to Diff 52662.
andreybokhanko added a comment.
Added Sema test, as per Aaron's and Reid's request.
http://reviews.llvm.org/D18596
Files:
include/clang/AST/Type.h
include/clang/Basic/Attr.td
include/clang/Basic/AttrDocs.td
lib/AST/MicrosoftMangle.cpp
aaron.ballman added a comment.
In http://reviews.llvm.org/D18596#388148, @andreybokhanko wrote:
> Aaron, Reid, David, thank you for the review!
>
> I resolved some of your comments. As for
>
> In http://reviews.llvm.org/D18596#386841, @aaron.ballman wrote:
>
> > I'd like to see some Sema tests fo
andreybokhanko marked 3 inline comments as done.
andreybokhanko added a comment.
Aaron, Reid, David, thank you for the review!
I resolved some of your comments. As for
In http://reviews.llvm.org/D18596#386841, @aaron.ballman wrote:
> I'd like to see some Sema tests for sanity checking; like app
andreybokhanko updated this revision to Diff 52208.
andreybokhanko added a comment.
Resolved [some of] comments made by Aaron and Reid.
http://reviews.llvm.org/D18596
Files:
include/clang/AST/Type.h
include/clang/Basic/Attr.td
include/clang/Basic/AttrDocs.td
lib/AST/MicrosoftMangle.cpp
majnemer added a comment.
I didn't implement a mangling for `__unaligned` because our implementation of
it is broken.
It should not be modeled as an attribute, it should be modeled as a qualifier
because it is possible to overload on it.
http://reviews.llvm.org/D18596
__
rnk added inline comments.
Comment at: include/clang/Basic/AttrDocs.td:1970
@@ +1969,3 @@
+
+This modifier makes sense for IPF targets only; Clang supports proper mangling
+of the variables with ``unaligned`` modifier, but it doesn't affect generated
I don't think
aaron.ballman added a subscriber: aaron.ballman.
aaron.ballman added a comment.
I'd like to see some Sema tests for sanity checking; like applying __unaligned
to a non-pointer type, to a declaration, when -fno-ms-extensions is enabled,
etc.
Comment at: include/clang/Basic/Attr
17 matches
Mail list logo