summaryrefslogtreecommitdiffstats
path: root/clang/lib/CodeGen/TargetInfo.cpp
Commit message (Collapse)AuthorAgeFilesLines
...
* Implement promotion for enumeration types.Douglas Gregor2010-02-021-3/+38
| | | | | | | | | | | | | | | | | | | | | | | | | WHAT!?! It turns out that Type::isPromotableIntegerType() was not considering enumeration types to be promotable, so we would never do the promotion despite having properly computed the promotion type when the enum was defined. Various operations on values of enum type just "worked" because we could still compute the integer rank of an enum type; the oddity, however, is that operations such as "add an enum and an unsigned" would often have an enum result type (!). The bug actually showed up as a spurious -Wformat diagnostic (<rdar://problem/7595366>), but in theory it could cause miscompiles. In this commit: - Enum types with a promotion type of "int" or "unsigned int" are promotable. - Tweaked the computation of promotable types for enums - For all of the ABIs, treat enum types the same way as their underlying types (*not* their promotion types) for argument passing and return values - Extend the ABI tester with support for enumeration types llvm-svn: 95117
* ARM/APCS: Fix classification of small complex integer types as "integer like".Daniel Dunbar2010-02-011-3/+3
| | | | llvm-svn: 95030
* ARM/APCS: Pass Complex types following llvm-gcc.Daniel Dunbar2010-02-011-0/+8
| | | | llvm-svn: 95029
* ARM/APCS ABI: Fix some problems with bit-fields in structures. After rereadingDaniel Dunbar2010-01-291-18/+18
| | | | | | | the ABI spec, this turns out to simplify the code. We still have some annoying code which mismatches the spec with regard to empty structures. llvm-svn: 94796
* Structs and classes with non-trivial destructors or copy constructors should ↵Anders Carlsson2010-01-271-2/+10
| | | | | | be passed indirectly in the 32-bit ABI. Fixes PR6094. llvm-svn: 94656
* Eliminate some Clang warningsDouglas Gregor2010-01-221-7/+7
| | | | llvm-svn: 94177
* Generalize target weirdness handling having proper layering in mind:Anton Korobeynikov2010-01-101-27/+110
| | | | | | | | | 1. Add helper class for sema checks for target attributes 2. Add helper class for codegen of target attributes As a proof-of-concept - implement msp430's 'interrupt' attribute. llvm-svn: 93118
* Rename file to generalization in next commitsAnton Korobeynikov2010-01-101-0/+1821
llvm-svn: 93117
OpenPOWER on IntegriCloud