Skip to content

Commit 78a86a6

Browse files
committed
plusplus: fix compatibility with OW 1.9 compiler
1 parent b15bd24 commit 78a86a6

File tree

1 file changed

+32
-39
lines changed

1 file changed

+32
-39
lines changed

bld/plusplus/c/cmac1.c

Lines changed: 32 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -295,6 +295,7 @@ TOKEN SpecialMacro( // EXECUTE A SPECIAL MACRO
295295
{
296296
const char *p;
297297
SYMBOL sym;
298+
long cxxvalue;
298299

299300
switch( mentry->parm_count ) {
300301
case MACRO_LINE:
@@ -335,46 +336,38 @@ TOKEN SpecialMacro( // EXECUTE A SPECIAL MACRO
335336
return( T_STRING );
336337
case MACRO_CPLUSPLUS:
337338
TokenLen = 0;
338-
339-
long cxxvalue = 0;
340339
switch( CompVars.cxxstd ) {
341-
default:
342-
case STD_CXXPRE98:
343-
cxxvalue = 1;
344-
WriteBufferString( "1" );
345-
break;
346-
347-
case STD_CXX98:
348-
case STD_CXX03:
349-
/* c++98 and c++03 use the same value */
350-
cxxvalue = 199711;
351-
WriteBufferString( "199711L" );
352-
break;
353-
354-
case STD_CXX11:
355-
cxxvalue = 201103;
356-
WriteBufferString( "201103L" );
357-
break;
358-
359-
case STD_CXX14:
360-
cxxvalue = 201402;
361-
WriteBufferString( "201402L" );
362-
break;
363-
364-
case STD_CXX17:
365-
cxxvalue = 201703;
366-
WriteBufferString( "201703L" );
367-
break;
368-
369-
case STD_CXX20:
370-
cxxvalue = 202002;
371-
WriteBufferString( "202002L" );
372-
break;
373-
374-
case STD_CXX23:
375-
cxxvalue = 202302;
376-
WriteBufferString( "202302L" );
377-
break;
340+
default:
341+
case STD_CXXPRE98:
342+
cxxvalue = 1;
343+
WriteBufferString( "1" );
344+
break;
345+
case STD_CXX98:
346+
case STD_CXX03:
347+
/* c++98 and c++03 use the same value */
348+
cxxvalue = 199711;
349+
WriteBufferString( "199711L" );
350+
break;
351+
case STD_CXX11:
352+
cxxvalue = 201103;
353+
WriteBufferString( "201103L" );
354+
break;
355+
case STD_CXX14:
356+
cxxvalue = 201402;
357+
WriteBufferString( "201402L" );
358+
break;
359+
case STD_CXX17:
360+
cxxvalue = 201703;
361+
WriteBufferString( "201703L" );
362+
break;
363+
case STD_CXX20:
364+
cxxvalue = 202002;
365+
WriteBufferString( "202002L" );
366+
break;
367+
case STD_CXX23:
368+
cxxvalue = 202302;
369+
WriteBufferString( "202302L" );
370+
break;
378371
}
379372
U32ToU64( cxxvalue, &Constant64 );
380373
ConstType = TYP_SINT;

0 commit comments

Comments
 (0)