This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

C preprocessor in assembly

IDE:           ARM DS-5 (v5.15.0)

Platform:    Cortex R4

Hi,

I am interested to use C pre-processor in assembly file but i am facing the attached issue. According to arm documentation

Using the C preprocessorFlag.png

I set the flag --cpreproc and --cpreproc_opts but getting following issue:


Error: C3472E: No source language specified (--cpp or --c90) and sourcefile extensions conflict

Fatal error: A1905U: Pre-processor step failed for '../xx_xxxxxx_xxxxx_restore.s'

1 Error, 0 Warnings

make: *** [xx_xxxxxx_xxxxx_restore.o] Error 8

Error.png
I really appreciate your suggestions.

Thanks.

Parents
  • Hi asi,

    I'm not getting the same error as you.  I tried

    ARM Assembler, 5.03 [Build 102]
    and

    ARM Assembler, 5.03 [Build 24]
    (I don't have a copy of Build 76, so I can't duplicate your environment exactly).

    I'll take a guess at a solution, but I can't guarantee it'll work: since assembly is failing with a C preprocessor error (the "C" in "C3472E" is for "Compiler, and the "E" is for "Error") saying that it can't decide between C90 and C++, you could specify which to use explicitly in your preprocessor options.

    So instead of "--cpreproc_opts='-DTHREAD_PROFILING_ENABLED'," try "--cpreproc_opts='--c90 -DTHREAD_PROFILING_ENABLED'," which I would expect to get you past the 3472 error.

Reply
  • Hi asi,

    I'm not getting the same error as you.  I tried

    ARM Assembler, 5.03 [Build 102]
    and

    ARM Assembler, 5.03 [Build 24]
    (I don't have a copy of Build 76, so I can't duplicate your environment exactly).

    I'll take a guess at a solution, but I can't guarantee it'll work: since assembly is failing with a C preprocessor error (the "C" in "C3472E" is for "Compiler, and the "E" is for "Error") saying that it can't decide between C90 and C++, you could specify which to use explicitly in your preprocessor options.

    So instead of "--cpreproc_opts='-DTHREAD_PROFILING_ENABLED'," try "--cpreproc_opts='--c90 -DTHREAD_PROFILING_ENABLED'," which I would expect to get you past the 3472 error.

Children