Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(437)

Side by Side Diff: sync/protocol/proto_enum_conversions.cc

Issue 809073005: replace COMPILE_ASSERT with static_assert in sync/ (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: fix nit Created 5 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « sync/internal_api/public/base/ordinal_unittest.cc ('k') | sync/syncable/model_type.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 // Keep this file in sync with the .proto files in this directory. 5 // Keep this file in sync with the .proto files in this directory.
6 6
7 #include "sync/protocol/proto_enum_conversions.h" 7 #include "sync/protocol/proto_enum_conversions.h"
8 8
9 #include "base/basictypes.h" 9 #include "base/basictypes.h"
10 #include "base/logging.h" 10 #include "base/logging.h"
11 11
12 namespace syncer { 12 namespace syncer {
13 13
14 #define ASSERT_ENUM_BOUNDS(enum_parent, enum_type, enum_min, enum_max) \ 14 #define ASSERT_ENUM_BOUNDS(enum_parent, enum_type, enum_min, enum_max) \
15 COMPILE_ASSERT(enum_parent::enum_type##_MIN == enum_parent::enum_min, \ 15 static_assert(enum_parent::enum_type##_MIN == enum_parent::enum_min, \
16 enum_type##_MIN_not_##enum_min); \ 16 #enum_type "_MIN should be " #enum_min); \
17 COMPILE_ASSERT(enum_parent::enum_type##_MAX == enum_parent::enum_max, \ 17 static_assert(enum_parent::enum_type##_MAX == enum_parent::enum_max, \
18 enum_type##_MAX_not_##enum_max); 18 #enum_type "_MAX should be " #enum_max);
19 19
20 #define ENUM_CASE(enum_parent, enum_value) \ 20 #define ENUM_CASE(enum_parent, enum_value) \
21 case enum_parent::enum_value: return #enum_value 21 case enum_parent::enum_value: return #enum_value
22 22
23 const char* GetAppListItemTypeString( 23 const char* GetAppListItemTypeString(
24 sync_pb::AppListSpecifics::AppListItemType item_type) { 24 sync_pb::AppListSpecifics::AppListItemType item_type) {
25 ASSERT_ENUM_BOUNDS(sync_pb::AppListSpecifics, AppListItemType, 25 ASSERT_ENUM_BOUNDS(sync_pb::AppListSpecifics, AppListItemType,
26 TYPE_APP, TYPE_URL); 26 TYPE_APP, TYPE_URL);
27 switch (item_type) { 27 switch (item_type) {
28 ENUM_CASE(sync_pb::AppListSpecifics, TYPE_APP); 28 ENUM_CASE(sync_pb::AppListSpecifics, TYPE_APP);
(...skipping 244 matching lines...) Expand 10 before | Expand all | Expand 10 after
273 ENUM_CASE(sync_pb::TabNavigation, STATE_BLOCKED); 273 ENUM_CASE(sync_pb::TabNavigation, STATE_BLOCKED);
274 } 274 }
275 NOTREACHED(); 275 NOTREACHED();
276 return ""; 276 return "";
277 } 277 }
278 278
279 #undef ASSERT_ENUM_BOUNDS 279 #undef ASSERT_ENUM_BOUNDS
280 #undef ENUM_CASE 280 #undef ENUM_CASE
281 281
282 } // namespace syncer 282 } // namespace syncer
OLDNEW
« no previous file with comments | « sync/internal_api/public/base/ordinal_unittest.cc ('k') | sync/syncable/model_type.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698