summaryrefslogtreecommitdiffstats
path: root/clang/test/SemaCXX/predefined-expr.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Improve handling of __FUNCTION__ and other predefined expression for ↵Mehdi Amini2016-11-161-10/+8
| | | | | | | | | | | | | | Objective-C Blocks Instead of always displaying the mangled name, try to do better and get something closer to regular functions. Recommit r287039 (that was reverted in r287039) with a tweak to be more generic, and test fixes! Differential Revision: https://reviews.llvm.org/D26522 llvm-svn: 287085
* Fix compatibility issues in tests for PredefinedExpr with MSVC.Alexey Bataev2014-10-091-1/+1
| | | | llvm-svn: 219405
* Fix for bug http://llvm.org/PR17427.Alexey Bataev2014-10-091-8/+6
| | | | | | | | Assertion failed: "Computed __func__ length differs from type!" Reworked PredefinedExpr representation with internal StringLiteral field for function declaration. Differential Revision: http://reviews.llvm.org/D5365 llvm-svn: 219393
* Handle PredefinedExpr with templates and lambdasWei Pan2013-09-161-0/+38
| | | | | | | | | | | Summary: - lambdas, blocks or captured statements in templates were not handled which causes codegen crashes. Differential Revision: http://llvm-reviews.chandlerc.com/D1628 llvm-svn: 190784
* Handle predefined expression for a captured statementWei Pan2013-08-261-0/+25
| | | | | | | | | | | - __func__ or __FUNCTION__ returns captured statement's parent function name, not the one compiler generated. Differential Revision: http://llvm-reviews.chandlerc.com/D1491 Reviewed by bkramer llvm-svn: 189219
* Sema: Use the right type for PredefinedExpr when it's in a lambda.Benjamin Kramer2013-08-211-0/+40
1. We now print the return type of lambdas and return type deduced functions as "auto". Trailing return types with decltype print the underlying type. 2. Use the lambda or block scope for the PredefinedExpr type instead of the parent function. This fixes PR16946, a strange mismatch between type of the expression and the actual result. 3. Verify the type in CodeGen. 4. The type for blocks is still wrong. They are numbered and the name is not known until CodeGen. llvm-svn: 188900
OpenPOWER on IntegriCloud