<html><head><meta http-equiv="Content-Type" content="text/html charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><br class=""><div><blockquote type="cite" class=""><div class="">On Sep 17, 2017, at 19:22, Jan Vesely <<a href="mailto:jan.vesely@rutgers.edu" class="">jan.vesely@rutgers.edu</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><div class="">On Sun, 2017-09-17 at 17:02 -0700, Matt Arsenault wrote:<br class=""><blockquote type="cite" class=""><blockquote type="cite" class="">On Sep 16, 2017, at 20:15, Jan Vesely <<a href="mailto:jan.vesely@rutgers.edu" class="">jan.vesely@rutgers.edu</a>> wrote:<br class=""><br class="">afaik, noinline is not defined in CLC, so it should be ifdefed on<br class="">__clang__<br class=""><br class=""></blockquote><br class="">It’s not, but my reading of the standard is that it’s required to<br class="">parse any unknown attributes and ignore them. ifdef clang would be<br class="">too restrictive (e.g. it wouldn’t work with the old EDG frontend)<br class=""></blockquote><br class="">OK, if it helps. ignoring/warning is sensible compiler behaviour.<br class=""><br class="">I haven't found anything about unknown attributes in the specs (CLC or<br class="">GCC), so technically it should be UB.<br class=""><br class="">Jan<br class=""><br class="">-- <br class="">Jan Vesely <<a href="mailto:jan.vesely@rutgers.edu" class="">jan.vesely@rutgers.edu</a>></div></div></blockquote></div><br class=""><div class="">6.11.5 in the 1.2 spec says:</div><div class="">
                
        
        
                <div class="page" title="Page 241">
                        <div class="layoutArea">
                                <div class="column"><p class=""><span style="font-size: 12.000000pt; font-family: 'TimesNewRomanPSMT'" class="">Attributes are intended as useful hints to the compiler. It is our intention that a particular
implementation of OpenCL be free to ignore all attributes and the resulting executable binary
will produce the same result. This does not preclude an implementation from making use of the
additional information provided by attributes and performing optimizations or other
transformations as it sees fit. In this case it is the programmer’s responsibility to guarantee that
the information provided is in some sense correct. </span></p><div class=""><br class=""></div><div class="">My interpretation is it should be OK to ignore unknown attributes</div>
                                </div>
                        </div>
                </div></div></body></html>