summaryrefslogtreecommitdiffstats
path: root/clang/test/SemaCXX/large-array-init.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Revert r332847; it caused us to miscompile certain forms of reference ↵Richard Smith2018-05-211-0/+10
| | | | | | initialization. llvm-svn: 332886
* [CodeGen] Recognize more cases of zero initializationSerge Pavlov2018-05-211-10/+0
| | | | | | | | | | | | | | | | | | | | | If a variable has an initializer, codegen tries to build its value. If the variable is large in size, building its value requires substantial resources. It causes strange behavior from user viewpoint: compilation of huge zero initialized arrays like: char data_1[2147483648u] = { 0 }; consumes enormous amount of time and memory. With this change codegen tries to determine if variable initializer is equivalent to zero initializer. In this case variable value is not constructed. This change fixes PR18978. Differential Revision: https://reviews.llvm.org/D46241 llvm-svn: 332847
* [AST] Fix passing large-array-init.cpp on builds without assertsIvan A. Kosarev2018-02-141-0/+1
| | | | | | Differential Revision: https://reviews.llvm.org/D43187 llvm-svn: 325123
* [AST] Refine the condition for element-dependent array fillersIvan A. Kosarev2018-02-141-0/+9
This patch fixes clang to not consider braced initializers for aggregate elements of arrays to be potentially dependent on the indices of the initialized elements. Resolves bug 18978: initialize a large static array = clang oom? https://bugs.llvm.org/show_bug.cgi?id=18978 Differential Revision: https://reviews.llvm.org/D43187 llvm-svn: 325120
OpenPOWER on IntegriCloud