OW2 Consortium
Search OW2 Mail Archive: 

Advanced Search - Powered by Google


Mail Archive Home | think-dev List | Febuary 2008 Index

<--  Date Index  --> <--  Thread Index  -->

[think-dev] [ think-codegen-308665 ] NPE w/ compound expression


codegen item #308665, was opened at 2008-02-26 08:57
You can respond by visiting: 
http://forge.objectweb.org/tracker/?func=detail&atid=350446&aid=308665&group_id=27

Category: None
Group: None
>Status: Closed
Resolution: Fixed
Priority: 5
Submitted By: Olivier Lobry (lobryol)
Assigned to: Olivier Lobry (lobryol)
Summary: NPE w/ compound expression

Initial Comment:
such construction raises a NPE.
typedef int uint16_t;

void f() {
        int toto = ({ 
        uint16_t __x;
        __asm__ __volatile__(
                "mov    r2, %0"
                : "=r" ((uint16_t) __x)
                :);
        __x;
        });
}

java.lang.NullPointerException
        at 
org.objectweb.think.codegen.lang.c.var.CBasicVariable.castExpr(CBasicVariable.java:49)
        at 
org.objectweb.think.codegen.lang.c.var.CBasicVariable.setInitValue(CBasicVariable.java:61)
        at 
org.objectweb.think.codegen.lang.c.parser.visitor.CToCodeGenTranslator.visit(CToCodeGenTranslator.
java:1744)
        at 
org.objectweb.think.codegen.lang.c.parser.syntaxtree.CST_Initializer.accept(CST_Initializer.java:24)
        at 
org.objectweb.think.codegen.lang.c.parser.visitor.GJDepthFirst.visit(GJDepthFirst.java:52)
        at 
org.objectweb.think.codegen.lang.c.parser.syntaxtree.NodeSequence.accept(NodeSequence.java:34)
        at 
org.objectweb.think.codegen.lang.c.parser.visitor.GJDepthFirst.visit(GJDepthFirst.java:43)
        at 
org.objectweb.think.codegen.lang.c.parser.syntaxtree.NodeOptional.accept(NodeOptional.java:29)
        at 
org.objectweb.think.codegen.lang.c.parser.visitor.CToCodeGenTranslator.visit(CToCodeGenTranslator.
java:2870)
        at 
org.objectweb.think.codegen.lang.c.parser.syntaxtree.CST_InitDeclarator.accept(CST_InitDeclarator.jav
a:30)
        at 
org.objectweb.think.codegen.lang.c.parser.visitor.GJDepthFirst.visit(GJDepthFirst.java:238)
        at 
org.objectweb.think.codegen.lang.c.parser.syntaxtree.CST_InitDeclaratorList.accept(CST_InitDeclarator
List.java:27)
        at 
org.objectweb.think.codegen.lang.c.parser.visitor.GJDepthFirst.visit(GJDepthFirst.java:43)
        at 
org.objectweb.think.codegen.lang.c.parser.syntaxtree.NodeOptional.accept(NodeOptional.java:29)
        at 
org.objectweb.think.codegen.lang.c.parser.visitor.GJDepthFirst.visit(GJDepthFirst.java:132)
        at 
org.objectweb.think.codegen.lang.c.parser.visitor.CToCodeGenTranslator.visit(CToCodeGenTranslator.
java:1118)
        at 
org.objectweb.think.codegen.lang.c.parser.syntaxtree.CST_Declaration.accept(CST_Declaration.java:40
)
        at 
org.objectweb.think.codegen.lang.c.parser.syntaxtree.NodeChoice.accept(NodeChoice.java:24)
        at 
org.objectweb.think.codegen.lang.c.parser.visitor.GJDepthFirst.visit(GJDepthFirst.java:21)
        at 
org.objectweb.think.codegen.lang.c.parser.syntaxtree.NodeList.accept(NodeList.java:33)
        at 
org.objectweb.think.codegen.lang.c.parser.visitor.GJDepthFirst.visit(GJDepthFirst.java:600)
        at 
org.objectweb.think.codegen.lang.c.parser.syntaxtree.CST_StatementList.accept(CST_StatementList.jav
a:24)
        at 
org.objectweb.think.codegen.lang.c.parser.visitor.GJDepthFirst.visit(GJDepthFirst.java:43)
        at 
org.objectweb.think.codegen.lang.c.parser.syntaxtree.NodeOptional.accept(NodeOptional.java:29)
        at 
org.objectweb.think.codegen.lang.c.parser.visitor.GJDepthFirst.visit(GJDepthFirst.java:588)
        at 
org.objectweb.think.codegen.lang.c.parser.visitor.CToCodeGenTranslator.visit(CToCodeGenTranslator.
java:1003)
        at 
org.objectweb.think.codegen.lang.c.parser.syntaxtree.CST_CompoundStatement.accept(CST_Compoun
dStatement.java:36)
        at 
org.objectweb.think.codegen.lang.c.parser.visitor.CToCodeGenTranslator.visit(CToCodeGenTranslator.
java:1619)
        at 
org.objectweb.think.codegen.lang.c.parser.syntaxtree.CST_FunctionDefinition.accept(CST_FunctionDef
inition.java:27)
        at 
org.objectweb.think.codegen.lang.c.parser.syntaxtree.NodeChoice.accept(NodeChoice.java:24)
        at 
org.objectweb.think.codegen.lang.c.parser.visitor.GJDepthFirst.visit(GJDepthFirst.java:84)
        at 
org.objectweb.think.codegen.lang.c.parser.syntaxtree.CST_ExternalDeclaration.accept(CST_ExternalDe
claration.java:24)
        at 
org.objectweb.think.codegen.lang.c.parser.visitor.GJDepthFirst.visit(GJDepthFirst.java:21)
        at 
org.objectweb.think.codegen.lang.c.parser.syntaxtree.NodeList.accept(NodeList.java:33)
        at 
org.objectweb.think.codegen.lang.c.parser.visitor.GJDepthFirst.visit(GJDepthFirst.java:72)
        at 
org.objectweb.think.codegen.lang.c.parser.visitor.CToCodeGenTranslator.visit(CToCodeGenTranslator.
java:2577)
        at 
org.objectweb.think.codegen.lang.c.parser.syntaxtree.CST_TranslationUnit.accept(CST_TranslationUnit
.java:32)
        at 
org.objectweb.think.codegen.lang.c.parser.visitor.CToCodeGenTranslator.parse(CToCodeGenTranslato
r.java:349)
        at org.objectweb.think.codegenex.TestParser.test(TestParser.java:73)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:585)
        at 
org.junit.internal.runners.TestMethodRunner.executeMethodBody(TestMethodRunner.java:99)
        at 
org.junit.internal.runners.TestMethodRunner.runUnprotected(TestMethodRunner.java:81)
        at 
org.junit.internal.runners.BeforeAndAfterRunner.runProtected(BeforeAndAfterRunner.java:34)
        at 
org.junit.internal.runners.TestMethodRunner.runMethod(TestMethodRunner.java:75)
        at 
org.junit.internal.runners.TestMethodRunner.run(TestMethodRunner.java:45)
        at 
org.junit.internal.runners.TestClassMethodsRunner.invokeTestMethod(TestClassMethodsRunner.java:7
1)
        at 
org.junit.internal.runners.TestClassMethodsRunner.run(TestClassMethodsRunner.java:35)
        at 
org.junit.internal.runners.TestClassRunner$1.runUnprotected(TestClassRunner.java:42)
        at 
org.junit.internal.runners.BeforeAndAfterRunner.runProtected(BeforeAndAfterRunner.java:34)
        at 
org.junit.internal.runners.TestClassRunner.run(TestClassRunner.java:52)
        at 
org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:38)
        at 
org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
        at 
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:460)
        at 
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:673)
        at 
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:386)
        at 
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:196)




----------------------------------------------------------------------

Comment By: Julien TOUS (tousjuli)
Date: 2008-02-26 09:41

Message:
Logged In: YES 
user_id=12388

Works fine now !

----------------------------------------------------------------------

You can respond by visiting: 
http://forge.objectweb.org/tracker/?func=detail&atid=350446&aid=308665&group_id=27


<--  Date Index  --> <--  Thread Index  -->

Reply via email to:

Powered by MHonArc.

Copyright © 2006-2007, OW2 Consortium | contact | webmaster.