summaryrefslogtreecommitdiffstats
path: root/clang/test/Sema/complex-int.c
Commit message (Collapse)AuthorAgeFilesLines
* Refactor checking of switch conditions and case values.Richard Smith2018-07-261-0/+4
| | | | | | | | | | | | | | | | | | | Check each case value in turn while parsing it, performing the conversion to the switch type within the context of the expression itself. This will become necessary in order to properly handle cleanups for temporaries created as part of the case label (in an upcoming patch). For now it's just good hygiene. This necessitates moving the checking for the switch condition itself to earlier, so that the destination type is available when checking the case labels. As a nice side-effect, we get slightly improved diagnostic quality and error recovery by separating the case expression checking from the case statement checking and from tracking whether there are discarded case labels. llvm-svn: 338056
* Catch more cases when diagnosing integer-constant-expression overflows.Josh Magee2015-02-041-0/+2
| | | | | | | | | When visiting AssignmentOps, keep evaluating after a failure (when possible) in order to identify overflow in subexpressions. Differential Revision: http://reviews.llvm.org/D1238 llvm-svn: 228202
* Improved complex constants evaluation.Abramo Bagnara2010-12-111-0/+12
| | | | llvm-svn: 121616
* Re-improve recovery when the condition of a switch statement does notDouglas Gregor2010-06-291-5/+1
| | | | | | | | have integral or enumeration type, so that we still check the contents of the switch body. My previous patch made this worse; now we're back to where we were previously. llvm-svn: 107223
* Factor the conversion from a switch condition to an integral orDouglas Gregor2010-06-291-1/+5
| | | | | | | | enumeration type out into a separate, reusable routine. The only functionality change here is that we recover a little more aggressively from ill-formed switch conditions. llvm-svn: 107222
* Fix minor oversight for increment/decrement of complex int. Add tests forEli Friedman2010-01-031-0/+4
| | | | | | coverage. llvm-svn: 92433
* Update tests to use %clang_cc1 instead of 'clang-cc' or 'clang -cc1'.Daniel Dunbar2009-12-151-1/+1
| | | | | | | | | - This is designed to make it obvious that %clang_cc1 is a "test variable" which is substituted. It is '%clang_cc1' instead of '%clang -cc1' because it can be useful to redefine what gets run as 'clang -cc1' (for example, to set a default target). llvm-svn: 91446
* Remove tabs, and whitespace cleanups.Mike Stump2009-09-091-3/+2
| | | | llvm-svn: 81346
* Rename clang to clang-cc.Daniel Dunbar2009-03-241-1/+1
| | | | | | Tests and drivers updated, still need to shuffle dirs. llvm-svn: 67602
* Use VerifyIntegerConstantExpression for case values.Anders Carlsson2008-12-011-2/+2
| | | | llvm-svn: 60317
* GCC supports the complex conjugate operator (an extension) on complex int Chris Lattner2008-07-251-0/+9
| | | | | | as well as complex float. rdar://6097730 llvm-svn: 54080
* Finish up handling all permutations of "complex int" (in ↵Steve Naroff2008-01-151-0/+20
| | | | | | | | | | Sema::UsualArithmeticConversions()). A FIXME remains to verify the conversion rules are consistent with GCC. Thanks to Eli for the new/improved test case... llvm-svn: 46022
* - Change Type::isComplexType() to exlude GCC's complex integer extension. In ↵Steve Naroff2008-01-151-0/+1
| | | | | | | | | | general, we will keep the lowest level Type predicates "pure" (i.e. true to the C99 spec). - Modify Sema::UsualArithmeticConversions() to work with the new definition of Type::isComplexType(). This is a nice cleanup and also fixes a bug submitted by Eli (which I've added to the test suite). llvm-svn: 46005
* Rework commit r45976, which was incorrect.Steve Naroff2008-01-151-1/+9
| | | | | | | | - Add Type::isComplexIntegerType(), Type::getAsComplexIntegerType(). - Don't inlude complex types with Type::isIntegerType(), which is too general. - Use the new predicates in Sema::UsualArithmeticConversions() to recognize/convert the types. llvm-svn: 45992
* Make sure Sema::GetTypeForDeclarator() deals with abstract declarators when ↵Steve Naroff2008-01-141-0/+4
| | | | | | | | diagnosing incorrect code. Bug submitted by Eli. llvm-svn: 45989
* Teach Type::isIntegerType() about GCC's __complex__ integer extensions...Steve Naroff2008-01-141-0/+10
Bug submitted by Eli. llvm-svn: 45976
OpenPOWER on IntegriCloud