Sebastian Redl
6cae80da20
Documentation for the plural modifier.
...
llvm-svn: 59885
2008-11-22 22:16:45 +00:00
Anders Carlsson
475f4bce36
Case values must be evaluated
...
llvm-svn: 59884
2008-11-22 21:50:49 +00:00
Chris Lattner
e72a8a3048
start documenting Diagnostics. Sebastian, I'd appreciate it
...
if you can fill in the section for %plural.
llvm-svn: 59883
2008-11-22 21:41:31 +00:00
Chris Lattner
ddda82b200
consistently use single quotes for quoted things.
...
llvm-svn: 59882
2008-11-22 21:16:43 +00:00
Anders Carlsson
59689ed764
Use Expr::Evaluate for case statements. Fixes PR2525
...
llvm-svn: 59881
2008-11-22 21:04:56 +00:00
Anders Carlsson
2fedf0e8f7
Fix indentation width.
...
llvm-svn: 59880
2008-11-22 20:49:42 +00:00
Chris Lattner
bd414e34c2
remove a dead enum
...
llvm-svn: 59879
2008-11-22 20:47:38 +00:00
Fariborz Jahanian
5118c418e6
Support for implicit property assignment. Error assigning to
...
'implicit' property with no 'setter'.
llvm-svn: 59878
2008-11-22 20:25:50 +00:00
Chris Lattner
8cd9b96ee1
add a silly testcase
...
llvm-svn: 59877
2008-11-22 19:57:03 +00:00
Chris Lattner
1fdb4310e3
Describe how the JIT maps fields to MachineOperands, patch by
...
JP Bonn!
llvm-svn: 59876
2008-11-22 19:10:48 +00:00
Fariborz Jahanian
bf65ce5372
And a test case for my last patch.
...
llvm-svn: 59875
2008-11-22 18:40:47 +00:00
Fariborz Jahanian
8a1810f06b
New AST node to access "implicit" setter/getter using property dor syntax.
...
Issuing diagnostics when assigning to read-only properties.
This is work in progress.
llvm-svn: 59874
2008-11-22 18:39:36 +00:00
Anton Korobeynikov
bff4b37af5
Make a convenient helper for printing offsets.
...
llvm-svn: 59872
2008-11-22 16:15:34 +00:00
Sebastian Redl
15b02d2e62
Implement a %plural modifier for complex plural forms in diagnostics. Use it in the overload diagnostics.
...
llvm-svn: 59871
2008-11-22 13:44:36 +00:00
Zhongxing Xu
4c8bf0086a
Remove debug code.
...
llvm-svn: 59870
2008-11-22 13:23:00 +00:00
Zhongxing Xu
4d45b34a8a
Initial support for checking out of bound memory access. Only support
...
ConcreteInt index for now.
llvm-svn: 59869
2008-11-22 13:21:46 +00:00
Chris Lattner
3b0f3ef97e
remove some more old Diag methods, replace with a single static helper function
...
llvm-svn: 59868
2008-11-22 08:32:36 +00:00
Chris Lattner
bc495d775f
move the Diag method for Sema to be inline. This shrinks the release-asserts
...
clang executable (when built with gcc 4.2 on the mac) from 14519740 to
14495028 bytes. This shrinks individual object files as well: SemaChecking
from 23580->22248, SemaDeclObjc from 61368->57376, SemaExpr from
115628->110516, as well as several others.
llvm-svn: 59867
2008-11-22 08:28:49 +00:00
Chris Lattner
060068a0ef
alphabeticalize.
...
llvm-svn: 59866
2008-11-22 08:22:53 +00:00
Chris Lattner
f3cb394f41
Fix a weird inconsistency with hex floats. Previously the lexer
...
would not eat the "-1" in "0x0p-1", but LiteralSupport would accept
it when extensions are on. This caused strangeness and failures
when hexfloats were properly treated as an extension (not error)
in LiteralSupport.
llvm-svn: 59865
2008-11-22 07:39:03 +00:00
Bill Wendling
5424e6d4ec
Cleanup of the [SU]ADDO type legalization code. Patch by Duncan!
...
"It simplifies the type legalization part a bit, and produces better code by
teaching SelectionDAG about the extra bits in an i8 SADDO/UADDO node. In
essence, I spontaneously decided that on x86 this i8 boolean result would be
either 0 or 1, and on other platforms 0/1 or 0/-1, depending on whether the
platform likes it's boolean zero extended or sign extended."
llvm-svn: 59864
2008-11-22 07:24:01 +00:00
Chris Lattner
59acca5874
remove the NumericLiteralParser::Diag helper method, inlining it into
...
its call sites. This makes it more explicit when the hasError flag is
getting set and removes a confusing difference in behavior between
PP.Diag and Diag in this code.
llvm-svn: 59863
2008-11-22 07:23:31 +00:00
Chris Lattner
1ef2028205
Move the Preprocessor::Diag methods inline. This has the interesting
...
(and carefully calculated) effect of allowing the compiler to reason
about the aliasing properties of DiagnosticBuilder object better,
allowing the whole thing to be promoted to registers instead of
resulting in a ton of stack traffic.
While I'm not very concerned about the performance of the Diag() method
invocations, I *am* more concerned about their code size and impact on the
non-diagnostic code. This patch shrinks the clang executable (in
release-asserts mode with gcc-4.2) from 14523980 to 14519816 bytes. This
isn't much, but it shrinks the lexer from 38192 to 37776, PPDirectives.o
from 31116 to 28868 bytes, etc.
llvm-svn: 59862
2008-11-22 07:03:46 +00:00
Anders Carlsson
4d5f2e532c
Add test for PR2992.
...
llvm-svn: 59861
2008-11-22 06:42:54 +00:00
Chris Lattner
fdabe83c67
inline a method into its only two call sites.
...
llvm-svn: 59860
2008-11-22 06:42:31 +00:00
Chris Lattner
014156e108
actually, this version isn't really needed.
...
llvm-svn: 59859
2008-11-22 06:22:39 +00:00
Chris Lattner
57dab26be1
remove a sneaky version of Diag hiding in PreprocessorLexer.
...
llvm-svn: 59858
2008-11-22 06:20:42 +00:00
Anders Carlsson
20e11f8fc8
Use tryEvaluate for constant exprs.
...
llvm-svn: 59857
2008-11-22 02:34:39 +00:00
Chris Lattner
6d27a16b95
Change the Lexer::Diag method to not magically silence warnings,
...
force the caller to check instead. This eliminates the need (and the
risk!) of weird null DiagnosticBuilder's floating around.
llvm-svn: 59856
2008-11-22 02:02:22 +00:00
Chris Lattner
399f9656ba
Teach tentative parsing to handle block pointers (rdar://6394309)
...
llvm-svn: 59853
2008-11-22 01:15:33 +00:00
Chris Lattner
afd8aa9d73
fit in 80 cols
...
llvm-svn: 59851
2008-11-22 01:04:49 +00:00
Ted Kremenek
25391e7cb7
reverting this because it breaks some blocks cases, I'll send doug a testcase
...
llvm-svn: 59850
2008-11-22 01:04:48 +00:00
Chris Lattner
427c9c1763
Split the DiagnosticInfo class into two disjoint classes:
...
one for building up the diagnostic that is in flight (DiagnosticBuilder)
and one for pulling structured information out of the diagnostic when
formatting and presenting it.
There is no functionality change with this patch.
llvm-svn: 59849
2008-11-22 00:59:29 +00:00
Ted Kremenek
a3148f16e4
Fix predicate: we're not in caching mode if CurPPLexer == 0, not CurLexer == 0.
...
llvm-svn: 59848
2008-11-22 00:41:34 +00:00
Bill Wendling
be8e7f851c
- Move conversion of [SU]ADDO from DAG combiner into legalizer.
...
- Add "promote integer type" stuff to the legalizer for these nodes.
llvm-svn: 59847
2008-11-22 00:22:52 +00:00
Ted Kremenek
6b3ced2b15
In PTHLexer::DiscardToEndOfLine() use Lex() instead of AdvanceToken(). This handles transitions in the preprocessor state.
...
llvm-svn: 59845
2008-11-21 23:28:56 +00:00
Devang Patel
702f45df58
Fix build failure.
...
llvm-svn: 59844
2008-11-21 21:00:20 +00:00
Ted Kremenek
1ad05ce600
Reenable the default lexer.
...
llvm-svn: 59843
2008-11-21 20:51:59 +00:00
Ted Kremenek
b6209858cb
When creating the raw tokens for PTHLexer, make sure the token representing the file to include is checked for being an identifier.
...
llvm-svn: 59842
2008-11-21 20:51:15 +00:00
Devang Patel
cb181bb203
Silence unused variable warnings.
...
llvm-svn: 59841
2008-11-21 20:00:59 +00:00
Ted Kremenek
72d9912b08
When creating raw tokens for the PTHLexer specially handle angled strings for #include directives.
...
llvm-svn: 59840
2008-11-21 19:41:29 +00:00
Devang Patel
b885a91a12
Document TEST=dbgopt
...
llvm-svn: 59839
2008-11-21 19:35:57 +00:00
Fariborz Jahanian
e2caaaa13c
Fixed bugzilla bug# 3095 related to code gen. for @synchronized.
...
llvm-svn: 59838
2008-11-21 19:21:53 +00:00
Dan Gohman
57d0b88830
Correctly set the isCtrl flag for chain dependencies.
...
llvm-svn: 59837
2008-11-21 19:17:25 +00:00
Dan Gohman
546bcfe8d6
Update comments.
...
llvm-svn: 59836
2008-11-21 19:16:58 +00:00
Sebastian Redl
bd150f431e
Implementation of new and delete parsing and sema.
...
This version uses VLAs to represent arrays. I'll try an alternative way next, but I want this safe first.
llvm-svn: 59835
2008-11-21 19:14:01 +00:00
Dan Gohman
8dfa51c5ef
Update comments.
...
llvm-svn: 59834
2008-11-21 19:10:41 +00:00
Chris Lattner
841399c95a
rearrange some fields.
...
llvm-svn: 59832
2008-11-21 18:59:21 +00:00
Chris Lattner
cedef8d111
merge some simple call diagnostics.
...
llvm-svn: 59831
2008-11-21 18:44:24 +00:00
Chris Lattner
40bb0c83d4
print a type in a diagnostic.
...
llvm-svn: 59829
2008-11-21 18:27:34 +00:00