Commit Graph

2718 Commits

Author SHA1 Message Date
Hans Wennborg
fcf1b57579 Fix the no-op definitions of GOOGLE_PREDICT_{TRUE,FALSE}
Updating to the current protobuf version caused the following build errors in
Chromium when using Clang on Windows:

..\..\third_party\protobuf\src\google/protobuf/stubs/fastmem.h(67,43) :  error: equality comparison with extraneous parentheses [-Werror,-Wparentheses-equality]
  if (GOOGLE_PREDICT_FALSE(n_rounded_down == 0)) {  // n <= 7
                           ~~~~~~~~~~~~~~~^~~~

The problem is that on Windows, GOOGLE_PREDICT_FALSE is #defined to nothing, so
the code expands to 'if ((n_rounded_down == 0))', which Clang warns about.

Clang would not have warned if the extra parentheses came from the macro,
but in this case they don't because the macro is just dropped.

Fix this by making the macros behave as an identity function instead of just
getting dropped.

This is closer to what these macros look like in stubs/port.h internally.
2015-08-26 11:32:08 -07:00
Feng Xiao
66b074f491 Merge pull request #744 from xfxyjwf/cmake_linux
Fix cmake build on linux.
2015-08-26 11:25:08 -07:00
Jan Tattermusch
7e05a2d20d Merge pull request #736 from jtattermusch/fix-descriptor-proto
Backport: Change where we rename Descriptor.cs to DescriptorProtoFile.cs.
2015-08-26 08:26:55 -07:00
Feng Xiao
e72c751e4d Fix cmake build on linux. 2015-08-25 22:49:06 -07:00
Jon Skeet
b1b98e4b79 Merge pull request #738 from jtattermusch/include_descriptor_proto
Include descriptor.proto in nuget package
2015-08-26 06:44:26 +01:00
Jon Skeet
f6b05f78a4 Merge pull request #739 from jtattermusch/include_descriptor_proto_master
include descriptor.proto in nuget package
2015-08-26 06:44:04 +01:00
Feng Xiao
c80f7c6f3c Merge pull request #742 from xfxyjwf/c11_compile
Fix compile issues with -std=c++11
2015-08-25 22:35:24 -07:00
Feng Xiao
d9ab86cdbf Fix compile issues with -std=c++11
This compiles with -std=c++11:
message Foo {
  map<string, Foo> value = 1;
}

This does not compile:
message Foo {
  map<int32, Foo> value = 1;
}

Needs to dig more into the underlying issue.
2015-08-25 22:20:47 -07:00
Jisi Liu
f9237d2bcd Merge pull request #741 from pherl/beta-1
fix "memory leaks" in protostream-object files.
2015-08-25 22:05:31 -07:00
Jisi Liu
0977815af2 fix "memory leaks" in protostream-object files.
Change-Id: I0aca56802d974cb03cb89c1a294f37068b5b9758
2015-08-25 22:01:12 -07:00
Jisi Liu
06c9dfd9a3 Merge pull request #740 from pherl/beta-1
Fix commandline interface file under heapcheck.
2015-08-25 21:11:58 -07:00
Jisi Liu
01e060f20e Fix commandline interface file under heapcheck.
The internal down-integrate script probably does not handle the
top level macros well. Moved the macro inside of the namespace
declrations to avoid down-integrate errors in the future.

Change-Id: I3790357f36b0204a2a26577805192a3a1e989df8
2015-08-25 20:53:19 -07:00
Feng Xiao
b192ba87f7 Merge remote-tracking branch 'origin/master' into beta-1 2015-08-25 20:24:43 -07:00
Jan Tattermusch
72145dffd8 include descriptor.proto in nuget package 2015-08-25 18:46:59 -07:00
Jan Tattermusch
295047518c include descriptor.proto in nuget package 2015-08-25 18:43:01 -07:00
Feng Xiao
cf94f7b744 Merge pull request #726 from DouglasHeriot/msvc-noinline
Define GOOGLE_ATTRIBUTE_NOINLINE for MSVC. Workaround for VS2015 Release build compiler bug
2015-08-25 18:16:02 -07:00
Jon Skeet
8f2892bc62 Remove extraneous TODO 2015-08-25 18:10:43 -07:00
Jon Skeet
3c74a0c9cc Change where we rename Descriptor.cs to DescriptorProtoFile.cs.
We now do this in protoc instead of the generation simpler.

Benefits:
- Generation script is simpler
- Detection is simpler as we now only need to care about one filename
- The embedded descriptor knows itself as "google/protobuf/descriptor.proto" avoiding dependency issues

This PR also makes the "invalid dependency" exception clearer in terms of expected and actual dependencies.
2015-08-25 18:10:34 -07:00
Feng Xiao
5da0b46811 Merge pull request #734 from TeBoring/beta-1
Fix bugs on windows
2015-08-25 18:00:26 -07:00
Bo Yang
ff7bdad231 Fix bugs on windows 2015-08-25 17:58:48 -07:00
Jisi Liu
ed91f89f73 Merge pull request #735 from pherl/beta-1
Update cmake and BUILD files.
2015-08-25 17:12:14 -07:00
Jisi Liu
b90f9f8073 Update cmake and BUILD files.
Change-Id: I17e16fdae6e4d2fb74d178fa5564a609ed58af1d
2015-08-25 17:06:33 -07:00
Jisi Liu
144ea00659 Merge branch 'beta-1' of github.com:google/protobuf into manual-merge 2015-08-25 17:03:49 -07:00
Jisi Liu
4c663d810e Update descriptor protos.
Change-Id: I74a73d3135ec1e0e4d52d741a77456b8e55f038f
2015-08-25 17:03:05 -07:00
Jisi Liu
db45aa117a Merge branch 'beta-1' of github.com:google/protobuf into manual-merge
Change-Id: I83a93fdb119a643fbc884e6ec3624493f6270370
2015-08-25 16:51:22 -07:00
Feng Xiao
cc5a1bfede Make the PARSER @Deprecated public.
(cherry-picking an intenral change).
2015-08-25 16:50:53 -07:00
Jisi Liu
56c4f57bb0 Merge branch 'gcc-c++11-fix' of https://github.com/nsuke/protobuf into beta-1
Manually merge pull request: https://github.com/google/protobuf/pull/674
that fixes the gcc C++11 build.
2015-08-25 16:32:01 -07:00
Feng Xiao
f4ef8fe3b8 Delete incorrectly placed test file. 2015-08-25 14:49:09 -07:00
Feng Xiao
fbb3ef28c9 Merge Java util package to github. 2015-08-25 14:32:09 -07:00
Jon Skeet
f9aed2088d Merge pull request #732 from jskeet/fix-descriptor-proto
Change where we rename Descriptor.cs to DescriptorProtoFile.cs.
2015-08-25 17:51:40 +01:00
Jon Skeet
31d119af22 Remove extraneous TODO 2015-08-25 17:51:17 +01:00
Jon Skeet
ca89a1a118 Change where we rename Descriptor.cs to DescriptorProtoFile.cs.
We now do this in protoc instead of the generation simpler.

Benefits:
- Generation script is simpler
- Detection is simpler as we now only need to care about one filename
- The embedded descriptor knows itself as "google/protobuf/descriptor.proto" avoiding dependency issues

This PR also makes the "invalid dependency" exception clearer in terms of expected and actual dependencies.
2015-08-25 14:32:28 +01:00
Feng Xiao
839b180dba Cherry-pick Java utf8 change. 2015-08-24 11:25:15 -07:00
Feng Xiao
b17ec3ca11 Down-integrate from internal code base. 2015-08-23 17:50:38 -07:00
Feng Xiao
eee38b0c01 Down-integrate from google3. 2015-08-22 18:25:48 -07:00
Joshua Haberman
3253634dcb Merge pull request #711 from tamird/python3-prep
Remove Python 2.5 cruft
2015-08-22 11:51:01 -07:00
Dan O'Reilly
38eef02aab Fix metaclass issue on Python 3. Get text handling tests passing on Python 3.
Signed-off-by: Dan O'Reilly <oreilldf@gmail.com>
2015-08-22 13:07:12 -04:00
Dan O'Reilly
fc80874adf Start work on getting text handled properly on PY3 2015-08-22 13:07:12 -04:00
Tamir Duberstein
87993d7507 assertEquals is deprecated 2015-08-22 13:06:24 -04:00
Tamir Duberstein
821fcb2ded Use assertIsInstance 2015-08-22 12:56:34 -04:00
Tamir Duberstein
09831c8768 Clean up exception syntax 2015-08-22 12:55:19 -04:00
Tamir Duberstein
322d8939fc Remove Python 2.5 cruft 2015-08-22 12:54:31 -04:00
Joshua Haberman
3ff5625231 Merge pull request #722 from dano/py2_py3_straddle
Add tox, Python 2.6 compatibility, and many Python 3 compatibility fixes
2015-08-22 09:49:01 -07:00
Dan O'Reilly
46969b99ca Set DYLD_LIBRARY_PATH for OSX
Signed-off-by: Dan O'Reilly <oreilldf@gmail.com>
2015-08-21 19:28:18 -04:00
Dan O'Reilly
76f8a3fbcd Travis now only tests Python2.6 on Linux.
Signed-off-by: Dan O'Reilly <oreilldf@gmail.com>
2015-08-21 18:51:56 -04:00
Jisi Liu
c3bc155ace Merge branch 'master' of github.com:google/protobuf
Change-Id: If3fb07754a734bae610d95124528e073515ac525
2015-08-21 11:44:49 -07:00
Jisi Liu
b0f661181d Down-integrate from internal branch.
Change-Id: Ieb7a2c2fbf35bc2a8fa65b915a5ecb68c83863e4
2015-08-21 11:18:45 -07:00
Douglas Heriot
5021c4d885 Define GOOGLE_ATTRIBUTE_NOINLINE for MSVC. Workaround for VS2015 Release build compiler bug.
See issue #240 - MSVC in VS2015 seems to inline a function it shouldn't. My original workaround was to disable inlining for the whole file, but I found a way to do it on just this specific function using __declspec(noinline).
Unfortunately __declspec has to go at the start of the function declaration, while __attribute in GCC can go either before or after. I had to move lots of GOOGLE_ATTRIBUTE_NOLINE to make it compile. I have not yet tested this change with GCC.

Will there be other side effects of defining this, given it wasn't previously?

I also noticed a few functions marked with both the 'inline' keyword, and GOOGLE_ATTRIBUTE_NOINLINE - huh? Is there an explanation for this, or is it an oversight?
2015-08-22 02:05:40 +10:00
Joshua Haberman
eb65c69e14 Merge pull request #584 from haberman/cwarnings
Ruby: Conform to C89/C90 variable declaration rules.
2015-08-21 09:00:40 -07:00
Dan O'Reilly
3791c8051a Fix travis build
Signed-off-by: Dan O'Reilly <oreilldf@gmail.com>
2015-08-20 20:49:45 -04:00