]> git.ipfire.org Git - thirdparty/curl.git/commit
curl.h: stop defining non-curl `__has_declspec_attribute`
authorViktor Szakats <commit@vsz.me>
Wed, 26 Feb 2025 00:00:43 +0000 (01:00 +0100)
committerViktor Szakats <commit@vsz.me>
Wed, 26 Feb 2025 12:10:31 +0000 (13:10 +0100)
commitdbbbf717f3a39ab8fc0c996450e699a3a8d46fe5
treeff4ee9a6b499da441c3bf1b8110f0ed8ffeccd7c
parent3efc53f5e9e69696aff40041dfe563160b73e938
curl.h: stop defining non-curl `__has_declspec_attribute`

Public curl headers are best not to define 3rd-party or system macros.
Introduce `CURL_HAS_DECLSPEC_ATTRIBUTE` to cover this system macro and
use it.

Detected by test1167 after dropping the indentation:
```
test 1167...[Verify curl prefix of public symbols in header files]

/usr/bin/perl -I. -I.  returned 1, when expecting 0
 1167: exit FAILED
== Contents of files in the log/10/ dir after test 1167
=== Start of file server.cmd
 Testnum 1167
=== End of file server.cmd
=== Start of file stdout1167
 Bad symbols in public header files:
   __has_declspec_attribute(x)
=== End of file stdout1167
```
Ref: https://github.com/curl/curl/actions/runs/13533200900/job/37819784405?pr=16490#step:42:2087

Ref: https://clang.llvm.org/docs/LanguageExtensions.html#has-declspec-attribute
Follow-up to 50482b8c0a2cf5315e66d182998c8fc4901ffb2d #3616
Ref: #16496 (fixing test1167)
Closes #16491
docs/libcurl/symbols-in-versions
include/curl/curl.h