Skip to content
Snippets Groups Projects
  • Daniel Jasper's avatar
    54c6c5d7
    clang-format sort include use the source file name to determine the · 54c6c5d7
    Daniel Jasper authored
    "main include" that will be the 1st include (category 0).
    
    Because the clang-format visual studio extension does not pass the file
    name and use the standard input, sort include cannot find a "main
    include":
    
    Testing fix on llvm\tools\clang\lib\Format\Format.cpp:
    Original file:
      #include "clang/Format/Format.h"
      ...
      #include "clang/Basic/SourceManager.h"
      #include "clang/Lex/Lexer.h"
    
    Without fix, selecting the includes and running visual studio
    clang-format:
      ...
      #include "clang/Basic/SourceManager.h"
      #include "clang/Format/Format.h"
      #include "clang/Lex/Lexer.h"
    
    With fix, selecting the includes and running visual studio clang-format:
      #include "clang/Format/Format.h"
      ...
      #include "clang/Basic/SourceManager.h"
      #include "clang/Lex/Lexer.h"
    
    Test 2 with main header not at the start:
    Original file:
      ...
      #include "clang/Format/Format.h"
      #include "clang/Basic/SourceManager.h"
      #include "clang/Lex/Lexer.h"
    
    Without fix, selecting the includes and running visual studio
    clang-format:
      ...
      #include "clang/Basic/SourceManager.h"
      #include "clang/Format/Format.h"
      #include "clang/Lex/Lexer.h"
    
    With fix, selecting the includes and running visual studio clang-format:
      #include "clang/Format/Format.h"
      ...
      #include "clang/Basic/SourceManager.h"
      #include "clang/Lex/Lexer.h"
    
    Patch by Jean-Philippe Dufraigne, thank you.
    Review: http://reviews.llvm.org/D16524
    
    git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@260378 91177308-0d34-0410-b5e6-96231b3b80d8
    54c6c5d7
    History
    clang-format sort include use the source file name to determine the
    Daniel Jasper authored
    "main include" that will be the 1st include (category 0).
    
    Because the clang-format visual studio extension does not pass the file
    name and use the standard input, sort include cannot find a "main
    include":
    
    Testing fix on llvm\tools\clang\lib\Format\Format.cpp:
    Original file:
      #include "clang/Format/Format.h"
      ...
      #include "clang/Basic/SourceManager.h"
      #include "clang/Lex/Lexer.h"
    
    Without fix, selecting the includes and running visual studio
    clang-format:
      ...
      #include "clang/Basic/SourceManager.h"
      #include "clang/Format/Format.h"
      #include "clang/Lex/Lexer.h"
    
    With fix, selecting the includes and running visual studio clang-format:
      #include "clang/Format/Format.h"
      ...
      #include "clang/Basic/SourceManager.h"
      #include "clang/Lex/Lexer.h"
    
    Test 2 with main header not at the start:
    Original file:
      ...
      #include "clang/Format/Format.h"
      #include "clang/Basic/SourceManager.h"
      #include "clang/Lex/Lexer.h"
    
    Without fix, selecting the includes and running visual studio
    clang-format:
      ...
      #include "clang/Basic/SourceManager.h"
      #include "clang/Format/Format.h"
      #include "clang/Lex/Lexer.h"
    
    With fix, selecting the includes and running visual studio clang-format:
      #include "clang/Format/Format.h"
      ...
      #include "clang/Basic/SourceManager.h"
      #include "clang/Lex/Lexer.h"
    
    Patch by Jean-Philippe Dufraigne, thank you.
    Review: http://reviews.llvm.org/D16524
    
    git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@260378 91177308-0d34-0410-b5e6-96231b3b80d8
Code owners
Assign users and groups as approvers for specific file changes. Learn more.