News for hackers. Stuff that matters.
Re:Why Const Doesn't Make C Code Faster by gpderetta on Tuesday August 20, 2019 @05:59AM (#20745207)
Not if it is defined in another translation unit and you are not using LTO.
Re:Why Const Doesn't Make C Code Faster by fluffything on Tuesday August 20, 2019 @07:46AM (#20745783)
In other words, the compiler can infer this from the function definition (or at least clang does), but it cannot infer this from a function declaration, because the implementation is missing - unless you are using LTO like the parent mentions.
Re:Why Const Doesn't Make C Code Faster by dmitrygr on Tuesday August 20, 2019 @04:35PM (#20751793)
sometimes it cannot infer it even from function, for example, here is a function that in my particular OS gets me a pointer to my library's globals. To my code the returned pointer never changes, but the compiler has NO way to tell this function is const without my annotation

  void* __attribute__((const)) getGlobals(void) {
    void* ret;

    asm (
      " ldr %0, [r9]      \n"
      " ldr %0, [%0, %1]  \n"
      : "=r"(ret)
      : "I"(MY_MODULE_ID)
      :
    );
    return ret;
  }
Re:Why Const Doesn't Make C Code Faster by gpderetta on Tuesday August 20, 2019 @10:18PM (#20754068)
Good point.