- 18 Jul, 2016 1 commit
-
-
- 28 Jun, 2016 1 commit
-
-
- 10 Jun, 2016 1 commit
-
-
- 26 May, 2016 2 commits
-
-
Daniel Pfeifer authored
Run clang-tidy's readability-redundant-string-cstr checker. Ignore findings in kwsys.
-
Daniel Pfeifer authored
Use clang-tidy's performance-unnecessary-value-param checker to find value parameter declarations of expensive to copy types that are not modified inside the function. Ignore findings in kwsys. After applying the fix-its, manually change `const T&` to `T const&`.
-
- 16 May, 2016 1 commit
-
-
Run the `Utilities/Scripts/clang-format.bash` script to update all our C++ code to a new style defined by `.clang-format`. Use `clang-format` version 3.8. * If you reached this commit for a line in `git blame`, re-run the blame operation starting at the parent of this commit to see older history for the content. * See the parent commit for instructions to rebase a change across this style transition commit.
-
- 29 Apr, 2016 1 commit
-
-
Brad King authored
Sort include directives within each block (separated by a blank line) in lexicographic order (except to prioritize `sys/types.h` first). First run `clang-format` with the config file: --- SortIncludes: false ... Commit the result temporarily. Then run `clang-format` again with: --- SortIncludes: true IncludeCategories: - Regex: 'sys/types.h' Priority: -1 ... Commit the result temporarily. Start a new branch and cherry-pick the second commit. Manually resolve conflicts to preserve indentation of re-ordered includes. This cleans up the include ordering without changing any other style. Use the following command to run `clang-format`: $ git ls-files -z -- \ '*.c' '*.cc' '*.cpp' '*.cxx' '*.h' '*.hh' '*.hpp' '*.hxx' | egrep -z -v '(Lexer|Parser|ParserHelper)\.' | egrep -z -v '^Source/cm_sha2' | egrep -z -v '^Source/(kwsys|CursesDialog/form)/' | egrep -z -v '...
-
- 18 Apr, 2016 2 commits
-
-
Brad King authored
This information is now kept in cmMakefile::Backtrace.
-
Brad King authored
Since commit v3.4.0-rc1~321^2~2 (Genex: Store a backtrace, not a pointer to one, 2015-07-08) we treat cmListFileBacktrace instances as lightweight values. This was true at the time only because the backtrace information was kept in the cmState snapshot hierarchy. However, that forced us to accumulate a lot of otherwise short-lived snapshots just to have the backtrace fields available for reference by cmListFileBacktrace instances. Recent refactoring made backtrace instances independent of the snapshot hierarchy to avoid accumulating short-lived snapshots. This came at the cost of making backtrace values heavy again, leading to lots of string coying and slower execution. Fix this by refactoring cmListFileBacktrace to provide value semantics with efficient shared storage underneath. Teach cmMakefile to maintain its call stack using an instance of cmListFileBacktrace. This approach allows the current backtrace to be efficiently saved whenever it is needed. Also teach cmListFileBacktrace the notion of a file-level scope. This is useful for messages about the whole file (e.g. during parsing) that are not specific to any line within it. Push the CMakeLists.txt scope for each directory and never pop it. This ensures that we always have some context information and simplifies cmMakefile::IssueMessage. Push/pop a file-level scope as each included file is processed. This supersedes cmParseFileScope and improves diagnostic message context information in a few places. Fix the corresponding test cases to expect the improved output.
-
- 15 Apr, 2016 3 commits
-
-
-
Brad King authored
Changes during post-3.3/pre-3.4 development refactored storage of most configure-time information, including variable bindings and function scopes. All scopes (even short-lived) were kept persistently for possible future debugging features, causing huge accumulated memory usage. This was mostly addressed by commit v3.4.1~4^2 (cmState: Avoid accumulating snapshot storage for short-lived scopes, 2015-11-24). Since then we still keep short-lived scopes when they are needed for a backtrace. This is because since commit v3.4.0-rc1~378^2 (cmListFileBacktrace: Implement in terms of cmState::Snapshot, 2015-05-29) backtraces have been lightweight objects that simply point into the snapshot tree. While the intention of this approach was to avoid duplicating the call stack file path strings, the cost turned out to be holding on to the entire call stack worth of scope snapshots, which is much worse. Furthermore, since commit v3.4.0-rc2~1^2 (cmIfCommand: Issue CMP0054 warning with appropriate context, 2015-10-20) all conditions used in `if()` commands hold a backtrace for use in diagnostic messages. Even though the backtrace is short-lived it still causes the scope snapshot to be kept. This means that code like function(foo) if(0) endif() endfunction() foreach(i RANGE 1000000) foo() endforeach() accumulates storage for the function call scope snapshots. Fix this by partially reverting commit v3.4.0-rc1~378^2 and saving the entire call stack during cmListFileBacktrace construction. This way we can avoid keeping short-lived scope snapshot storage in all cases.
-
Brad King authored
The bottom of the call stack is always a long-lived snapshot and can be saved for later use with cmOutputConverter.
-
- 12 Apr, 2016 1 commit
-
-
Brad King authored
-
- 25 Nov, 2015 3 commits
-
-
Brad King authored
We need to keep only certain snapshot types and their ancestors. Also keep those needed for backtraces.
-
Brad King authored
We enforce policy push/pop balance around any scope that pushes/pops a snapshot. Therefore a snapshot may never reference entries of PolicyStack that were created in nested scopes. Free storage of short-lived policy stack entries when they are popped.
-
Brad King authored
Logically the method pushes a nested scope on top of a given scope because the "up" pointer sequence forms a stack independent of any other branches of the tree.
-
- 24 Nov, 2015 2 commits
-
-
Brad King authored
Everywhere we use cmMakefile::ScopePushPop to manage variable scopes also expects policy scopes to be balanced. There is no place that we use cmMakefile::PolicyPushPop without also using ScopePushPop. Relieve PolicyPushPop of responsibility for policy scope balance checks by moving it to ScopePushPop.
-
Brad King authored
Since commit v3.4.0-rc1~179^2~1 (cmState: Add a VariableScope snapshot type, 2015-08-23) the snapshot stack may have a VariableScopeType entry. Skip over these when constructing the call stack, just as we do for policy scopes. Otherwise we report the command causing the variable scope to be entered twice (e.g. find_package while loading a package version file).
-
- 14 Oct, 2015 1 commit
-
-
Stephen Kelly authored
-
- 13 Oct, 2015 5 commits
-
-
Stephen Kelly authored
Add new API for the subdirs command to cmState. This fixes a regression introduced in commit f716460e (cmMakefile: Move invokation to initialize snapshot., 2015-10-06).
-
Stephen Kelly authored
Don't leave this as cmMakefile responsibility.
-
Stephen Kelly authored
Don't leave this as cmMakefile responsibility.
-
Stephen Kelly authored
Don't leave this as cmMakefile responsibility.
-
Stephen Kelly authored
Don't leave this as cmMakefile responsibility.
-
- 10 Oct, 2015 6 commits
-
-
Stephen Kelly authored
-
Stephen Kelly authored
-
Stephen Kelly authored
-
Stephen Kelly authored
-
Stephen Kelly authored
-
Stephen Kelly authored
-
- 07 Oct, 2015 1 commit
-
-
Stephen Kelly authored
-
- 11 Sep, 2015 3 commits
-
-
Stephen Kelly authored
This is the appropriate snapshot for future use. Existing users of this method are mostly just calling GetDirectory on the result, but the progress tracking of the Makefile generator needs a consistent snapshot to be used, so the end snapshot should be consistently used.
-
Stephen Kelly authored
This is a change in behavior from CMake 3.3, but there is no semantic meaning to empty entries in buildsystem properties. This also restores behavior to that of CMake 2.8.10.
-
Stephen Kelly authored
-
- 25 Aug, 2015 1 commit
-
-
Stephen Kelly authored
-
- 24 Aug, 2015 3 commits
-
-
Stephen Kelly authored
-
Stephen Kelly authored
-
Stephen Kelly authored
-
- 23 Aug, 2015 2 commits
-
-
Stephen Kelly authored
-
Stephen Kelly authored
-