Граф коммитов

42338 Коммитов

Автор SHA1 Сообщение Дата
Chris Lattner e107b5d1b3 remove some extraneous spaces, no functionality change.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@39832 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-13 21:01:17 +00:00
Chris Lattner d07eb3b5b4 implement codegen support for implicit casts.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@39831 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-13 20:25:53 +00:00
Chris Lattner d0d560a097 eliminate extraneous type, add accessors.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@39830 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-13 20:25:36 +00:00
Chris Lattner 8da1cb6339 Check in these testcases.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@39829 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-13 20:18:44 +00:00
Chris Lattner a63ff1486d new testcase that crashes the cfe due to implicit conversion fun
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@39826 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-13 20:11:01 +00:00
Chris Lattner a80b0bafd4 silence a bogus gcc warning.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@39824 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-13 20:07:11 +00:00
Steve Naroff ba61c14bc9 Removed some superfluous code. The getType() method and associated
assert is now done in UsualUnaryConversions().


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@39818 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-13 17:39:21 +00:00
Chris Lattner c35717a1b3 remove use of alloca.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@39815 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-13 17:10:38 +00:00
Steve Naroff 49b4526992 Add (explicit) AST support for implicit casts. This should simplify the
code generator. Source translation tools can simply ignore this node.

- Added a new Expr node, ImplicitCastExpr.
- Changed UsualUnaryConversions/UsualArithmeticConversions to take references 
to Expr *'s. This will allow these routines to instantiate the new AST node
and pass it back.
- Changed all clients of UsualUnary/UsualArithmetic (lot's of diff's).
- Changed some names in CheckConditionalOperands. Several variables where
only distinguished by their case (e.g. Cond, cond). Yuck (what was I thinking).
- Removed an old/crufty constructor in CastExpr (cleanup).

This check-in does not actually create the new AST node. I wanted to separate
the mechanical changes from the semantic changes. In addition, I need to 
coordinate with Chris, since the semantic change will break the code generator.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@39814 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-13 16:58:59 +00:00
Chris Lattner 8a6a237817 check in the basic llvm license
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@39812 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-13 15:47:47 +00:00
Gabor Greif 7ae5326415 Solaris needs an included header for alloca
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@39797 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-13 08:21:39 +00:00
Chris Lattner b0a721a51a "Codegen for Character Literals and Conditional Operator
Both in one patch, and the test case that Chris didn't commit last
time is in there too...

I'll split the patch up if somebody wants it split."

Patch by Keith Bauer.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@39796 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-13 05:18:11 +00:00
Chris Lattner 88a69ad80e implement support for basic codegen of global variables with no initializers.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@39795 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-13 05:13:43 +00:00
Chris Lattner fa7c64562d "Someone typed "PtrToInt" where they meant "IntToPtr".
I've added a tests/CodeGen directory, and a test for this case that
used to fail and now passes."

Patch by Keith Bauer



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@39794 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-13 03:25:53 +00:00
Chris Lattner 8b9023ba35 Implement codegen for + and - with pointers. Patch contributed by
Keith Bauer.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@39793 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-13 03:05:23 +00:00
Anton Korobeynikov b7b50bc29b Workaround gcc 3.4.x bug
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@39792 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-13 00:48:55 +00:00
Steve Naroff c63b96ad70 Two changes...
- Teach all the integer/float predicates on Type about Vectors.
- Disallow bitwise compliment on float vectors. For example...

typedef float __attribute__(( vector_size(16) )) float4;

float4 float4_return()
{
    float4 xx;

    return ~xx;
}

...now emits the following diagnostic...

[administrators-powerbook59:~/llvm/tools/clang] admin% ../../Debug/bin/clang bug.c
bug.c:8:12: error: invalid argument type to unary expression 'float4'
    return ~xx;
           ^
1 diagnostic generated.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@39791 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-12 21:46:55 +00:00
Chris Lattner a7fa381a50 update tests
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@39786 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-12 16:52:08 +00:00
Chris Lattner e8fdbba7d7 -pedantic no longer defaults to on.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@39785 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-12 16:49:27 +00:00
Chris Lattner 2b80ec2192 update test
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@39784 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-12 16:48:52 +00:00
Chris Lattner 9623feb09f don't pick up random stuff in .svn directories.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@39783 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-12 16:46:07 +00:00
Gabor Greif 1501218865 add missing header
(needed on Solaris)


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@39781 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-12 16:00:00 +00:00
Chris Lattner 6fa5f0943a Fix "no newline at end of file" warnings. Patch contributed by
Benoit Boissinot!



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@39780 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-12 15:43:07 +00:00
Chris Lattner 9dc62f044a Improve portability to compilers where <cassert> is not implicitly
included.  Patch contributed by Benoit Boissinot!


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@39779 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-12 15:32:57 +00:00
Chris Lattner f86638365f Allow this to compile on compilers where <string>
doesn't imply <cassert>.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@39778 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-12 15:30:49 +00:00
Anton Korobeynikov fdd75663ff Properly use local variable declaration inside a switch case
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@39777 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-12 15:26:50 +00:00
Chris Lattner 3724c00ab7 add missing specification for a default argument. I guess g++ 4.0 doesn't
notice this.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@39776 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-12 15:26:16 +00:00
Chris Lattner 1978596a6f Evaluate the initializer for automatic variables.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@39771 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-12 00:39:48 +00:00
Chris Lattner 24c3990cd2 remember the initializer for a variable in the AST and teach the
pretty printer to print it.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@39770 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-12 00:36:32 +00:00
Chris Lattner 572747983b implement codegen support for pre/post inc/dec.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@39765 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-11 23:43:46 +00:00
Chris Lattner 1c2a65b8eb Fix a release build of clang.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@39756 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-11 21:50:45 +00:00
Chris Lattner 3321f9f1a9 update this.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@39746 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-11 18:58:19 +00:00
Chris Lattner 268623477f Test commit
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@39738 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-11 17:31:59 +00:00
Reid Spencer 5911719ea1 Move the ModuleInfo.txt file.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@39735 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-11 17:03:27 +00:00
Reid Spencer 5f016e2cb5 Stage two of getting CFE top correct.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@39734 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-11 17:01:13 +00:00
Reid Spencer a5f182095b Add a comment to indicate what this file is for.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@38533 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-11 08:00:56 +00:00
Reid Spencer 3178eb75f0 Add ModuleInfo.txt for the cfe module.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@38532 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-11 07:46:26 +00:00
Reid Spencer 6123183354 Create initial directory structure for the C Front End.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@38531 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-11 07:42:41 +00:00