diff --git a/objectivec/DevTools/check_version_stamps.sh b/objectivec/DevTools/check_version_stamps.sh index 5de9ef146e..7fc4426500 100755 --- a/objectivec/DevTools/check_version_stamps.sh +++ b/objectivec/DevTools/check_version_stamps.sh @@ -25,7 +25,7 @@ readonly ConstantName=GOOGLE_PROTOBUF_OBJC_GEN_VERSION readonly PluginSrc="${ProtoRootDir}/src/google/protobuf/compiler/objectivec/objectivec_file.cc" readonly PluginVersion=$( \ cat "${PluginSrc}" \ - | sed -n -e "s:const int32_t ${ConstantName} = \([0-9]*\);:\1:p" + | sed -n -e "s:const int32 ${ConstantName} = \([0-9]*\);:\1:p" ) if [[ -z "${PluginVersion}" ]] ; then diff --git a/src/google/protobuf/compiler/objectivec/objectivec_extension.cc b/src/google/protobuf/compiler/objectivec/objectivec_extension.cc index b19c1b45ef..0574cca2af 100644 --- a/src/google/protobuf/compiler/objectivec/objectivec_extension.cc +++ b/src/google/protobuf/compiler/objectivec/objectivec_extension.cc @@ -77,7 +77,6 @@ ExtensionGenerator::ExtensionGenerator(const string& root_class_name, ExtensionGenerator::~ExtensionGenerator() {} void ExtensionGenerator::GenerateMembersHeader(io::Printer* printer) { - WriteClassNameToClassList(root_class_and_method_name_); if (IsFiltered()) { printer->Print("// $filter_reason$\n\n", "filter_reason", filter_reason_); return; diff --git a/src/google/protobuf/compiler/objectivec/objectivec_field.cc b/src/google/protobuf/compiler/objectivec/objectivec_field.cc index b071ce5d5b..93fffe0e7d 100644 --- a/src/google/protobuf/compiler/objectivec/objectivec_field.cc +++ b/src/google/protobuf/compiler/objectivec/objectivec_field.cc @@ -39,10 +39,6 @@ #include #include -#ifndef htonl -#include -#endif - namespace google { namespace protobuf { namespace compiler { @@ -107,7 +103,7 @@ void SetCommonFieldVariables(const FieldDescriptor* descriptor, string field_options = descriptor->options().SerializeAsString(); // Must convert to a standard byte order for packing length into // a cstring. - uint32_t length = htonl(field_options.length()); + uint32 length = ghtonl(field_options.length()); if (length > 0) { string bytes((const char*)&length, sizeof(length)); bytes.append(field_options); diff --git a/src/google/protobuf/compiler/objectivec/objectivec_file.cc b/src/google/protobuf/compiler/objectivec/objectivec_file.cc index f1e8c0a06c..b3ad448e33 100644 --- a/src/google/protobuf/compiler/objectivec/objectivec_file.cc +++ b/src/google/protobuf/compiler/objectivec/objectivec_file.cc @@ -40,13 +40,14 @@ #include #include +namespace google { +namespace protobuf { + // This is also found in GPBBootstrap.h, and needs to be kept in sync. It // is the version check done to ensure generated code works with the current // runtime being used. -const int32_t GOOGLE_PROTOBUF_OBJC_GEN_VERSION = 30000; +const int32 GOOGLE_PROTOBUF_OBJC_GEN_VERSION = 30000; -namespace google { -namespace protobuf { namespace compiler { namespace objectivec { FileGenerator::FileGenerator(const FileDescriptor *file) diff --git a/src/google/protobuf/compiler/objectivec/objectivec_generator.cc b/src/google/protobuf/compiler/objectivec/objectivec_generator.cc index 1eb31a7914..1777671598 100644 --- a/src/google/protobuf/compiler/objectivec/objectivec_generator.cc +++ b/src/google/protobuf/compiler/objectivec/objectivec_generator.cc @@ -82,10 +82,6 @@ bool ObjectiveCGenerator::Generate(const FileDescriptor* file, file_generator.GenerateSource(&printer); } - if (!WriteClassList(error)) { - return false; - } - return true; } diff --git a/src/google/protobuf/compiler/objectivec/objectivec_helpers.cc b/src/google/protobuf/compiler/objectivec/objectivec_helpers.cc index a4eba09b61..d4675f0264 100644 --- a/src/google/protobuf/compiler/objectivec/objectivec_helpers.cc +++ b/src/google/protobuf/compiler/objectivec/objectivec_helpers.cc @@ -28,12 +28,6 @@ // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -#include -#include -#include -#include -#include - #include #include #include @@ -46,14 +40,6 @@ #include #include -#ifndef htonl -#include -#endif - -#ifndef O_EXLOCK -#include -#endif - // NOTE: src/google/protobuf/compiler/plugin.cc makes use of cerr for some // error case, so it seem to be ok to use as a back door for errors. @@ -65,7 +51,6 @@ namespace objectivec { namespace { hash_set gClassWhitelist; -stringstream gClassListStream; // islower()/isupper()/tolower()/toupper() change based on locale. @@ -754,7 +739,7 @@ string DefaultValue(const FieldDescriptor* field) { // Must convert to a standard byte order for packing length into // a cstring. - uint32_t length = htonl(default_string.length()); + uint32 length = ghtonl(default_string.length()); string bytes((const char*)&length, sizeof(length)); bytes.append(default_string); return "(NSData*)\"" + CEscape(bytes) + "\""; @@ -809,60 +794,6 @@ string BuildCommentsString(const SourceLocation& location) { return final_comments; } -bool WriteClassList(string* error) { - const char* file_name = getenv("GPB_CLASSLIST_PATH"); - if (file_name != NULL) { -#ifndef O_EXLOCK - int fd = open(file_name, O_WRONLY | O_APPEND | O_CREAT, - (S_IRUSR | S_IWUSR | S_IRGRP | S_IROTH)); -#else - int fd = open(file_name, O_WRONLY | O_APPEND | O_EXLOCK | O_CREAT, - (S_IRUSR | S_IWUSR | S_IRGRP | S_IROTH)); -#endif - if (fd == -1) { - if (error != NULL) { - stringstream err_stream; - err_stream << endl << file_name << ":0:0: error:" - << "Unable to open (" << errno << ")"; - *error = err_stream.str(); - } - return false; - } -#ifndef O_EXLOCK - if (flock(fd, LOCK_EX) < 0) { - if (error != NULL) { - stringstream err_stream; - err_stream << endl << file_name << ":0:0: error:" - << "Unable to lock (" << errno << ")"; - *error = err_stream.str(); - } - return false; - } -#endif - // Need a local to hold the list so the cstring stays valid for the - // write call. - const string& class_list_str = gClassListStream.str(); - int write_out = write(fd, class_list_str.c_str(), class_list_str.length()); - int close_out = close(fd); - if (write_out == -1 || close_out == -1) { - if (error != NULL) { - stringstream err_stream; - err_stream << endl << file_name << ":0:0: error:" - << "Unable to write (" << errno << ")"; - *error = err_stream.str(); - } - return false; - } - } - return true; -} - -void WriteClassNameToClassList(const string& name) { - if (gClassListStream.good()) { - gClassListStream << name << '\n'; - } -} - bool InitializeClassWhitelist(string* error) { const char* env_var_value = getenv("GPB_OBJC_CLASS_WHITELIST_PATHS"); if (env_var_value == NULL) { @@ -917,7 +848,7 @@ bool FilterClass(const string& name) { return gClassWhitelist.size() > 0; } -void TextFormatDecodeData::AddString(int32_t key, +void TextFormatDecodeData::AddString(int32 key, const string& input_for_decode, const string& desired_output) { for (vector::const_iterator i = entries_.begin(); @@ -973,14 +904,14 @@ class DecodeDataBuilder { } private: - static const uint8_t kAddUnderscore = 0b10000000; + static const uint8 kAddUnderscore = 0x80; - static const uint8_t kOpAsIs = 0b00000000; - static const uint8_t kOpFirstUpper = 0b01000000; - static const uint8_t kOpFirstLower = 0b00100000; - static const uint8_t kOpAllUpper = 0b01100000; + static const uint8 kOpAsIs = 0x00; + static const uint8 kOpFirstUpper = 0x40; + static const uint8 kOpFirstLower = 0x20; + static const uint8 kOpAllUpper = 0x60; - static const int kMaxSegmentLen = 0b00011111; + static const int kMaxSegmentLen = 0x1f; void AddChar(const char desired) { ++segment_len_; @@ -988,7 +919,7 @@ class DecodeDataBuilder { } void Push() { - uint8_t op = (op_ | segment_len_); + uint8 op = (op_ | segment_len_); if (need_underscore_) op |= kAddUnderscore; if (op != 0) { decode_data_ += (char)op; @@ -1020,7 +951,7 @@ class DecodeDataBuilder { bool need_underscore_; bool is_all_upper_; - uint8_t op_; + uint8 op_; int segment_len_; string decode_data_; diff --git a/src/google/protobuf/compiler/objectivec/objectivec_helpers.h b/src/google/protobuf/compiler/objectivec/objectivec_helpers.h index 2701a30c1e..ab030d1570 100644 --- a/src/google/protobuf/compiler/objectivec/objectivec_helpers.h +++ b/src/google/protobuf/compiler/objectivec/objectivec_helpers.h @@ -142,9 +142,6 @@ string BuildFlagsString(const vector& strings); string BuildCommentsString(const SourceLocation& location); -bool WriteClassList(string* error); -void WriteClassNameToClassList(const string& name); - bool InitializeClassWhitelist(string* error); bool FilterClass(const string& name); @@ -154,7 +151,7 @@ class TextFormatDecodeData { public: TextFormatDecodeData() {} - void AddString(int32_t key, const string& input_for_decode, + void AddString(int32 key, const string& input_for_decode, const string& desired_output); size_t num_entries() const { return entries_.size(); } string Data() const; @@ -165,7 +162,7 @@ class TextFormatDecodeData { private: GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(TextFormatDecodeData); - typedef std::pair DataEntry; + typedef std::pair DataEntry; vector entries_; }; diff --git a/src/google/protobuf/compiler/objectivec/objectivec_helpers_unittest.cc b/src/google/protobuf/compiler/objectivec/objectivec_helpers_unittest.cc index c9682b081f..01e937c3eb 100644 --- a/src/google/protobuf/compiler/objectivec/objectivec_helpers_unittest.cc +++ b/src/google/protobuf/compiler/objectivec/objectivec_helpers_unittest.cc @@ -150,7 +150,7 @@ TEST(ObjCHelper, TextFormatDecodeData_RawStrings) { EXPECT_EQ(4, decode_data.num_entries()); - uint8_t expected_data[] = { + uint8 expected_data[] = { 0x4, 0x1, 0x0, 'z', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'I', 'J', 0x0, 0x3, 0x0, 'a', 'b', 'c', 'd', 'e', 'z', 'g', 'h', 'I', 'J', 0x0, @@ -175,7 +175,7 @@ TEST(ObjCHelper, TextFormatDecodeData_ByteCodes) { EXPECT_EQ(5, decode_data.num_entries()); - uint8_t expected_data[] = { + uint8 expected_data[] = { 0x5, // All as is (00 op) 0x1, 0x0A, 0x0, diff --git a/src/google/protobuf/compiler/objectivec/objectivec_message.cc b/src/google/protobuf/compiler/objectivec/objectivec_message.cc index 87e4d0f851..f6a5852d73 100644 --- a/src/google/protobuf/compiler/objectivec/objectivec_message.cc +++ b/src/google/protobuf/compiler/objectivec/objectivec_message.cc @@ -119,6 +119,9 @@ int OrderGroupForFieldDescriptor(const FieldDescriptor* descriptor) { case FieldDescriptor::TYPE_BOOL: return 1; } + + GOOGLE_LOG(FATAL) << "Can't get here."; + return 0; } struct FieldOrderingByStorageSize { @@ -303,8 +306,6 @@ void MessageGenerator::GenerateMessageHeader(io::Printer* printer) { return; } - WriteClassNameToClassList(class_name_); - if (IsFiltered()) { printer->Print("// $filter_reason$\n\n", "filter_reason", filter_reason_); diff --git a/src/google/protobuf/compiler/objectivec/objectivec_primitive_field.cc b/src/google/protobuf/compiler/objectivec/objectivec_primitive_field.cc index 8272c67bc8..54f942846b 100644 --- a/src/google/protobuf/compiler/objectivec/objectivec_primitive_field.cc +++ b/src/google/protobuf/compiler/objectivec/objectivec_primitive_field.cc @@ -76,6 +76,9 @@ const char* PrimitiveTypeName(const FieldDescriptor* descriptor) { case OBJECTIVECTYPE_MESSAGE: return NULL; } + + GOOGLE_LOG(FATAL) << "Can't get here."; + return NULL; } const char* PrimitiveArrayTypeName(const FieldDescriptor* descriptor) { @@ -104,6 +107,9 @@ const char* PrimitiveArrayTypeName(const FieldDescriptor* descriptor) { case OBJECTIVECTYPE_MESSAGE: return ""; // Want NSArray } + + GOOGLE_LOG(FATAL) << "Can't get here."; + return NULL; } void SetPrimitiveVariables(const FieldDescriptor* descriptor, @@ -155,7 +161,6 @@ void RepeatedPrimitiveFieldGenerator::FinishInitialization(void) { } } - } // namespace objectivec } // namespace compiler } // namespace protobuf diff --git a/vsprojects/libprotoc.vcproj b/vsprojects/libprotoc.vcproj index 8c93b955c6..d1f065e225 100644 --- a/vsprojects/libprotoc.vcproj +++ b/vsprojects/libprotoc.vcproj @@ -371,6 +371,54 @@ + + + + + + + + + + + + + + + + + + + + + + + + @@ -635,6 +683,54 @@ RelativePath="..\src\google\protobuf\compiler\javanano\javanano_primitive_field.cc" > + + + + + + + + + + + + + + + + + + + + + + + +