[
https://issues.apache.org/jira/browse/TS-1586?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13503307#comment-13503307
]
James Peach commented on TS-1586:
---------------------------------
These are not C or C++ standard library functions so I don't think the spec
quotation applies.
The fix is probably:
uint8_t * restrict ptr
> spdy plugin doesn't build under latest trunk
> --------------------------------------------
>
> Key: TS-1586
> URL: https://issues.apache.org/jira/browse/TS-1586
> Project: Traffic Server
> Issue Type: Bug
> Affects Versions: 3.3.1
> Environment: llvm/clang from trunk (on Linux, haven't tested on other
> platforms yet)
> Reporter: Igor Galić
> Attachments: restrict.patch
>
>
> {noformat}
> Making all in spdy
> gmake[3]: Entering directory
> `/home/igalic/src/asf/trafficserver/CLANG/plugins/experimental/spdy'
> /bin/sh ../../../libtool --tag=CXX --mode=compile clang++ -DHAVE_CONFIG_H
> -I. -I../../../../plugins/experimental/spdy -I../../../lib/ts
> -I../../../../plugins/experimental/spdy/lib -I../../../proxy/api
> -D__STDC_FORMAT_MACROS=1 -D_LARGEFILE64_SOURCE=1 -D_COMPILE64BIT_SOURCE=1
> -D_GNU_SOURCE -D_REENTRANT -Dlinux -DDEBUG -D_DEBUG -std=c++11 -ggdb3
> -Werror -Qunused-arguments -Wno-invalid-offsetof -MT message.lo -MD -MP -MF
> .deps/message.Tpo -c -o message.lo `test -f 'lib/spdy/message.cc' || echo
> '../../../../plugins/experimental/spdy/'`lib/spdy/message.cc
> libtool: compile: clang++ -DHAVE_CONFIG_H -I.
> -I../../../../plugins/experimental/spdy -I../../../lib/ts
> -I../../../../plugins/experimental/spdy/lib -I../../../proxy/api
> -D__STDC_FORMAT_MACROS=1 -D_LARGEFILE64_SOURCE=1 -D_COMPILE64BIT_SOURCE=1
> -D_GNU_SOURCE -D_REENTRANT -Dlinux -DDEBUG -D_DEBUG -std=c++11 -ggdb3 -Werror
> -Qunused-arguments -Wno-invalid-offsetof -MT message.lo -MD -MP -MF
> .deps/message.Tpo -c
> ../../../../plugins/experimental/spdy/lib/spdy/message.cc -fPIC -DPIC -o
> .libs/message.o
> ../../../../plugins/experimental/spdy/lib/spdy/message.cc:72:23: error:
> restrict requires a pointer or reference ('uint8_t' (aka 'unsigned char') is
> invalid)
> extract(const uint8_t __restrict * &ptr) {
> ~~~~~~~~~~~~~~^~~~~~~~~~
> ../../../../plugins/experimental/spdy/lib/spdy/message.cc:80:32: error:
> restrict requires a pointer or reference ('uint8_t' (aka 'unsigned char') is
> invalid)
> extract<uint8_t>(const uint8_t __restrict * &ptr) {
> ~~~~~~~~~~~~~~^~~~~~~~~~
> ../../../../plugins/experimental/spdy/lib/spdy/message.cc:85:30: error:
> restrict requires a pointer or reference ('uint8_t' (aka 'unsigned char') is
> invalid)
> insert(const T& val, uint8_t __restrict * &ptr) {
> ~~~~~~~~^~~~~~~~~~
> ../../../../plugins/experimental/spdy/lib/spdy/message.cc:91:33: error:
> restrict requires a pointer or reference ('uint8_t' (aka 'unsigned char') is
> invalid)
> extract_stream_id(const uint8_t __restrict * &ptr)
> ~~~~~~~~~~~~~~^~~~~~~~~~
> ../../../../plugins/experimental/spdy/lib/spdy/message.cc:97:46: error:
> restrict requires a pointer or reference ('uint8_t' (aka 'unsigned char') is
> invalid)
> insert_stream_id(uint32_t stream_id, uint8_t __restrict * &ptr)
> ~~~~~~~~^~~~~~~~~~
> ../../../../plugins/experimental/spdy/lib/spdy/message.cc:104:23: error:
> restrict requires a pointer or reference ('uint8_t' (aka 'unsigned char') is
> invalid)
> const uint8_t __restrict * ptr, size_t len)
> ~~~~~~~~~~~~~~^~~~~~~~~~
> ../../../../plugins/experimental/spdy/lib/spdy/message.cc:133:44: error:
> restrict requires a pointer or reference ('uint8_t' (aka 'unsigned char') is
> invalid)
> const message_header& msg, uint8_t __restrict * ptr, size_t len)
> ~~~~~~~~^~~~~~~~~~
> ../../../../plugins/experimental/spdy/lib/spdy/message.cc:153:23: error:
> restrict requires a pointer or reference ('uint8_t' (aka 'unsigned char') is
> invalid)
> const uint8_t __restrict * ptr, size_t len)
> ~~~~~~~~~~~~~~^~~~~~~~~~
> ../../../../plugins/experimental/spdy/lib/spdy/message.cc:170:23: error:
> restrict requires a pointer or reference ('uint8_t' (aka 'unsigned char') is
> invalid)
> const uint8_t __restrict * ptr, size_t len)
> ~~~~~~~~~~~~~~^~~~~~~~~~
> ../../../../plugins/experimental/spdy/lib/spdy/message.cc:185:23: error:
> restrict requires a pointer or reference ('uint8_t' (aka 'unsigned char') is
> invalid)
> const uint8_t __restrict * ptr, size_t len)
> ~~~~~~~~~~~~~~^~~~~~~~~~
> ../../../../plugins/experimental/spdy/lib/spdy/message.cc:200:48: error:
> restrict requires a pointer or reference ('uint8_t' (aka 'unsigned char') is
> invalid)
> const rst_stream_message& msg, uint8_t __restrict * ptr, size_t len)
> ~~~~~~~~^~~~~~~~~~
> ../../../../plugins/experimental/spdy/lib/spdy/message.cc:356:23: error:
> restrict requires a pointer or reference ('uint8_t' (aka 'unsigned char') is
> invalid)
> const uint8_t __restrict * ptr, size_t len)
> ~~~~~~~~~~~~~~^~~~~~~~~~
> ../../../../plugins/experimental/spdy/lib/spdy/message.cc:359:19: error:
> restrict requires a pointer or reference ('uint8_t' (aka 'unsigned char') is
> invalid)
> const uint8_t __restrict * end = ptr + len;
> ~~~~~~~~~~~~~~^~~~~~~~~~
> ../../../../plugins/experimental/spdy/lib/spdy/message.cc:422:23: error:
> restrict requires a pointer or reference ('uint8_t' (aka 'unsigned char') is
> invalid)
> const uint8_t __restrict * ptr,
> ~~~~~~~~~~~~~~^~~~~~~~~~
> ../../../../plugins/experimental/spdy/lib/spdy/message.cc:511:23: error:
> restrict requires a pointer or reference ('uint8_t' (aka 'unsigned char') is
> invalid)
> const uint8_t __restrict * ptr, size_t len)
> ~~~~~~~~~~~~~~^~~~~~~~~~
> ../../../../plugins/experimental/spdy/lib/spdy/message.cc:525:42: error:
> restrict requires a pointer or reference ('uint8_t' (aka 'unsigned char') is
> invalid)
> const ping_message& msg, uint8_t __restrict * ptr, size_t len)
> ~~~~~~~~^~~~~~~~~~
> 16 errors generated.
> gmake[3]: *** [message.lo] Error 1
> {noformat}
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira