PS:

> those who want to continue to pass all their link flags during 
compilation...

At first I thought cmake might be the reason, because compiler options 
(CMAKE_C_FLAGS and CMAKE_CXX_FLAGS) are also passed to the linker, and then 
linker-only options (CMAKE_EXE_LINKER_FLAGS and CMAKE_SHARED_LINKER_FLAGS) 
are just appended.

So linker-only options work fine with cmake, but "compile-only" options 
would be a problem (if those even exist).
On Thursday, 6 May 2021 at 17:56:09 UTC+2 Floh wrote:

> > Case in point, the ASSERTIONS setting is indeed a link-only setting, so 
> passing it during compilation has no effect.   If you look at settings.js 
> you can see its already marked with `// [link]` to signal this.  
>
> Oops, interesting, well in that case the warning did exactly what it's 
> supposed to do, good work :) I'll fix my build scripts.
>
> On Thursday, 6 May 2021 at 17:37:30 UTC+2 [email protected] wrote:
>
>> I landed a change as part of 2.0.19 that started reporting warning for 
>> link-time-only settings used during compilation.  There some oversights 
>> (false positives) that I'm trying to correct today and release 2.0.20:  
>> https://github.com/emscripten-core/emscripten/pull/14104
>>
>> Part of the reason for doing this is to clear up some of the confusion 
>> around which settings are for the compiler and which are for the linker, 
>> not just in the user community but also within the emscripten codebase 
>> itself.
>>
>> Case in point, the ASSERTIONS setting is indeed a link-only setting, so 
>> passing it during compilation has no effect.   If you look at settings.js 
>> you can see its already marked with `// [link]` to signal this.  
>>
>> Hopefully this isn't too annoying to folks and those who want to continue 
>> to pass all their link flags during compilation can add 
>> `-Wno-unused-command-line-argument` (just like they would need to with 
>> clang to avoid such warnings).   
>>
>> cheers,
>> sam
>>
>> On Thu, May 6, 2021 at 8:19 AM Floh <[email protected]> wrote:
>>
>>> Ok, that ASSERTION warning is new in 2.0.19, 2.0.18 is still fine.
>>>
>>> The slight size increase must have happened in an earlier version, from 
>>> 2.0.18 to 2.0.19 it's expected "noise":
>>>
>>> 2.0.18: 640 KB
>>>
>>> 2.0.19: 641 KB
>>>
>>> On Thursday, 6 May 2021 at 17:04:38 UTC+2 Floh wrote:
>>>
>>>> I'm getting a warning both in em++ and emcc after the upgrade for each 
>>>> source file:
>>>>
>>>> em++: warning: linker setting ignored during compilation: 'ASSERTIONS' 
>>>> [-Wunused-command-line-argument]
>>>>
>>>> emcc: warning: linker setting ignored during compilation: 'ASSERTIONS' 
>>>> [-Wunused-command-line-argument]
>>>>
>>>> This is used in the command line switch "-s ASSERTIONS=0", and the host 
>>>> system is macOS.
>>>>
>>>> Looking into settings.js, the ASSERTIONS settings variable is still 
>>>> there, so I'm not sure what would cause the warning.
>>>>
>>>> Isn't the ASSERTIONS options needed for compilation of regular object 
>>>> files, not just in the linker step?
>>>>
>>>> This is a verbose command line as example:
>>>>
>>>> [4/17] /Users/floh/projects/fips-sdks/emsdk/upstream/emscripten/em++  
>>>> -I/Users/floh/projects/chips -I/Users/floh/projects/fips-imgui/imgui 
>>>> -I/Users/floh/projects/sokol -I/Users/floh/projects/sokol/util -s 
>>>> DISABLE_EXCEPTION_CATCHING=1  -fno-exceptions -fno-rtti -std=c++11 
>>>> -fstrict-aliasing -Wall -Wno-multichar -Wextra -Wno-unknown-pragmas 
>>>> -Wno-ignored-qualifiers -Wno-long-long -Wno-overloaded-virtual 
>>>> -Wno-deprecated-writable-strings -Wno-unused-volatile-lvalue 
>>>> -Wno-inconsistent-missing-override -Wno-warn-absolute-paths 
>>>> -Wno-expansion-to-defined  -flto -s ASSERTIONS=0 -O3 -DNDEBUG 
>>>> -Wno-type-limits -Wno-missing-field-initializers -std=gnu++11 -MD -MT 
>>>> fips-imgui_imgui/CMakeFiles/imgui.dir/imgui/imgui_tables.cpp.obj -MF 
>>>> fips-imgui_imgui/CMakeFiles/imgui.dir/imgui/imgui_tables.cpp.obj.d -o 
>>>> fips-imgui_imgui/CMakeFiles/imgui.dir/imgui/imgui_tables.cpp.obj -c 
>>>> /Users/floh/projects/fips-imgui/imgui/imgui_tables.cpp
>>>> em++: warning: linker setting ignored during compilation: 'ASSERTIONS' 
>>>> [-Wunused-command-line-argument]
>>>>
>>>> Otherwise no obvious problems. The wasm file got a bit bigger, from 
>>>> 623KB to 641KB, but in this case the previous WASM is from mid-January, so 
>>>> this might also be attributes to LLVM updates.
>>>>
>>>> Is the LTO about the build tools being compiled with LTO enabled, or 
>>>> about Emscripten release build enabling LTO by default? (I always had LTO 
>>>> enabled, so I wouldn't expect much difference in runtime performance), in 
>>>> either case build times and runtime performance seems to be about the same 
>>>> for me.
>>>>
>>>> I'll check previous SDK versions now to see when this ASSERTIONS 
>>>> warning first appeared.
>>>>
>>>> Cheers,
>>>> -Floh.
>>>> On Wednesday, 5 May 2021 at 02:27:12 UTC+2 [email protected] wrote:
>>>>
>>>>> Hi emscripten users,
>>>>> Emscripten version 2.0.19 has just been released in emsdk. You can 
>>>>> install it in the usual way (e.g.  ./emsdk install 2.0.19). 
>>>>> But this time we are also testing a new release build using higher 
>>>>> optimization levels. We intend to make it the default soon, but because 
>>>>> the 
>>>>> build process is slightly different, we're hoping some of you can try it 
>>>>> out first. If you install the '2.0.19-lto' tag (instead of 2.0.19) you'll 
>>>>> get the optimized build. Please try it out and let us know if you 
>>>>> experience issues (or if you see meaningful compile or link performance 
>>>>> gains).
>>>>> Thanks!
>>>>> -Derek
>>>>>
>>>> -- 
>>> You received this message because you are subscribed to the Google 
>>> Groups "emscripten-discuss" group.
>>> To unsubscribe from this group and stop receiving emails from it, send 
>>> an email to [email protected].
>>> To view this discussion on the web visit 
>>> https://groups.google.com/d/msgid/emscripten-discuss/05c8f044-eb12-47c7-aafe-5b103c39cebdn%40googlegroups.com
>>>  
>>> <https://groups.google.com/d/msgid/emscripten-discuss/05c8f044-eb12-47c7-aafe-5b103c39cebdn%40googlegroups.com?utm_medium=email&utm_source=footer>
>>> .
>>>
>>

-- 
You received this message because you are subscribed to the Google Groups 
"emscripten-discuss" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/emscripten-discuss/348f9c47-ea2f-4c97-b857-067f336e3410n%40googlegroups.com.

Reply via email to