[Bug target/68456] UINT32_TYPE is long unsigned for 32bit targets
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68456 Dmitry Polukhin changed: What|Removed |Added CC||dmitry.polukhin at gmail dot com --- Comment #4 from Dmitry Polukhin --- What is the advantage of using 'long' instead of 'int' for uint32_t on a platform where both types can be used (i.e. actually they have the same size)? GLibC uses 'int', it better matches user expectations and, if using 'long' doesn't make other advantages, it makes compatibility issues without giving benefits. So just curious in rationale behind using 'long' instead of 'int'.
[Bug c++/71712] New: Redundant ABI tags for conversion operator
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71712 Bug ID: 71712 Summary: Redundant ABI tags for conversion operator Product: gcc Version: unknown Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: dmitry.polukhin at gmail dot com Target Milestone: --- Reproducer: struct __attribute__((abi_tag("A", "B"))) A { }; struct A18 { operator A() { return A(); } }; void f18_test() { A a = A18(); } Mangling for 'A18::operator A' is '_ZN3A18cv1AB1AB1BB1AB1Bev' pretty printed as ' A18::operator A[abi:A][abi:B][abi:A][abi:B]()' i.e. the same tags mentioned twice for the name. It seems that GCC adds implicit tags from the return type of the function but in all other cases they are added only if the tags are missing otherwise in the mangled name that is not the case in given example.