git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [PATCH v3 2/8] diff: convert flags to be stored in bitfields

From
Junio C Hamano <gitster@pobox.com>
Date
Nov 1, 2017, 01:26 UTC
Message-ID
<xmqq8tfqyejq.fsf@gitster.mtv.corp.google.com>
In-Reply-To
<CAGZ79kajX=FmGacDSv_dDzppE6WBHGqgyCpaG1zDyENcsDbwZg@mail.gmail.com>
Stefan Beller <sbeller@google.com> writes:
> After some quick research our coding style on bit fields is twofold:
> Most older code is this way and more recent code seems to prefer
>
>     unsigned <FLAGNAME> SP : SP ;

Yes, we are very inconsistent. What does the clang format rules Brandon came up with have to say on this? FWIW, checkpatch.pl is unhappy without spaces on both side.

Show 13 quoted lines
>> +static inline void diff_flags_or(struct diff_flags *a,
>> +                                const struct diff_flags *b)
>> +{
>> +       char *tmp_a = (char *)a;
>> +       const char *tmp_b = (const char *)b;
>> +       int i;
>> +
>> +       for (i = 0; i < sizeof(struct diff_flags); i++)
>
> I think most of the code prefers to put the variable into the sizeof
> argument i.e. 'sizeof(*a)', as that is presumably more maintainable.
> (If the type of 'a' changes, then we don't forget to adapt this place,
> but the compiler can take care of it.
Yup, but in this case we won't change the type, no?
Previous: Stefan BellerNext: Stefan Beller
Message 36 of 47 in “convert diff flags to be stored in a struct”
  1. 0/3 convert diff flags to be stored in a structBrandon Williams, Oct 27, 2017
  2. 1/3 add: use DIFF_OPT_SET macro to set a diff flagBrandon Williams, Oct 27, 2017
  3. 2/3 reset: use DIFF_OPT_SET macro to set a diff flagBrandon Williams, Oct 27, 2017
  4. Junio C HamanoOct 29, 2017
  5. Brandon WilliamsOct 30, 2017
  6. 3/3 diff: convert flags to be stored in bitfieldsBrandon Williams, Oct 27, 2017
  7. Junio C HamanoOct 29, 2017
  8. Junio C HamanoOct 30, 2017
  9. Brandon WilliamsOct 30, 2017
  10. Junio C HamanoOct 31, 2017
  11. Brandon WilliamsOct 30, 2017
  12. Junio C HamanoOct 29, 2017
  13. Stefan BellerOct 29, 2017
  14. 0/4 convert diff flags to be stored in a structBrandon Williams, Oct 30, 2017
  15. 1/4 add, reset: use DIFF_OPT_SET macro to set a diff flagBrandon Williams, Oct 30, 2017
  16. 2/4 diff: convert flags to be stored in bitfieldsBrandon Williams, Oct 30, 2017
  17. Junio C HamanoOct 31, 2017
  18. 5/4 diff: avoid returning a struct by value from diff_flags_or()Junio C Hamano, Oct 31, 2017
  19. Brandon WilliamsOct 31, 2017
  20. 4/4 diff: remove touched flagsBrandon Williams, Oct 30, 2017
  21. 3/4 diff: add flag to indicate textconv was set via cmdlineBrandon Williams, Oct 30, 2017
  22. Stefan BellerOct 30, 2017
  23. Brandon WilliamsOct 30, 2017
  24. Brandon WilliamsOct 30, 2017
  25. Junio C HamanoOct 31, 2017
  26. 5/4 diff: set TEXTCONV_VIA_CMDLINE only when it is set to trueJunio C Hamano, Oct 31, 2017
  27. Brandon WilliamsOct 31, 2017
  28. 5/4 diff: remove DIFF_OPT_TST macroBrandon Williams, Oct 30, 2017
  29. 7/4 diff: remove DIFF_OPT_CLR macroBrandon Williams, Oct 30, 2017
  30. 6/4 diff: remove DIFF_OPT_SET macroBrandon Williams, Oct 30, 2017
  31. 8/4 diff: make struct diff_flags members lowercaseBrandon Williams, Oct 30, 2017
  32. 0/8 convert diff flags to be stored in a structBrandon Williams, Oct 31, 2017
  33. 1/8 add, reset: use DIFF_OPT_SET macro to set a diff flagBrandon Williams, Oct 31, 2017
  34. 2/8 diff: convert flags to be stored in bitfieldsBrandon Williams, Oct 31, 2017
  35. Stefan BellerOct 31, 2017
  36. Junio C HamanoNov 1, 2017
  37. Stefan BellerNov 1, 2017
  38. 4/8 diff: remove touched flagsBrandon Williams, Oct 31, 2017
  39. 5/8 diff: remove DIFF_OPT_TST macroBrandon Williams, Oct 31, 2017
  40. 3/8 diff: add flag to indicate textconv was set via cmdlineBrandon Williams, Oct 31, 2017
  41. 6/8 diff: remove DIFF_OPT_SET macroBrandon Williams, Oct 31, 2017
  42. 7/8 diff: remove DIFF_OPT_CLR macroBrandon Williams, Oct 31, 2017
  43. Stefan BellerOct 31, 2017
  44. Junio C HamanoNov 1, 2017
  45. 8/8 diff: make struct diff_flags members lowercaseBrandon Williams, Oct 31, 2017
  46. Stefan BellerOct 31, 2017
  47. Junio C HamanoNov 1, 2017

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.