OLD | NEW |
1 // Copyright 2013 the V8 project authors. All rights reserved. | 1 // Copyright 2013 the V8 project authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "src/typing.h" | 5 #include "src/typing.h" |
6 | 6 |
7 #include "src/frames.h" | 7 #include "src/frames.h" |
8 #include "src/frames-inl.h" | 8 #include "src/frames-inl.h" |
9 #include "src/parser.h" // for CompileTimeValue; TODO(rossberg): should move | 9 #include "src/parser.h" // for CompileTimeValue; TODO(rossberg): should move |
10 #include "src/scopes.h" | 10 #include "src/scopes.h" |
(...skipping 357 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
368 ExitEffects(); | 368 ExitEffects(); |
369 then_effects.Alt(else_effects); | 369 then_effects.Alt(else_effects); |
370 store_.Seq(then_effects); | 370 store_.Seq(then_effects); |
371 | 371 |
372 NarrowType(expr, Bounds::Either( | 372 NarrowType(expr, Bounds::Either( |
373 expr->then_expression()->bounds(), | 373 expr->then_expression()->bounds(), |
374 expr->else_expression()->bounds(), zone())); | 374 expr->else_expression()->bounds(), zone())); |
375 } | 375 } |
376 | 376 |
377 | 377 |
| 378 // simulated build generates warning (fails compile) without pragma |
| 379 // when built using gcc 4.4.6 on intel linux |
| 380 #pragma GCC diagnostic ignored "-Wuninitialized" |
378 void AstTyper::VisitVariableProxy(VariableProxy* expr) { | 381 void AstTyper::VisitVariableProxy(VariableProxy* expr) { |
379 Variable* var = expr->var(); | 382 Variable* var = expr->var(); |
380 if (var->IsStackAllocated()) { | 383 if (var->IsStackAllocated()) { |
381 NarrowType(expr, store_.LookupBounds(variable_index(var))); | 384 NarrowType(expr, store_.LookupBounds(variable_index(var))); |
382 } | 385 } |
383 } | 386 } |
384 | 387 |
385 | 388 |
386 void AstTyper::VisitLiteral(Literal* expr) { | 389 void AstTyper::VisitLiteral(Literal* expr) { |
387 Type* type = Type::Constant(expr->value(), zone()); | 390 Type* type = Type::Constant(expr->value(), zone()); |
(...skipping 382 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
770 void AstTyper::VisitModuleUrl(ModuleUrl* module) { | 773 void AstTyper::VisitModuleUrl(ModuleUrl* module) { |
771 } | 774 } |
772 | 775 |
773 | 776 |
774 void AstTyper::VisitModuleStatement(ModuleStatement* stmt) { | 777 void AstTyper::VisitModuleStatement(ModuleStatement* stmt) { |
775 RECURSE(Visit(stmt->body())); | 778 RECURSE(Visit(stmt->body())); |
776 } | 779 } |
777 | 780 |
778 | 781 |
779 } } // namespace v8::internal | 782 } } // namespace v8::internal |
OLD | NEW |