Adam, yes, forgot providing my setup, here it is: $ g++ --version g++ (GCC) 4.4.7 20120313 (Red Hat 4.4.7-3) Copyright (C) 2010 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
$ uname -a
Linux demo-host 2.6.32-358.el6.x86_64 #1 SMP Tue Jan 29 11:47:41 EST 2013
x86_64 x86_64 x86_64 GNU/Linux
*And generated code around the problematic line*:
262 inline ::std::string* DemoMessage::mutable_first() {
263 if (!has_first()) {
264 clear_msg_data();
265 set_has_first();
266 msg_data_.first_.UnsafeSetDefault(&::google::protobuf::internal::
GetEmptyStringAlreadyInited());
267 }
I have also attached the generated files from my system for your reference.
Thanks again!
Regards,
Changchun
On Monday, November 14, 2016 at 12:50:56 PM UTC-5, Adam Cozzette wrote:
>
> Thanks, Changchun. I have just a few more questions to try to debug the
> problem:
> - What version of g++ are you using? (g++ --version should tell you)
> - What architecture are you building for?
> - Could you send the generated code around line 266 in demo.pb.h just so
> that it's clear what lines the compiler is warning about?
>
> On Mon, Nov 14, 2016 at 7:55 AM, <[email protected] <javascript:>>
> wrote:
>
>> Adam, Thanks for your reply.
>>
>> Here I attached a simple .proto file to demonstrate this warning message:
>>
>> $ protobuf-3.1/bin/protoc --cpp_out=. demo.proto
>>
>> $ /usr/bin/g++ -Iprotobuf-3.1/include -c -Wall -O2 -Wno-long-long demo.pb
>> .cc -o demo.pb.o
>> In member function 'virtual bool
>> demo::DemoMessage::MergePartialFromCodedStream(google::protobuf::io::CodedInputStream*)'
>> :
>> cc1plus: warning: dereferencing pointer 'prephitmp.1630' does break
>> strict-aliasing rules
>> demo.pb.h:266: note: initialized from here
>> cc1plus: note: initialized from here
>>
>> Please let me know if anything else you need to debug further.
>>
>> Thanks,
>> Changchun
>>
>> On Friday, November 11, 2016 at 4:45:03 PM UTC-5, Adam Cozzette wrote:
>>>
>>> What version of g++ are you using? Also, do you have a way of
>>> determining what actual line of code the compiler is warning about there?
>>>
>>> I tried building with -Wstrict-aliasing=2 at commit df8390790a and saw a
>>> few warnings like this:
>>>
>>> ./google/protobuf/generated_message_util.h:94:66: warning: dereferencing
>>> type-punned pointer might break strict-aliasing rules [-Wstrict-aliasing]
>>> const T& get() const { return reinterpret_cast<const T&>(union_); }
>>>
>>> But that doesn't look like it's quite the same warning as what you are
>>> seeing.
>>>
>>> On Fri, Nov 11, 2016 at 12:39 PM, <[email protected]> wrote:
>>>
>>>> I have below option in my .proto file:
>>>>
>>>> *option cc_enable_arenas = true;*
>>>>
>>>> But g++ for Linux gives below warning:
>>>>
>>>> *cc1plus: warning: dereferencing pointer 'prephitmp.4925' does break
>>>> strict-aliasing rules*
>>>>
>>>> Will this cause issue and how to solve it?
>>>>
>>>> --
>>>> You received this message because you are subscribed to the Google
>>>> Groups "Protocol Buffers" group.
>>>> To unsubscribe from this group and stop receiving emails from it, send
>>>> an email to [email protected].
>>>> To post to this group, send email to [email protected].
>>>> Visit this group at https://groups.google.com/group/protobuf.
>>>> For more options, visit https://groups.google.com/d/optout.
>>>>
>>>
>>> --
>> You received this message because you are subscribed to the Google Groups
>> "Protocol Buffers" group.
>> To unsubscribe from this group and stop receiving emails from it, send an
>> email to [email protected] <javascript:>.
>> To post to this group, send email to [email protected]
>> <javascript:>.
>> Visit this group at https://groups.google.com/group/protobuf.
>> For more options, visit https://groups.google.com/d/optout.
>>
>
>
--
You received this message because you are subscribed to the Google Groups
"Protocol Buffers" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/protobuf.
For more options, visit https://groups.google.com/d/optout.
demo.tar.bz2
Description: Binary data
