Fix STATIC_ASSERT macro when using multiple .proto files.

The __COUNTER__ macro (used for generating unique names) is at least supported
by gcc, clang and Visual Studio. With this change test_compiles.c is
compilable, since no more typedefs are redefined.

Compilers/Preprocessors not supporting __COUNTER__ error's are still possible
which are hopfully handled by the usage of __LINE__ in most sittuations.

Added unit test for the problem.
This commit is contained in:
Steffen Siering
2012-11-11 22:48:21 +00:00
committed by Petteri Aimonen
parent 0abb764b18
commit cc29958d34
5 changed files with 36 additions and 5 deletions

13
tests/test_compiles.c Normal file
View File

@@ -0,0 +1,13 @@
/*
* Tests if still compile if typedefs are redfefined in STATIC_ASSERTS when
* proto file includes another poto file
*/
#include <stdio.h>
#include <pb_encode.h>
#include "callbacks2.pb.h"
int main()
{
return 0;
}