[Mesa-dev] [Bug 100693] 'identifier "L__FUNCTION__" is undefined' error for Debug builds using ICC on Windows

bugzilla-daemon at freedesktop.org bugzilla-daemon at freedesktop.org
Mon Apr 17 18:23:40 UTC 2017


https://bugs.freedesktop.org/show_bug.cgi?id=100693

--- Comment #5 from Hi-Angel <Hi-Angel at yandex.ru> ---
(In reply to sav_ix from comment #4)
> (ICC) ir.h(2254): warning #873: function "exec_node::operator new" has no
> corresponding operator delete (to be called if an exception is thrown during
> initialization of an allocated object)
>         return new(mem_ctx) ir_emit_vertex(this->stream->clone(mem_ctx, ht));
>                ^
> (MSVC) ir.h(2254): warning C4291: 'void *exec_node::operator
> new(std::size_t,void *)': no matching operator delete found; memory will not
> be freed if initialization throws an exception

The warnings are for the same line, and might be worth some attention if anyone
interested (I looked very cursory at it tho).

> (ICC) build\windows-x86_64\gallium\auxiliary\indices\u_indices_gen.c(71):
> warning #592: variable "j" is used before its value is set
>     (void)j;
>           ^

This is a funny one. I googled up that such a cast is used to make a compiler
to not show a warning about a unused variable, and it's funny that for ICC it
turned up into another one.

That said, I've no idea who need those unused variables in the file, they
probably worth deleting. It's a trivial cleanup, if nobody wants to do
something to them, I'll send a patch at the weekend.

> (ICC) src\mesa\main\shaderobj.h(181): warning #1011: missing return >
statement at end of non-void function >
"_mesa_shader_stage_from_subroutine_uniform"

This one is false-positive, the function uses a macro "unreachable()" there,
which is defined through built-ins either α) if a compiler has
__builtin_unreachable, or β) through __assume() if a compiler is MSVC, or γ)
just an assert() otherwise. __builtin_unreachable is tested first, and acc. to
google ICC has the function, so it's an ICC flaw (I understand though that as
you said it imitates MSVC on Windows, but I don't see anyway why would they
need to disable the function).

> which could be a flaws in MESA sources and
> 
> (ICC) icl: command line warning #10381: option '/Qstd=c11' is not valid for
> C++ compilations
> 
> (GCC) cc1plus.exe: warning: command line option '-std=gnu11' is valid for
> C/ObjC but not for C++

Unless there're compilation errors, these are harmless, but if anyone wanted to
send a fix, could be a nice cleanup.

-- 
You are receiving this mail because:
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/mesa-dev/attachments/20170417/a93a0ffd/attachment.html>


More information about the mesa-dev mailing list