]> granicus.if.org Git - clang/commit
Process attributes in the order they appear in the source code. This make clang
authorRafael Espindola <rafael.espindola@gmail.com>
Mon, 7 May 2012 23:58:18 +0000 (23:58 +0000)
committerRafael Espindola <rafael.espindola@gmail.com>
Mon, 7 May 2012 23:58:18 +0000 (23:58 +0000)
commit9b79fc9c57dc9d541c2a5737c3e2c24cc68d485d
treeef1106603d82a8c98672f7b6986a2054ed60e8e5
parentca11510d399ae0493bcb3daf24e3c1df399d75f2
Process attributes in the order they appear in the source code. This make clang
match gcc behavior for two conflicting visibilities in the same decl. It also
makes handling of dllimport/dllexport more natural.

As a bonus we now warn on the dllimport in

void __attribute__((dllimport)) foo13();
void __attribute__((dllexport)) foo13();

as does gcc.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@156343 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Sema/SemaDeclAttr.cpp
lib/Sema/TargetAttributesSema.cpp
test/Index/complete-with-annotations.cpp
test/Sema/attr-availability.c
test/Sema/attr-visibility.c
test/Sema/dllimport-dllexport.c