https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87614
Manuel López-Ibáñez <manu at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |manu at gcc dot gnu.org --- Comment #2 from Manuel López-Ibáñez <manu at gcc dot gnu.org> --- (In reply to Jonathan Wakely from comment #1) > This can't be fixed at the moment, due to PR 80472 I'm not even sure how this could be fixed even if PR80472 was fixed. Are we going to print the following? In file included from /opt/compiler-explorer/gcc-8.2.0/include/c++/8.2.0/x86_64-linux-gnu/bits/c++allocator.h:33, from /opt/compiler-explorer/gcc-8.2.0/include/c++/8.2.0/bits/allocator.h:46, from /opt/compiler-explorer/gcc-8.2.0/include/c++/8.2.0/vector:61, from <source>:4: /opt/compiler-explorer/gcc-8.2.0/include/c++/8.2.0/ext/new_allocator.h: In instantiation of 'void __gnu_cxx::new_allocator<_Tp>::construct(_Up*, _Args&& ...) [with _Up = short unsigned int; _Args = {int}; _Tp = short unsigned int]': /opt/compiler-explorer/gcc-8.2.0/include/c++/8.2.0/bits/alloc_traits.h:475:4: required from 'static void std::allocator_traits<std::allocator<_Tp1> >::construct(std::allocator_traits<std::allocator<_Tp1> >::allocator_type&, _Up*, _Args&& ...) [with _Up = short unsigned int; _Args = {int}; _Tp = short unsigned int; std::allocator_traits<std::allocator<_Tp1> >::allocator_type = std::allocator<short unsigned int>]' /opt/compiler-explorer/gcc-8.2.0/include/c++/8.2.0/bits/vector.tcc:103:30: required from 'std::vector<_Tp, _Alloc>::reference std::vector<_Tp, _Alloc>::emplace_back(_Args&& ...) [with _Args = {int}; _Tp = short unsigned int; _Alloc = std::allocator<short unsigned int>; std::vector<_Tp, _Alloc>::reference = short unsigned int&]' <source>:10:9: required from here /opt/compiler-explorer/gcc-8.2.0/include/c++/8.2.0/ext/new_allocator.h:136:4: warning: conversion from 'int' to 'short unsigned int' may change value [-Wconversion] { ::new((void *)__p) _Up(std::forward<_Args>(__args)...); } ^