DavidKreitzer added a comment.

The example Aaron sent in email is a good one:

  void func(int, int, int, int) __attribute__((no_caller_saved_registers, 
cdecl));
  
  int main() {
    void (*fp)(int, int, int, int) __attribute__((cdecl)) = func;
    func(1, 2, 3, 4);
    fp(1, 2, 3, 4); // Not the same as the above call to func()?
  }

Clang should at least be giving a warning for this just like it does if you try 
to mix cdecl and stdcall on IA-32 or if you mix regparm(2) and regparm(3).

The current patch silently accepts the mismatch.


https://reviews.llvm.org/D22045



_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to