c.m4: Use __has_attribute to check for attribute availability.

Jacek Caban <[email protected]> Fri, 24 Nov 2023 15:17:40 +0100
Newsgroups gmane.comp.parsers.bison.patches
Message-ID <[email protected]>
This is a multi-part message in MIME format.
--------------hk0GTKOGffg6n0t7BxzGk6nP
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

This fixes -Wunused-but-set-variable warnings on clang msvc targets. Commit
a166d5450e3f47587b98f6005f9f5627dbe21a5b fixed those warnings in most 
cases,
but currently YY_ATTRIBUTE_UNUSED is defined only when __GNUC__ is defined.
When using clang in msvc mode, it's not defined, but __unused__ attribute
is still available.


In my use case, it fixes warnings when building the Wine project with 
clang as

a cross compiler.

--------------hk0GTKOGffg6n0t7BxzGk6nP
Content-Type: text/plain; charset=UTF-8;
 name="0001-c.m4-Use-__has_attribute-to-check-for-attribute-availa.txt"
Content-Disposition: attachment;
 filename*0="0001-c.m4-Use-__has_attribute-to-check-for-attribute-availa.";
 filename*1="txt"
Content-Transfer-Encoding: base64

RnJvbSAzODQ2YWRmMTc0NTU4ZmYyMWM3ODRkOTMyZjUzMWIwMGMzY2Y4NWUzIE1vbiBTZXAg
MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBKYWNlayBDYWJhbiA8amFjZWtAY29kZXdlYXZlcnMu
Y29tPgpEYXRlOiBGcmksIDI0IE5vdiAyMDIzIDE1OjA2OjMyICswMTAwClN1YmplY3Q6IFtQ
QVRDSF0gYy5tNDogVXNlIF9faGFzX2F0dHJpYnV0ZSB0byBjaGVjayBmb3IgYXR0cmlidXRl
CiBhdmFpbGFiaWxpdHkuCgpUaGlzIGZpeGVzIC1XdW51c2VkLWJ1dC1zZXQtdmFyaWFibGUg
d2FybmluZ3Mgb24gY2xhbmcgbXN2YyB0YXJnZXRzLiBDb21taXQKYTE2NmQ1NDUwZTNmNDc1
ODdiOThmNjAwNWY5ZjU2MjdkYmUyMWE1YiBmaXhlZCB0aG9zZSB3YXJuaW5ncyBpbiBtb3N0
IGNhc2VzLApidXQgY3VycmVudGx5IFlZX0FUVFJJQlVURV9VTlVTRUQgaXMgZGVmaW5lZCBv
bmx5IHdoZW4gX19HTlVDX18gaXMgZGVmaW5lZC4KV2hlbiB1c2luZyBjbGFuZyBpbiBtc3Zj
IG1vZGUsIGl0J3Mgbm90IGRlZmluZWQsIGJ1dCBfX3VudXNlZF9fIGF0dHJpYnV0ZQppcyBz
dGlsbCBhdmFpbGFibGUuCi0tLQogZGF0YS9za2VsZXRvbnMvYy5tNCB8IDYgKysrKy0tCiAx
IGZpbGUgY2hhbmdlZCwgNCBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQoKZGlmZiAt
LWdpdCBhL2RhdGEvc2tlbGV0b25zL2MubTQgYi9kYXRhL3NrZWxldG9ucy9jLm00CmluZGV4
IDZmOTBlYmU4Li5hZDQxNjQwYyAxMDA2NDQKLS0tIGEvZGF0YS9za2VsZXRvbnMvYy5tNAor
KysgYi9kYXRhL3NrZWxldG9ucy9jLm00CkBAIC0zNjMsNyArMzYzLDggQEAgbTRfZGVmaW5l
KFtiNF90YWJsZV92YWx1ZV9lcXVhbHNdLAogIyBfTm9yZXR1cm4uCiBtNF9kZWZpbmUoW2I0
X2F0dHJpYnV0ZV9kZWZpbmVdLAogW1sjaWZuZGVmIFlZX0FUVFJJQlVURV9QVVJFCi0jIGlm
IGRlZmluZWQgX19HTlVDX18gJiYgMiA8IF9fR05VQ19fICsgKDk2IDw9IF9fR05VQ19NSU5P
Ul9fKQorIyBpZiBkZWZpbmVkIF9fR05VQ19fICYmIDIgPCBfX0dOVUNfXyArICg5NiA8PSBf
X0dOVUNfTUlOT1JfXykgXAorICAgICAgfHwgKGRlZmluZWQgX19oYXNfYXR0cmlidXRlICYm
IF9faGFzX2F0dHJpYnV0ZShfX3B1cmVfXykpCiAjICBkZWZpbmUgWVlfQVRUUklCVVRFX1BV
UkUgX19hdHRyaWJ1dGVfXyAoKF9fcHVyZV9fKSkKICMgZWxzZQogIyAgZGVmaW5lIFlZX0FU
VFJJQlVURV9QVVJFCkBAIC0zNzEsNyArMzcyLDggQEAgbTRfZGVmaW5lKFtiNF9hdHRyaWJ1
dGVfZGVmaW5lXSwKICNlbmRpZgogCiAjaWZuZGVmIFlZX0FUVFJJQlVURV9VTlVTRUQKLSMg
aWYgZGVmaW5lZCBfX0dOVUNfXyAmJiAyIDwgX19HTlVDX18gKyAoNyA8PSBfX0dOVUNfTUlO
T1JfXykKKyMgaWYgKGRlZmluZWQgX19HTlVDX18gJiYgMiA8IF9fR05VQ19fICsgKDcgPD0g
X19HTlVDX01JTk9SX18pKSBcCisgICAgICB8fCAoZGVmaW5lZCBfX2hhc19hdHRyaWJ1dGUg
JiYgX19oYXNfYXR0cmlidXRlKF9fdW51c2VkX18pKQogIyAgZGVmaW5lIFlZX0FUVFJJQlVU
RV9VTlVTRUQgX19hdHRyaWJ1dGVfXyAoKF9fdW51c2VkX18pKQogIyBlbHNlCiAjICBkZWZp
bmUgWVlfQVRUUklCVVRFX1VOVVNFRAotLSAKMi40MS4wCgo=

--------------hk0GTKOGffg6n0t7BxzGk6nP--