1
0
Fork 0
mirror of https://github.com/eclipse-cdt/cdt synced 2025-04-23 14:42:11 +02:00

Bug 256205.

This commit is contained in:
Sergey Prigogin 2008-11-23 07:12:54 +00:00
parent a439019e72
commit 2b93059b7e
2 changed files with 18 additions and 13 deletions

View file

@ -237,20 +237,24 @@ public class GCCCompleteParseExtensionsTest extends AST2BaseTest {
parseGPP( writer.toString() ); // TODO Devin raised bug 93980
}
public void testBug75401() throws Exception
{
public void testBug75401() throws Exception {
Writer writer = new StringWriter();
writer.write( "#define va_arg __builtin_va_arg \n"); //$NON-NLS-1$
writer.write( "#define va_list __builtin_va_list \n"); //$NON-NLS-1$
writer.write( "void main( int argc, char** argv ) { \n"); //$NON-NLS-1$
writer.write( "#define va_arg(v,l) __builtin_va_arg(v,l) \n"); //$NON-NLS-1$
writer.write( "#define va_start(v,l) __builtin_va_start(v,l) \n"); //$NON-NLS-1$
writer.write( "#define va_end(v) __builtin_va_end(v) \n"); //$NON-NLS-1$
writer.write( "void variadic(int first, ...) { \n"); //$NON-NLS-1$
writer.write( " va_list v; \n"); //$NON-NLS-1$
writer.write( " long l = va_arg( v, long ); \n"); //$NON-NLS-1$
writer.write( " va_start(v, first); \n"); //$NON-NLS-1$
writer.write( " long l = va_arg(v, long); \n"); //$NON-NLS-1$
writer.write( " va_end(v); \n"); //$NON-NLS-1$
writer.write( "} \n"); //$NON-NLS-1$
parseGCC( writer.toString() );
parseGCC(writer.toString());
parseGPP(writer.toString());
}
public void testBug73954B() throws Exception{
public void testBug73954B() throws Exception {
Writer writer = new StringWriter();
writer.write( "#define foo(x) \\\n"); //$NON-NLS-1$
writer.write( " __builtin_choose_expr( 1, foo_d(x), (void)0 ) \n"); //$NON-NLS-1$

View file

@ -75,7 +75,8 @@ public class CPPTemplateTemplateParameter extends CPPTemplateParameter implement
ICPPTemplateParameter p = null;
ICPPTemplateParameter[] result = null;
for (ICPPASTTemplateParameter param : params) {
p= (ICPPTemplateParameter) CPPTemplates.getTemplateParameterName(param).resolveBinding();
IBinding binding = CPPTemplates.getTemplateParameterName(param).resolveBinding();
p= (ICPPTemplateParameter) binding;
if (p != null) {
result = (ICPPTemplateParameter[]) ArrayUtil.append(ICPPTemplateParameter.class, result, p);
}